前端必讀!來看看近期已加入位元組跳動,曾為“奇舞團”團長的月影為《深入淺出Vue.js》寫的推薦
據公司情報專家《財經塗鴉》訊息,前360高階技術總監、Web前端主任架構師、技術委員會委員吳亮(月影)近期已加入位元組跳動。值得一提的是,吳亮更為人熟知的title則是360最大的前端團隊——奇舞團團長。
鑑於吳亮加入位元組跳動的時間尚早,因此尚未確定其具體職責;而從彙報關係來看,吳亮的直接彙報物件為負責包括資訊流、搜尋、遊戲、支付等大中臺搭建的技術負責人廖寶華,+2級彙報物件則為位元組跳動高階副總裁洪定坤。
一位曾與吳亮在360共事的人士表示,吳亮的此番離職略顯突然。7月5日,吳亮還參加了奇舞團成立9週年的聚會“奇舞節”。
近幾年,JavaScript的流行庫和框架帶有超程式設計(metaprogramming)的特徵。所謂超程式設計,簡單來說,是指框架的作者使用一種程式語言固有的語言特性,創造出相對新的語言特性,使得最終使用者能夠以新的語法和語義來構建他們的應用程式,從而在某些領域開發中獲得更好的開發體驗。
早期的jQuery庫之所以獲得開發者們的認可,很大程度上是因為它獨創的鏈式語法和隱式迭代語義。儘管jQuery僅僅通過巧妙設計API就能支援上述特性,並不依賴於程式語言賦予的超程式設計能力,但是毫無疑問,它以一種精巧的設計理念和思路,為JavaScript庫和框架的設計者開啟了一扇創新的大門。
今天的Web產品對構建使用者介面的要求越來越高,jQuery的方式不能滿足構建複雜使用者介面的需要,新的UI框架快速發展,其中一個最流行的框架就是Vue.js。與jQuery相比,Vue.js更強大,也具有更加明顯的超程式設計特徵。動態繫結屬性和變化偵測、內建模板和依賴於模板語法的宣告式渲染、可擴充套件的指令、支援巢狀的元件,這些原生JavaScript並不具備的特徵和能力被一一融入,框架的使用者在使用Vue.js開發Web應用時,事實上獲得了超越JavaScript原生語言特性的能力。
儘管Vue.js框架賦予開發者眾多特性和能力,但它仍然是使用原生JavaScript實現的應用框架。JavaScript自身提供了許多超程式設計特性,比如從ES5就開始支援的屬性訪問器(property accessor),ES6支援的代理(proxy),還有標準提案已經處於Stage 3階段的裝飾器(decorator)。基於這些語言特性,我們能夠比較方便地擴充套件新的語言特性,將這些特性融入應用框架,從而使得應用開發者能夠更加得心應手地使用框架開發出優雅、簡潔的應用程式模組。
如何設計API和如何使用超程式設計思想將新特性融入到框架中,是現代JavaScript框架設計的兩個核心,Vue.js更側重於後者。理解超程式設計思想有助於深刻理解Vue.js的本質。而理解超程式設計思想本身最好的方法又是通過深入研究Vue.js的原始碼,因為超程式設計思想一旦涉及具體實現,不僅僅是使用JavaScirpt提供的特性來擴充套件能力那麼簡單,這其中有許多細節需要考慮,比如要做到向下相容,那麼就要對一些特性的實現方式做出取捨,一些語言能力可以通過書寫向下相容程式碼來彌補,而另一些則需要通過編譯機制來做到,還有一些則必須捨棄;同樣,基於效能考慮,一些特性也可能需要做出一定的修改或妥協。這些問題不僅在框架設計和實現的過程中會遇到,而且在具體實現應用程式的過程中也會遇到。因此,通過學習Vue.js,我們不僅能夠掌握設計應用程式框架的一般性技巧,還可以在實現應用程式時運用其中的具體設計思想和方法論。
本書的作者劉博文是我的同事,也是奇舞團的一員,後來由於業務變動,博文所在的團隊從奇舞團獨立了出去,但是同為360的前端團隊,我們也始終保持著專案合作和技術交流。很早就聽到博文要寫這樣一本書,當時我很高興,我一直鼓勵大家寫書,因為這種創作既能使自己成長,又能使讀者獲益。我自己也寫過技術類的書,深知技術創作的不易,要把Vue.js這樣的流行框架講透也著實需要下一番苦功。有時候,作為朋友,我會和博文開玩笑,說他的書再不出版,Vue.js 3.0版本就要釋出了,但這僅僅是玩笑,我不願意博文因為要趕出版時間而草草了事,那樣就無法真正做到“深入淺出”,畢竟這不是一本Vue.js的使用手冊,而是真正能夠透過Vue.js的設計思路去學習超程式設計思想,並將這種思想運用於程式開發中的書。只有這樣,讀者才能真正從這本書中獲益。我想,在這一點上,博文沒有讓我失望,我也希望這本書沒有讓你們失望。
——月影 (360奇舞團團長)
2019年2月1日
相關文章
- 位元組跳動最“掙錢”的前端團隊招人啦~前端
- 閱讀推薦——深入淺出Mesos
- 位元組跳動,跳動的“遊戲夢”遊戲
- 清華 NLP 團隊推薦:必讀的77篇機器閱讀理解論文
- 近期必讀的12篇「推薦系統」相關論文
- 位元組跳動(今日頭條)推薦演算法實習生面試演算法面試
- 為激情為生—“激情團隊宣言”薦
- 遊戲免費榜頭部成為了位元組跳動的天下?遊戲
- 谷歌大腦團隊官方推薦 | JavaScript 機器學習領域必讀之作谷歌JavaScript機器學習
- 掘金 AMA:聽奇舞團團長--月影談論他對技術 & 個人成長看法
- 位元組跳動web前端面試經歷Web前端面試
- 【位元組跳動】【上海】前端開發實習生招聘前端
- 位元組跳動的「遊戲」法則遊戲
- 如何看位元組跳動遊戲未來的成功與否?遊戲
- 為上市搭橋,位元組跳動收割遊戲還缺什麼?遊戲
- 推薦!正在快速成長的遊戲團隊管理者都應該細讀的好文!遊戲
- 深入淺出JVM(十)之位元組碼指令(下篇)JVM
- 盤點8款日程為基礎的團隊協作軟體推薦
- 推薦一款團隊必備的專案管理系統專案管理
- 位元組跳動的遊戲大冒險遊戲
- 位元組跳動的16款重度遊戲遊戲
- 位元組跳動的技術架構架構
- 大三實習生,位元組跳動面經分享,已拿Offer
- 位元組跳動又一開源力作釋出
- 【好遊推薦】兵團合成,出“棋”制勝!
- 位元組跳動和它的 28 家遊戲公司遊戲
- 位元組跳動資料庫的過去、現狀與未來資料庫
- 位元組跳動ios面經iOS
- 杭州17屆前端期待加入一個更好的團隊前端
- 第一屆搞管理|堂主 - 如何推動與影響中型前端團隊的成長前端
- 位元組跳動實習面經分享(已拿offer附攻略)
- 小公司能建立世界級的IT開發團隊嗎?認為自己根本不可能加入世界級團隊的別進。薦
- 兩年Java,去位元組跳動寫Python和GoJavaPythonGo
- 作為博主和曾經員工,談談近期的園子
- 位元組跳動為何選用Flutter?並非最優選,但它可能是不一樣的未來!Flutter
- 世界讀書日 | 開發者必讀書單重磅來襲,華為雲DTSE專家天團力薦
- 前端小團隊建設(實用前端開發規範,推薦收藏)前端
- 2020最新:位元組跳動前端面試題分享(已拿offer)(含解題思路)前端面試題