前端網(wǎng)站開發(fā)總結(jié)報告怎么寫,前端開發(fā)的難點到底在什么地方?
你要問前端開發(fā)難不難,我就得說計算機領(lǐng)域里常說的一句話,這句話就是『難的不會,會的不難』,對于不熟悉某領(lǐng)域技術(shù)的人來說,因為不了解所以產(chǎn)生神秘感,神秘感就會讓人感覺很難,也就是『難的不會』;當(dāng)學(xué)會這項技術(shù)之后,知道什么什么技術(shù)能做到什么做不到,只是做起來花多少時間的問題而已,沒啥難的,所以就是『會的不難』。
但是,對于前端開發(fā)這個方向,即使『會了』……依然感覺很難,唉,說多了都是淚呀,我用三個親身經(jīng)歷的怪現(xiàn)象來說明吧。
第一個怪現(xiàn)象:誰都可以指手畫腳的前端開發(fā)
我職業(yè)生涯很長一段時間都在做前端開發(fā),我也做過后端開發(fā),兩者一對比,給我影響最深的不是技術(shù)差異,而是——前端開發(fā)者聽到的『需求修改意見』要比后端多得多。
后端這東西,畢竟是藏在后面的,外行不懂就是不懂,裝不出來,他們也不好自取其辱亂比劃,但是,前端嘛……誰都能看得見,沒吃過豬肉還沒見過豬跑,所以,誰都可以指手畫腳提一點意見。
只看得見界面的產(chǎn)品經(jīng)理可以提一些意見。
項目經(jīng)理可以有一些意見。
啥也不懂的老板也可以提一些意見。
甚至連后端都可以來提一些意見。
……
正因為前端的產(chǎn)出是看得見摸得著的,所以造成了誰都可以『提一些意見』的現(xiàn)象。
前端開發(fā)最大的痛啊!
第二個怪現(xiàn)象:被鄙視但又十分搶手的前端
前端開發(fā)者,你懂的,居于開發(fā)者鄙視鏈的低端,業(yè)務(wù)邏輯大多都居于后端,超大并發(fā)量是后端實現(xiàn)的,超牛逼的AI、大數(shù)據(jù)分析、商業(yè)邏輯都在后端,前端要做的只是一個功能展示,所以,后端開發(fā)普遍看不上前端開發(fā)的工作,直到……到了公司舉辦黑客馬拉松活動的時候。
黑客馬拉松,就是讓程序員自行結(jié)隊,在幾天之內(nèi)快速開發(fā)出來一個小型項目,到活動結(jié)束的時候,每個隊要演示自己的產(chǎn)品,于是,問題來了,平時你可以鄙視前端開發(fā)者,你可以把前端開發(fā)貶得一文不值,但是,到了黑客馬拉松的時候,才知道前端開發(fā)的必不可少,因為沒有前端你無法『演示』你的想法。
這時候,后端開發(fā)者也會發(fā)現(xiàn),平時覺得前端開發(fā)很簡單,但是自己寫一個最簡單的AJAX form表單提交也要學(xué)半天,不管你的后端想法多么牛,如果最后沒有熟練的前端開發(fā)者,最后到了演示環(huán)節(jié)也要抓瞎。
所以,每到黑客馬拉松時,平時居于鄙視鏈最低端的前端開發(fā)者,突然就變成了最炙手可熱的紅人。
誰都覺得前端開發(fā)不重要,但是又離不開前端開發(fā)。
是不是很諷刺?
第三個怪現(xiàn)象:苦不堪言的多端開發(fā)
一個正經(jīng)的產(chǎn)品,為了滿足用戶不同設(shè)備上使用的要求,需要提供多客戶端,最起碼要有網(wǎng)頁端、iOS端和安卓端,現(xiàn)在大部分產(chǎn)品還要考慮小程序端,這還沒算iOS要分iPhone和iPad,安卓也要考慮手機和平板,甚至要考慮機頂盒設(shè)備的界面……
各種設(shè)備、各種安卓版本、各種瀏覽器都有各自的特(bu)點(g),每個前端開發(fā)者都有體會,很多精力都消耗在處理某個特定平臺/版本/瀏覽器的bug上,唉,說到這里真想流淚……
因為要支持這么多不同的客戶端,一個產(chǎn)品的前端開發(fā)者種類也不止一個,要有網(wǎng)頁開發(fā)者、iOS開發(fā)者和安卓開發(fā)者,大一點的項目,靠一個人支撐一種客戶端就不行了,需要的是網(wǎng)頁開發(fā)團隊、iOS開發(fā)團隊和安卓開發(fā)團隊。
其實,不同客戶端實現(xiàn)的都是同一種功能,完全是因為這個世界存在這么多種客戶端,所以我們才被迫為各個客戶端寫一套代碼。
雖然多端的存在,增加了不少程序員的就業(yè)機會,但是,干過實際項目的都知道,這其實很麻煩,很麻煩很麻煩!為了給用戶最好的體驗,肯定希望各端提供一致的功能界面,如果有新功能,要上一起發(fā)布上線,但是,不同團隊之間開發(fā)周期肯定不同,很難保證同時完成任務(wù),最后,花費開發(fā)時間最長的那一端的開發(fā)團隊就成為整個產(chǎn)品的短板。
每每想到這里,就緬懷秦始皇,秦始皇你要是不光把度量衡統(tǒng)一,把所有客戶端也統(tǒng)一了多好:-)
前端開發(fā)難在哪里?好了,看完上面這三種行業(yè)怪現(xiàn)象,不難看出,前端開發(fā)很真的很有難度,我這里只列出最關(guān)鍵的三點:
第一,當(dāng)需求發(fā)生變化的時候,第一線中槍的往往就是前端,而且很多需求變化和后端無關(guān),單純就是前端的改變。這些需求改變有的是不合理的瞎折騰,但是,客觀來說,也有不少是有必要的需求改變,應(yīng)該用戶是上帝,用戶的喜好會變化,用戶的喜好我們也要反復(fù)揣摩,必須要伺候好用戶,也就是要適應(yīng)需求變化,所以,難點就成了——如何讓前端開發(fā)適應(yīng)快速變化的需求?
第二,平臺、瀏覽器生態(tài)復(fù)雜,要考慮的場景太多,不同平臺上實現(xiàn)同一界面功能的重復(fù)勞動嚴(yán)重,這個難點在于——如何消除前端開發(fā)的重復(fù)勞動?
第三,前端的學(xué)習(xí)曲線其實挺陡,很多后端開發(fā)者以為前端只是玩一玩HTML,到了自己上手的時候發(fā)現(xiàn)其實要學(xué)很多,下面只是一個簡化了的網(wǎng)頁前端學(xué)習(xí)路線圖。
上面這么多知識點學(xué)會,只能算入門,更不要說:
如果要做到高性能,要考慮CDN優(yōu)化、JavaScript Profiling、打包策略……如果要做到安全,要防止注入攻擊,要防止XSS攻擊,要防止CSRF攻擊……這說的還只是網(wǎng)頁前端,沒說安卓和iOS開發(fā)、小程序開發(fā),如果把這些都帶上,需要學(xué)習(xí)的知識量又要翻倍。
而且,前端也不是說讀幾本書就可以上手做真實項目的,如果沒有對這個領(lǐng)域長時間的浸淫,做出來的東西很可能就是漏洞百出,這個難點就是——如何讓前端學(xué)習(xí)曲線變得不陡?
總結(jié)一下:
如何讓前端開發(fā)適應(yīng)快速變化的需求?如何消除前端開發(fā)的重復(fù)勞動?如何讓前端學(xué)習(xí)曲線變得不陡?長期以來,雖然無數(shù)仁人志士想要解決這些問題,也取得了一些成果,但是,前端是個被普遍低估了難度的開發(fā)活動!
前端開發(fā)的出路在何方?請注意,我現(xiàn)在說『前端開發(fā)的出路在何方』,并不只是要解決『前端開發(fā)工程師35歲之后怎么找工作』的問題,我想說的是整個行業(yè)如何定位前端開發(fā)的問題,或者說開發(fā)團隊整體應(yīng)該怎么解決前面說過的前端開發(fā)困難的問題,反過來,如果我們認(rèn)清了整個行業(yè)對于前端開發(fā)的定位,你作為前端開發(fā)工程師也就清楚35歲之后如何找到合適的工作。
在我看來,問題的關(guān)鍵點就是——現(xiàn)在很多前端開發(fā)的工作都是在重復(fù)勞動。
難道不是嗎?
你去問一個網(wǎng)頁前端開發(fā)工程師,他們在前一個項目里做的功能,和后一個項目里做得功能,本質(zhì)有多大區(qū)別?
你去讓一個網(wǎng)頁工程師、安卓工程師和iOS工程師一起討論一下實現(xiàn)的功能,難道差不多就是一樣的,只不過用不同語言、部署在不同的平臺嗎?
你去問一下這個公司的前端,再去問一下另一個公司的前端,他們要考慮的性能、安全性問題,解決方法難道不都是很雷同嗎?
我不敢說所有前端開發(fā)工作都是重復(fù)勞動,對于一些極具開創(chuàng)新的界面和功能,是開拓一片新的天地,需要前端開發(fā)工程師開發(fā)全新的應(yīng)用,但是,讓我們承認(rèn)吧,對于大部分應(yīng)用,尤其是對于一些工具類應(yīng)用,歷史上已經(jīng)被開發(fā)過無數(shù)回了,實在沒有必要再重復(fù)造輪子了。
只是,每一個應(yīng)用的開發(fā)團隊,都很容易以為,自己的應(yīng)用是『獨一無二』的,這種想法也可以理解,畢竟,世界上每一個應(yīng)用都有自己的獨特一面,但是,這不表示所有的工作都應(yīng)該從零開始。
這個行業(yè)已經(jīng)這么成熟了,應(yīng)該有一種盡量通用的框架來抽象可重復(fù)使用的功能,從而避免重復(fù)勞動,避免了重復(fù)勞動,也就解決了前端開發(fā)的最大難題。
像React、Vue和Angular這樣的前端框架,就是一種程度上的抽象,也很通用,但我認(rèn)為并非是前面結(jié)論中指向的最佳答案,事實上,行業(yè)發(fā)展多年,也不乏很多平臺在為了前端開發(fā)的輕量化、功能模塊化而不懈努力著,最近看到APICloud發(fā)布了一些新的前端能力,也驗證了我前面說的觀點。
了解APICloud新產(chǎn)品特性
低代碼+高性能移動開發(fā)低代碼雖然早在海外應(yīng)用多年,但直到這兩年才逐漸被國內(nèi)所關(guān)注,其倡導(dǎo)代碼復(fù)用,以及通過模型或翻譯引擎自動生成大量代碼,這些都是很好解決前端開發(fā)重復(fù)性工作和高效迭代的方向;我對于APICloud的認(rèn)可,也是建立在他們原有的跨平臺開發(fā)技術(shù)上進而實現(xiàn)了向低代碼開發(fā)平臺的轉(zhuǎn)變。
這次APICloud的產(chǎn)品迭代方向再次指向了前端,當(dāng)然,我們都知道,現(xiàn)實中的開發(fā),不可能一步跨入共產(chǎn)主義,歷史上拖泥帶水的代碼依然存在,開發(fā)人員也不大可能一下子換到另一種語言,這一點在AVM這個框架上得到了解決,同時支持React和Vue,無論來自于什么開發(fā)框架背景,都可以在APICloud上快速上手。
上文我也說到,前端開發(fā)最大的痛苦,就是多端支持,這一點在APICloud新發(fā)布的產(chǎn)品上得到進一步補充,一套代碼開發(fā),自動生成適合安卓、iOS、微信小程序、HTML5的引用,所有跨平臺瀏覽器的問題得到解決,當(dāng)然,市面上很多技術(shù)都在吹噓類似的『多端支持框架』,但依然要寫很多很多代碼,這一點可以參考APICloud的做法,就是在功能層實現(xiàn)最大的復(fù)用, 其實一款應(yīng)用中的功能大部分已經(jīng)由成熟的云廠商提供了,比如你寫個應(yīng)用,最常用的IM、支付、統(tǒng)計、地圖等等,但我們集成到自己的應(yīng)用中還需要編寫代碼的工作量,這點APICloud則通過統(tǒng)一的標(biāo)準(zhǔn),封裝到自己的平臺,開發(fā)者一鍵集成確實省了不少的事,不用苦逼地重復(fù)寫fetch了!
其實現(xiàn)在所有的云服務(wù)都有一個趨勢,那就是簡單易用化,原因也很簡單,既然是『云服務(wù)』了,意味著可以很快用上,也可以很容易換另一家『云服務(wù)』,如果某個云服務(wù)的學(xué)習(xí)曲線很陡,那么很快就會讓用戶流失,因為用戶會選擇其他服務(wù),從這一點上來說,可以相信APICloud這樣的低代碼開發(fā)平臺學(xué)習(xí)曲線相對更加平緩。
我更認(rèn)可APICloud的方面,是APICloud不只是一個框架,還提供SDK支持,官方的開發(fā)工具SDK就包含APICloud Studio、Sublime APICloud Plugins、WebStormAPICloud Plugins,你可以選擇用官方Studio,并且新版本基于VSCode定制了,也可以使用Sublime或者WebStorm這樣已經(jīng)用慣了的IDE插件來開發(fā)。
最后來說說,什么人會喜歡APICloud。
從應(yīng)用開發(fā)的角度(也就是從管錢管資源的領(lǐng)導(dǎo)角度),APICloud這樣的低代碼開發(fā)平臺模式,能夠真正解決前端開發(fā)的三個大痛苦;但是,從前端開發(fā)者角度(也就是出勞力拿工資的打工仔角度),是不是感覺到了一絲絲威脅,如果像APICloud這樣進一步將前端開發(fā)者的工作量簡化,那么豈不是前端開發(fā)者都要丟掉工作了?
非也非也!
首先,低代碼平臺不是無代碼平臺,該寫的還是要寫,前端開發(fā)這個工種并不會消失,只是工作方式和內(nèi)容發(fā)生了變化。
而且,大家要以清醒認(rèn)識到,幾十年前根本沒有程序員這個職位,更不要說前端開發(fā)職位,同樣,再過幾十年,有一些職業(yè)也會消亡或者改變,與其哀嚎世界變化快,還不如主動擁抱變化,APICloud主導(dǎo)的這種高性能移動開發(fā)+低代碼開發(fā)的模式,是一種趨勢,既然改變不了,還不如主動接受。
不光是接受代碼開發(fā)的方式,以及這些平臺所提供的商業(yè)眾包資源也在成為很多平臺用戶獲得額外收入的一個主要來源。
如果不想一直996,或者不想35歲之后找不到工作,好好考慮一下吧:-)
前端該怎么找實習(xí)?
Web前端開發(fā)在近些年得到了廣泛的重視,崗位職責(zé)的邊界也在不斷拓展,隨著移動互聯(lián)網(wǎng)的持續(xù)發(fā)展,未來Web前端開發(fā)的前景還是非常廣闊的。
對于Web前端的實習(xí)生來說,一方面要豐富自己的知識結(jié)構(gòu),另一方面也要加強動手能力的培養(yǎng)。目前Web前端的崗位職責(zé)有了較大的擴展,尤其是移動端的開發(fā)知識(包括各種小程序)是一個學(xué)習(xí)的重點,另外還需要掌握一定的后端開發(fā)知識,因為目前前端開發(fā)后端化的趨勢比較明顯(Nodejs)。
Web前端開發(fā)的工作崗位可以通過以下幾個渠道來尋找:
第一:實習(xí)公司。不少程序員會就業(yè)到實習(xí)公司,由于在實習(xí)的過程中對崗位的工作職責(zé)已經(jīng)有了一定的了解,所以未來在工作過程中也會比較順利。不少公司也愿意接收有過實習(xí)經(jīng)歷的前端開發(fā)人員,這樣會節(jié)省培養(yǎng)時間。
第二:通過線上招聘渠道?,F(xiàn)在大部分科技公司都會通過線上渠道進行人員招聘,在招聘信息中會明確一些具體的技能要求,可以根據(jù)自身的實際情況投遞簡歷。目前整個IT行業(yè)對于前端開發(fā)人才的需求量還是比較大的,所以找一份前端開發(fā)工作并不困難。
第三:內(nèi)部推薦。內(nèi)部推薦是科技公司經(jīng)常采用的招聘方式,內(nèi)部推薦的成功率還是比較高的,可以通過已經(jīng)就業(yè)的同學(xué)完成推薦。另外,專業(yè)課老師往往都具備一定的行業(yè)人脈資源,請老師幫忙推薦也是一個不錯的選擇。
第四:線下招聘會。雖然線上招聘已經(jīng)比較普遍了,但是線下招聘會依然是一個有效的就業(yè)渠道。各大高校每年都會舉辦一些線下的招聘會,有的院系還會舉辦針對性比較強的招聘專場,參加這些線下招聘會也會增加自己的就業(yè)機會。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計算機專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)在頭條寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)方面的問題,也可以咨詢我,謝謝!
年終總結(jié)報告怎么寫?
光陰似箭,時間如梭。轉(zhuǎn)眼間上班已經(jīng)一年多了,回首過去的一年,內(nèi)心不禁萬千。在各位領(lǐng)導(dǎo)的幫助帶領(lǐng)下,以及和同事的共同奮斗,和經(jīng)過了自己的積極努力,我順利地做好自己的工作,這也算經(jīng)歷了一段不平凡的考驗和磨礪。非常感謝公司給我這個成長的平臺,令我在工作中不斷的學(xué)習(xí),不斷的進步,慢慢的提升自身的素質(zhì)與才能。以下就是我今年的工作總結(jié)。
一.工作態(tài)度、思想工作。我熱衷于本職工作,嚴(yán)以律己,遵守各項廠規(guī)制度,嚴(yán)格要求自己,擺正工作位置,時刻保持“謙虛、謹(jǐn)慎、律己”工作態(tài)度,在領(lǐng)導(dǎo)關(guān)心培養(yǎng)和同事們幫助下,始終勤奮學(xué)習(xí),積極進取,努力提高自我,始終勤奮工作,認(rèn)真完成任務(wù),履行好崗位職責(zé),堅持理想,堅定信念,不斷加強學(xué)習(xí),牢固自己工作技術(shù)!
二.設(shè)備操作,工作領(lǐng)悟。每一個好的員工都應(yīng)對自己的工作認(rèn)識清晰,熟悉和熟練自己的工作。 勤勤懇懇、盡職盡責(zé)、踏踏實實的?的本職工作。反應(yīng)簡單,操作同樣需要嚴(yán)謹(jǐn)細(xì)致,這要求我要對設(shè)備及操作過程情況熟悉與理解,還應(yīng)有較強的理論知識。不但要有對機器工作操作的了解,也要有對發(fā)生故障的應(yīng)變能力,完成領(lǐng)導(dǎo)給予的各項任務(wù)。但由于自己的能力有限,不能做到一絲不差,所以自己在工作過程中也有許多不足和缺點,對機器的原理和工作技巧還稍欠缺,但這些會讓我更加努力的工作,謙虛謹(jǐn)慎的向別人學(xué)習(xí),盡可能提高自己的工作能力,使自己在自己的崗位上發(fā)揮到最大的作用,更快更效率的完成自己的本職工作,和其他同事的人際關(guān)系也很重要,因為一個人的能力有限,每件事的成功都是靠集體的智慧,所以和同事們團結(jié)在一起才是成功完成領(lǐng)導(dǎo)交給的工作任務(wù)的前提,這一點不僅僅事工作,平時的生活中也事如此,所以團結(jié)其他同事不僅是個人的事也是一種工作的義務(wù)!
三.回顧過去,展望未來。對于過去得與失,我會吸取有利因素強化自己工作能力,把不利因素在自己以后工作中排除,一年工作讓我在成為一名合格職工道路上不斷前進,我相信通過我努力和同事合作,以及領(lǐng)導(dǎo)們指導(dǎo),我會成為一名優(yōu)秀員工,充分發(fā)揮我個人能力。也感謝領(lǐng)導(dǎo)給我這一個合適工作位置,讓我能為公司做出自己該有貢獻。一年來我做得雖然還不夠最好,但我相信在今后工作中,我還會繼續(xù)不斷努力下去,我相信,只要我在崗位上一天,我就會做出自己最大努力,將自己所有精力和能力用在工作上,相信自己一定能夠做好!