iOS開(kāi)發(fā)者的一些前端感悟

很多前端工程師會(huì)把自己比作“魔法師”,而對(duì)于JavaScript這門(mén)語(yǔ)言,我也想把它喚作一門(mén)“有魔力的語(yǔ)言”。因?yàn)檫@群有無(wú)限想法的人,真的在用它創(chuàng)造各種讓你驚嘆的事物。

Web三件套

一、前言

幾年前,筆者還是一名初涉編程的學(xué)生,對(duì)于開(kāi)發(fā)的各個(gè)領(lǐng)域都倍感新奇。曾經(jīng)在知乎一個(gè)編程相關(guān)的問(wèn)題下,看到一個(gè)關(guān)于各個(gè)領(lǐng)域的詼諧論調(diào),談到前端,他概括為:“前端簡(jiǎn)單來(lái)說(shuō)就是畫(huà)網(wǎng)頁(yè)”。笑談過(guò)后,筆者也不經(jīng)意間留下了前端很簡(jiǎn)單、比較低端的印象。
后來(lái)有了幾年的移動(dòng)端開(kāi)發(fā)經(jīng)歷,后端也有一些實(shí)踐。在最近的一份工作經(jīng)歷中,開(kāi)始逐漸了解了一直未曾涉足的前端領(lǐng)域。這段經(jīng)歷切實(shí)地印證了“無(wú)知者無(wú)畏”這句話,因?yàn)槲抑饾u發(fā)現(xiàn)了前端的魅力所在,甚至被她所吸引。
這篇文字我分類(lèi)在了隨筆中,嚴(yán)格來(lái)說(shuō)它不算一篇技術(shù)文章,寫(xiě)下來(lái)的目的是想記錄一番自己的感悟,也希望和各位前端的前輩以及曾經(jīng)和我有一樣想法的同學(xué)多多交流。

二、移動(dòng)端的開(kāi)始。

大學(xué)的時(shí)候,學(xué)院科創(chuàng)基地在項(xiàng)目領(lǐng)域的實(shí)踐順序便是先從前端開(kāi)始入門(mén),完成一個(gè)網(wǎng)頁(yè)項(xiàng)目之后,開(kāi)始自由選擇后端、移動(dòng)端,或者繼續(xù)深耕前端。那時(shí)對(duì)前端有了最初的印象:通過(guò)編程創(chuàng)造一個(gè)網(wǎng)頁(yè)。它的容易入門(mén),讓最初的我覺(jué)得這個(gè)領(lǐng)域不過(guò)如此。各種培訓(xùn)機(jī)構(gòu)對(duì)于前端教學(xué)的猛烈勢(shì)頭,也造就了我對(duì)于這個(gè)技術(shù)方向“低端”的誤解。所以轉(zhuǎn)而開(kāi)始 iOS 開(kāi)發(fā)的學(xué)習(xí)。
轉(zhuǎn)眼幾年過(guò)去,在移動(dòng)端學(xué)習(xí)的過(guò)程中,也在不斷地了解著其他領(lǐng)域。由于移動(dòng)端對(duì)后端的依賴,自己也開(kāi)始了后端開(kāi)發(fā)的實(shí)踐,對(duì)幾種后端語(yǔ)言都有了嘗試。但是一直以來(lái),對(duì)于前端都只是停留在能夠簡(jiǎn)單地寫(xiě)一些 HTML,粗略地讀懂前端的代碼。而對(duì)于它的理解,更是和最初無(wú)異。

三、大前端的工作經(jīng)歷

前段時(shí)間開(kāi)始了在某數(shù)十人大前端團(tuán)隊(duì)工作的經(jīng)歷,崗位 iOS 開(kāi)發(fā),團(tuán)隊(duì)中移動(dòng)端工程師負(fù)責(zé)ReactNativeHybrid等項(xiàng)目的 Native 部分。由于工作需要,開(kāi)始了JavaScript的學(xué)習(xí)。曾經(jīng)對(duì)這門(mén)語(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è)的畫(huà)師竟然也可以是各種富有創(chuàng)意和實(shí)用性的產(chǎn)品的創(chuàng)造者。這讓我開(kāi)始重新認(rèn)識(shí)前端這個(gè)領(lǐng)域。

四、對(duì)前端的重新認(rèn)識(shí)

隨著了解的加深,我開(kāi)始接觸到更多開(kāi)拓了眼界的前端項(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)一款軟件推出,開(kāi)發(fā)人員都必須為兩個(gè)平臺(tái)分別使用不同的語(yǔ)言編寫(xiě)不同的桌面客戶端。這個(gè)時(shí)候前端工程師開(kāi)始站了出來(lái),他們創(chuàng)造了Electron,想要用Web三件套來(lái)構(gòu)建跨平臺(tái)的桌面客戶端。
在智能手機(jī)風(fēng)靡的今天,他們又創(chuàng)造出了PhoneGap,想要用Web三件套來(lái)開(kāi)發(fā)跨平臺(tái)的移動(dòng)應(yīng)用程序。他們創(chuàng)造了Weex,甚至想用一套Web代碼構(gòu)建各移動(dòng)平臺(tái)的原生應(yīng)用程序。他們還創(chuàng)造了ReactNative,想要用Web代碼編寫(xiě)各平臺(tái)的原生應(yīng)用程序。
他們?yōu)榱诉@個(gè)宏偉的目標(biāo)不斷嘗試,而桌面客戶端或移動(dòng)端工程師則在不停地追隨他們的工作。(哭

  • 百家爭(zhēng)鳴的開(kāi)發(fā)框架

對(duì)于各種設(shè)計(jì)模式,前端工程師們總是沖在前面進(jìn)行嘗試,各種前端開(kāi)發(fā)框架也就層出不窮。React、Angular、Vue,雖然彼此之間競(jìng)爭(zhēng)激烈,但無(wú)疑他們都各有所長(zhǎng),也深刻改變了前端開(kāi)發(fā)的方式。可以說(shuō),對(duì)于前端工程師,“與時(shí)俱進(jìn)”是最基本的要求,因?yàn)檫@群人總在不停地創(chuàng)造新東西。

  • 后端?我也可以

誰(shuí)說(shuō)前端真的就永遠(yuǎn)停留在前端?node.js告訴我們前端工程師也可以進(jìn)行后端開(kāi)發(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)品??梢哉f(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
有魔力的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)域。而前端,一直都被自己所忽視。開(kāi)始了解之后,竟然發(fā)現(xiàn)前端這個(gè)領(lǐng)域人人都是產(chǎn)品經(jīng)理,讓我覺(jué)得移動(dòng)端、后端的工程師總是在專(zhuān)注著自己的部分,而前端工程師卻是最有產(chǎn)品視野的,他們總思索著各種新奇的想法。事實(shí)也確實(shí)如此,相比起來(lái),前端領(lǐng)域是極其有活力的。自己接下來(lái),也將開(kāi)始大前端的探索。

后記

無(wú)知者無(wú)畏。曾經(jīng)覺(jué)得前端淺顯,覺(jué)得其他領(lǐng)域高端。經(jīng)過(guò)了解才知它的魅力。確實(shí),前端入門(mén)門(mén)檻很低,然而它的上限確實(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ì)信了吧。(笑

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,675評(píng)論 25 709
  • 清澈見(jiàn)底的眼眸 如水般純凈 肆無(wú)忌憚的笑容 如鐵般真誠(chéng) 一塵不染...
    風(fēng)清揚(yáng)聊紅塵閱讀 354評(píng)論 0 3
  • 昨天,同為92年的一位男生轉(zhuǎn)了一個(gè)帖子,大概說(shuō)26歲以后的女生不好嫁。看完那么多現(xiàn)實(shí),準(zhǔn)確說(shuō),瀏覽完,我覺(jué)得有點(diǎn)心...
    十一公子爺閱讀 205評(píng)論 0 0
  • 一如既往出門(mén),今兒是難得的好天氣,無(wú)風(fēng)無(wú)云天高氣爽,嗅在鼻子里的味道都是清清冽冽,陽(yáng)光灑過(guò)來(lái)有點(diǎn)晃得睜不開(kāi)眼。遠(yuǎn)處...
    candywater閱讀 613評(píng)論 0 0
  • 我坐在電腦面前,寫(xiě)了幾個(gè)開(kāi)頭都不滿意。打出來(lái)又刪除,打出來(lái)又刪除,反反復(fù)復(fù)。 不知該從何寫(xiě)起,從你們的愛(ài)情開(kāi)始寫(xiě)起...
    媯_閱讀 572評(píng)論 0 0

友情鏈接更多精彩內(nèi)容