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

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

Web三件套

一、前言

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

二、移動端的開始。

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

三、大前端的工作經歷

前段時間開始了在某數十人大前端團隊工作的經歷,崗位 iOS 開發(fā),團隊中移動端工程師負責ReactNative、Hybrid等項目的 Native 部分。由于工作需要,開始了JavaScript的學習。曾經對這門語言的認識是“操作DOM,從而實現網頁中UI、數據等的動態(tài)部分”。
團隊中前端工程師的工作內容,也和我印象中的大大不同。他們會進行React框架的本地化改進,會為ReactNative添加更豐富的功能,他們更會創(chuàng)造一個個有想法的產品,比如根據注釋自動生成標準化文檔的工具、協(xié)作管理和測試API的平臺等等,我印象中網頁的畫師竟然也可以是各種富有創(chuàng)意和實用性的產品的創(chuàng)造者。這讓我開始重新認識前端這個領域。

四、對前端的重新認識

隨著了解的加深,我開始接觸到更多開拓了眼界的前端項目,也對前端工程師有了全新的理解。

  • 永遠不熄滅一統(tǒng)三端的雄心

由于任何平臺都必備 Web 運行環(huán)境,造就了“每當一個新的平臺出現,都是前端工程師的新舞臺”的局面。
個人電腦普及之后,由于 Windows 和 Mac OS 操作系統(tǒng)都有各自的市場,每當一款軟件推出,開發(fā)人員都必須為兩個平臺分別使用不同的語言編寫不同的桌面客戶端。這個時候前端工程師開始站了出來,他們創(chuàng)造了Electron,想要用Web三件套來構建跨平臺的桌面客戶端。
在智能手機風靡的今天,他們又創(chuàng)造出了PhoneGap,想要用Web三件套來開發(fā)跨平臺的移動應用程序。他們創(chuàng)造了Weex,甚至想用一套Web代碼構建各移動平臺的原生應用程序。他們還創(chuàng)造了ReactNative,想要用Web代碼編寫各平臺的原生應用程序。
他們?yōu)榱诉@個宏偉的目標不斷嘗試,而桌面客戶端或移動端工程師則在不停地追隨他們的工作。(哭

  • 百家爭鳴的開發(fā)框架

對于各種設計模式,前端工程師們總是沖在前面進行嘗試,各種前端開發(fā)框架也就層出不窮。ReactAngular、Vue,雖然彼此之間競爭激烈,但無疑他們都各有所長,也深刻改變了前端開發(fā)的方式??梢哉f,對于前端工程師,“與時俱進”是最基本的要求,因為這群人總在不停地創(chuàng)造新東西。

  • 后端?我也可以

誰說前端真的就永遠停留在前端?node.js告訴我們前端工程師也可以進行后端開發(fā)。而且由于 JavaScript 的語言、以及對應引擎的特點,node架構的項目在某些場景下還有著優(yōu)秀的表現。

  • 在各種場景中進行創(chuàng)造

由于前端項目在各種平臺中的通行,以及瀏覽器在個人電腦中的使用方便性,前端工程師創(chuàng)造了各種可以方便我們生活的產品??梢哉f,很多前端工程師是具有優(yōu)秀產品經理的想法的。
筆者使用的博客框架Hexo以及同樣非常優(yōu)秀的Ghost,可以非常方便地進行個人博客網頁的自動化生成。
其他的各種JavaScript項目,筆者不一一列舉了,總之你會發(fā)現自己在不斷地發(fā)問,“它竟然可以做到這個?”

  • 無所不能的JavaScript
有魔力的JavaScript

很多前端工程師會把自己稱作魔法師,因為它們會創(chuàng)造出各種神奇的項目,滿足各種切實的需求。這一切都是因為它們有 JavaScript 這個有魔力的武器。在 Github 語言排行榜中中雄踞第一,那么多人都在使用它做著各種有趣的事情。又或者說是腳本語言的“無所不能”,另一個出色的腳本語言 Python,也同樣在做著各種神奇的事情。

五、筆者的最終感悟

自己的職業(yè)規(guī)劃一直都是成為一個全棧工程師,進而成為一個懂技術的產品經理。后端作為一個項目的基石,所以一直在進行著嘗試,也規(guī)劃著即將發(fā)力學習。移動端是實踐已久的領域。而前端,一直都被自己所忽視。開始了解之后,竟然發(fā)現前端這個領域人人都是產品經理,讓我覺得移動端、后端的工程師總是在專注著自己的部分,而前端工程師卻是最有產品視野的,他們總思索著各種新奇的想法。事實也確實如此,相比起來,前端領域是極其有活力的。自己接下來,也將開始大前端的探索。

后記

無知者無畏。曾經覺得前端淺顯,覺得其他領域高端。經過了解才知它的魅力。確實,前端入門門檻很低,然而它的上限確實無窮高。不甚了解的時候,心中有莫名其妙的不屑。了解得越多,越發(fā)產生了敬畏。技術的鄙視鏈一直存在,現在卻發(fā)現,總是叫囂著鄙視某個領域的人,多半對這個方向不甚了解。只有在某個領域做到頂端的人,才有資格評判高下。哪天尤雨溪要是發(fā)話:“嗨,前端這個方向,不過如此。”那我可能就真的會信了吧。(笑

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

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,319評論 25 708
  • 清澈見底的眼眸 如水般純凈 肆無忌憚的笑容 如鐵般真誠 一塵不染...
    風清揚聊紅塵閱讀 354評論 0 3
  • 昨天,同為92年的一位男生轉了一個帖子,大概說26歲以后的女生不好嫁。看完那么多現實,準確說,瀏覽完,我覺得有點心...
    十一公子爺閱讀 206評論 0 0
  • 一如既往出門,今兒是難得的好天氣,無風無云天高氣爽,嗅在鼻子里的味道都是清清冽冽,陽光灑過來有點晃得睜不開眼。遠處...
    candywater閱讀 625評論 0 0
  • 我坐在電腦面前,寫了幾個開頭都不滿意。打出來又刪除,打出來又刪除,反反復復。 不知該從何寫起,從你們的愛情開始寫起...
    媯_閱讀 575評論 0 0

友情鏈接更多精彩內容