很多前端工程師會(huì)把自己比作“魔法師”屁商,而對(duì)于JavaScript這門語(yǔ)言榨崩,我也想把它喚作一門“有魔力的語(yǔ)言”。因?yàn)檫@群有無(wú)限想法的人竖伯,真的在用它創(chuàng)造各種讓你驚嘆的事物存哲。
一、前言
幾年前七婴,筆者還是一名初涉編程的學(xué)生祟偷,對(duì)于開發(fā)的各個(gè)領(lǐng)域都倍感新奇。曾經(jīng)在知乎一個(gè)編程相關(guān)的問(wèn)題下打厘,看到一個(gè)關(guān)于各個(gè)領(lǐng)域的詼諧論調(diào)修肠,談到前端,他概括為:“前端簡(jiǎn)單來(lái)說(shuō)就是畫網(wǎng)頁(yè)”户盯。笑談過(guò)后嵌施,筆者也不經(jīng)意間留下了前端很簡(jiǎn)單、比較低端的印象莽鸭。
后來(lái)有了幾年的移動(dòng)端開發(fā)經(jīng)歷吗伤,后端也有一些實(shí)踐。在最近的一份工作經(jīng)歷中硫眨,開始逐漸了解了一直未曾涉足的前端領(lǐng)域足淆。這段經(jīng)歷切實(shí)地印證了“無(wú)知者無(wú)畏”這句話,因?yàn)槲抑饾u發(fā)現(xiàn)了前端的魅力所在,甚至被她所吸引缸浦。
這篇文字我分類在了隨筆中夕冲,嚴(yán)格來(lái)說(shuō)它不算一篇技術(shù)文章,寫下來(lái)的目的是想記錄一番自己的感悟裂逐,也希望和各位前端的前輩以及曾經(jīng)和我有一樣想法的同學(xué)多多交流歹鱼。
二、移動(dòng)端的開始卜高。
大學(xué)的時(shí)候弥姻,學(xué)院科創(chuàng)基地在項(xiàng)目領(lǐng)域的實(shí)踐順序便是先從前端開始入門,完成一個(gè)網(wǎng)頁(yè)項(xiàng)目之后掺涛,開始自由選擇后端庭敦、移動(dòng)端,或者繼續(xù)深耕前端薪缆。那時(shí)對(duì)前端有了最初的印象:通過(guò)編程創(chuàng)造一個(gè)網(wǎng)頁(yè)秧廉。它的容易入門,讓最初的我覺(jué)得這個(gè)領(lǐng)域不過(guò)如此拣帽。各種培訓(xùn)機(jī)構(gòu)對(duì)于前端教學(xué)的猛烈勢(shì)頭疼电,也造就了我對(duì)于這個(gè)技術(shù)方向“低端”的誤解。所以轉(zhuǎn)而開始 iOS 開發(fā)的學(xué)習(xí)减拭。
轉(zhuǎn)眼幾年過(guò)去蔽豺,在移動(dòng)端學(xué)習(xí)的過(guò)程中,也在不斷地了解著其他領(lǐng)域拧粪。由于移動(dòng)端對(duì)后端的依賴修陡,自己也開始了后端開發(fā)的實(shí)踐,對(duì)幾種后端語(yǔ)言都有了嘗試可霎。但是一直以來(lái)魄鸦,對(duì)于前端都只是停留在能夠簡(jiǎn)單地寫一些 HTML,粗略地讀懂前端的代碼啥纸。而對(duì)于它的理解号杏,更是和最初無(wú)異。
三斯棒、大前端的工作經(jīng)歷
前段時(shí)間開始了在某數(shù)十人大前端團(tuán)隊(duì)工作的經(jīng)歷盾致,崗位 iOS 開發(fā),團(tuán)隊(duì)中移動(dòng)端工程師負(fù)責(zé)ReactNative荣暮、Hybrid等項(xiàng)目的 Native 部分庭惜。由于工作需要,開始了JavaScript的學(xué)習(xí)穗酥。曾經(jīng)對(duì)這門語(yǔ)言的認(rèn)識(shí)是“操作DOM护赊,從而實(shí)現(xiàn)網(wǎng)頁(yè)中UI惠遏、數(shù)據(jù)等的動(dòng)態(tài)部分”。
團(tuán)隊(duì)中前端工程師的工作內(nèi)容骏啰,也和我印象中的大大不同节吮。他們會(huì)進(jìn)行React框架的本地化改進(jìn),會(huì)為ReactNative添加更豐富的功能判耕,他們更會(huì)創(chuàng)造一個(gè)個(gè)有想法的產(chǎn)品透绩,比如根據(jù)注釋自動(dòng)生成標(biāo)準(zhǔn)化文檔的工具、協(xié)作管理和測(cè)試API的平臺(tái)等等壁熄,我印象中網(wǎng)頁(yè)的畫師竟然也可以是各種富有創(chuàng)意和實(shí)用性的產(chǎn)品的創(chuàng)造者帚豪。這讓我開始重新認(rèn)識(shí)前端這個(gè)領(lǐng)域。
四草丧、對(duì)前端的重新認(rèn)識(shí)
隨著了解的加深狸臣,我開始接觸到更多開拓了眼界的前端項(xiàng)目,也對(duì)前端工程師有了全新的理解昌执。
-
永遠(yuǎn)不熄滅一統(tǒng)三端的雄心
由于任何平臺(tái)都必備 Web 運(yùn)行環(huán)境烛亦,造就了“每當(dāng)一個(gè)新的平臺(tái)出現(xiàn),都是前端工程師的新舞臺(tái)”的局面懂拾。
個(gè)人電腦普及之后此洲,由于 Windows 和 Mac OS 操作系統(tǒng)都有各自的市場(chǎng),每當(dāng)一款軟件推出委粉,開發(fā)人員都必須為兩個(gè)平臺(tái)分別使用不同的語(yǔ)言編寫不同的桌面客戶端。這個(gè)時(shí)候前端工程師開始站了出來(lái)娶桦,他們創(chuàng)造了Electron贾节,想要用Web三件套來(lái)構(gòu)建跨平臺(tái)的桌面客戶端。
在智能手機(jī)風(fēng)靡的今天衷畦,他們又創(chuàng)造出了PhoneGap栗涂,想要用Web三件套來(lái)開發(fā)跨平臺(tái)的移動(dòng)應(yīng)用程序。他們創(chuàng)造了Weex祈争,甚至想用一套Web代碼構(gòu)建各移動(dòng)平臺(tái)的原生應(yīng)用程序斤程。他們還創(chuàng)造了ReactNative,想要用Web代碼編寫各平臺(tái)的原生應(yīng)用程序。
他們?yōu)榱诉@個(gè)宏偉的目標(biāo)不斷嘗試菩混,而桌面客戶端或移動(dòng)端工程師則在不停地追隨他們的工作忿墅。(哭
-
百家爭(zhēng)鳴的開發(fā)框架
對(duì)于各種設(shè)計(jì)模式,前端工程師們總是沖在前面進(jìn)行嘗試沮峡,各種前端開發(fā)框架也就層出不窮疚脐。React、Angular邢疙、Vue棍弄,雖然彼此之間競(jìng)爭(zhēng)激烈望薄,但無(wú)疑他們都各有所長(zhǎng),也深刻改變了前端開發(fā)的方式呼畸『壑В可以說(shuō),對(duì)于前端工程師蛮原,“與時(shí)俱進(jìn)”是最基本的要求卧须,因?yàn)檫@群人總在不停地創(chuàng)造新東西。
-
后端瞬痘?我也可以
誰(shuí)說(shuō)前端真的就永遠(yuǎn)停留在前端故慈?node.js告訴我們前端工程師也可以進(jìn)行后端開發(fā)。而且由于 JavaScript 的語(yǔ)言框全、以及對(duì)應(yīng)引擎的特點(diǎn)察绷,node架構(gòu)的項(xiàng)目在某些場(chǎng)景下還有著優(yōu)秀的表現(xiàn)。
-
在各種場(chǎng)景中進(jìn)行創(chuàng)造
由于前端項(xiàng)目在各種平臺(tái)中的通行津辩,以及瀏覽器在個(gè)人電腦中的使用方便性拆撼,前端工程師創(chuàng)造了各種可以方便我們生活的產(chǎn)品〈兀可以說(shuō)闸度,很多前端工程師是具有優(yōu)秀產(chǎn)品經(jīng)理的想法的。
筆者使用的博客框架Hexo以及同樣非常優(yōu)秀的Ghost蚜印,可以非常方便地進(jìn)行個(gè)人博客網(wǎng)頁(yè)的自動(dòng)化生成莺禁。
其他的各種JavaScript項(xiàng)目,筆者不一一列舉了窄赋,總之你會(huì)發(fā)現(xiàn)自己在不斷地發(fā)問(wèn)哟冬,“它竟然可以做到這個(gè)?”
-
無(wú)所不能的JavaScript
很多前端工程師會(huì)把自己稱作魔法師忆绰,因?yàn)樗鼈儠?huì)創(chuàng)造出各種神奇的項(xiàng)目浩峡,滿足各種切實(shí)的需求。這一切都是因?yàn)樗鼈冇?JavaScript 這個(gè)有魔力的武器错敢。在 Github 語(yǔ)言排行榜中中雄踞第一翰灾,那么多人都在使用它做著各種有趣的事情。又或者說(shuō)是腳本語(yǔ)言的“無(wú)所不能”稚茅,另一個(gè)出色的腳本語(yǔ)言 Python纸淮,也同樣在做著各種神奇的事情。
五峰锁、筆者的最終感悟
自己的職業(yè)規(guī)劃一直都是成為一個(gè)全棧工程師萎馅,進(jìn)而成為一個(gè)懂技術(shù)的產(chǎn)品經(jīng)理。后端作為一個(gè)項(xiàng)目的基石虹蒋,所以一直在進(jìn)行著嘗試糜芳,也規(guī)劃著即將發(fā)力學(xué)習(xí)飒货。移動(dòng)端是實(shí)踐已久的領(lǐng)域。而前端峭竣,一直都被自己所忽視塘辅。開始了解之后,竟然發(fā)現(xiàn)前端這個(gè)領(lǐng)域人人都是產(chǎn)品經(jīng)理皆撩,讓我覺(jué)得移動(dòng)端扣墩、后端的工程師總是在專注著自己的部分,而前端工程師卻是最有產(chǎn)品視野的扛吞,他們總思索著各種新奇的想法呻惕。事實(shí)也確實(shí)如此,相比起來(lái)滥比,前端領(lǐng)域是極其有活力的亚脆。自己接下來(lái),也將開始大前端的探索盲泛。
后記
無(wú)知者無(wú)畏濒持。曾經(jīng)覺(jué)得前端淺顯,覺(jué)得其他領(lǐng)域高端寺滚。經(jīng)過(guò)了解才知它的魅力柑营。確實(shí),前端入門門檻很低村视,然而它的上限確實(shí)無(wú)窮高官套。不甚了解的時(shí)候,心中有莫名其妙的不屑蚁孔。了解得越多虏杰,越發(fā)產(chǎn)生了敬畏。技術(shù)的鄙視鏈一直存在勒虾,現(xiàn)在卻發(fā)現(xiàn),總是叫囂著鄙視某個(gè)領(lǐng)域的人瘸彤,多半對(duì)這個(gè)方向不甚了解修然。只有在某個(gè)領(lǐng)域做到頂端的人,才有資格評(píng)判高下质况。哪天尤雨溪要是發(fā)話:“嗨愕宋,前端這個(gè)方向,不過(guò)如此结榄≈斜矗”那我可能就真的會(huì)信了吧。(笑