無標(biāo)前進的方向 沒有方向就是蒙著眼睛的驢子原地踏步 一年經(jīng)驗混十年 說的真是太好了 必須要粘貼復(fù)制下來文章(司徒正美)

? ? 歷時兩年多,我的書終于付梓出版了。應(yīng)各方面的要求,寫軟文一篇,隆重介紹一下此書對各位程序員的錢途有什么幫助及閱讀順序等疑問。作為國內(nèi)第一本講述前端框架構(gòu)的書,它里面充斥著許多大家前所未聞的知識,這些知識有50%只見于github的issue,講述各種隱秘的瀏覽器兼容性問題及各種神奇的修復(fù)方案,或者是某些危險但美麗的黑魔法,另外50%我深夜夢游般在外國某些大牛(不局限于英語,有日語,俄語,韓語等,不同的語言的人,受制了他們的語法結(jié)構(gòu),他們的思考回路是與我們不同的,給出的答案有時真的是拍案叫絕)的博客或網(wǎng)站瞥見的神奇東東。在我通過編寫dom Framework, mass Framework這兩大框架(dom Framework是老式的金字塔式的基于類的大框架, mass Framework是擁有AMD加載器的開放式框架,再后來的avalon,是鬼怪式的分層構(gòu)架的MVVM框架,黑魔法滿滿的),建立完整的知識樹后,開始狂熱如征服六國后的秦王,熱衷于收集各種奇珍異寶于我的博客——你們看的部分,只是我未公開的十分之一而已,本書將額外開恩公布另外的十分之二。

這里寫的很霸氣呀。就是要有這種自信。

其實這世界很奇妙的,當(dāng)你水平上去后,就算你不想繼續(xù),這世界也推動著你前進。就像jQuery1.3通過Sizzle大獲成功后,成為世界的明星,就算John Resig想撒手,但這么多pull request,它也只能從更好變成更加好!三年前,當(dāng)我寫了三百多篇的博文,出版社已經(jīng)找上門來了。在那半年內(nèi),總共有三四家來找我,讓我看到前端的希望。于是我的重心由ruby慢慢轉(zhuǎn)向javascript。待到我加入盛大創(chuàng)新院后,我已經(jīng)確保我能hold住《javascript框架設(shè)計》這個大題目,于是簽約寫書。不過,在最初我提交給出版社的目錄里,我有著更為恢宏的目標(biāo),包含拖放組件, 路由系統(tǒng), 及各式UI組件,但最后由于篇幅的問題,只好說聲抱歉了。

野望總是被現(xiàn)實所掣肘,亞歷山大想證明世界,可他的HP也是這么短,經(jīng)不起長途跋涉。實體書與博客是不同的,它必須要形成一個體系,文體也有要求,不能太口語化,什么喜樂哀痛必須收起來,板著臉正正經(jīng)經(jīng)地對大家宣講。錯別字也要收殮一下,雖然我找了許多高手審稿了。可惜個個都開寫輪眼,自動過濾掉錯別字,最終還是讓出版社的張濤大大幫忙處理了大部分錯別字與病句,太專業(yè)的東西他也無能為力,但愿不影響閱讀。幸好各位大神貢獻了不少冷癖有用的知識點,讓本書充實了不少,因此才一改再改,三番四次,導(dǎo)致兩年多才交稿。在盛大創(chuàng)建院時,不斷有人(同事或群友)問我的書什么時候出來,人家半年就搞出一本了。我今天終于不為這問題煩惱了。

在繼續(xù)這篇軟文時,我腦海真的是閃現(xiàn)許多詞匯,什么大教堂與集市,造輪子與DRY,公司利益與個人成長……一個個來吧

大教堂與集市說的是如何構(gòu)建一個軟件工程,是大教堂式的專制主義還是開放式的以眾包方式讓大家貢獻源碼。前者,緩和一點地說,是英雄主義,jQuery之于John Resig, Node.JS之于Ryan Dahl,他們單人匹馬開創(chuàng)了一個新天地。后者,最杰出的代表是Linux。但在這個互相浸透學(xué)習(xí)的世界,絕對的東西是不存在的。jQuery與Node.JS現(xiàn)在也是在眾多的項獻者的努力一下前進,原作者向新目的地進發(fā)了。在國內(nèi),你懂的,每個人都自命不凡,一開始只能是你一個踽踽獨行。只有你真正成為明燈式的人物后,才有人追隨。

造輪子與DRY這問題也新浪微博上也吵過許多次了。有個軟件設(shè)計原則叫DRY,防止組員們隨意克隆代碼,或在不知情的情況下重復(fù)發(fā)明相似的功能模塊。公司出于利益的考慮,也不愿給時間組員自己去造輪子,上網(wǎng)找一個jQuery插件了事。因此,小中公司的頁面非常恐怖,允斥著大量第三方插件,而相對而言,大阿貍能用的基本自己做,這正是游擊隊與正規(guī)軍的區(qū)別。從國內(nèi)看,最重視JS的公司也恰恰是大阿貍,他們擁有國內(nèi)最龐大優(yōu)秀的前端團隊(700多人),小公司還是一個前端對20個后端的節(jié)奏。招這么多高手干嘛呢?造輪子!當(dāng)然,這不是一個輪子所代表的,這涉及一整套的工具鏈,目的是實現(xiàn)前端自動化集成布署。寫框架與UI組件保是其中一個很少環(huán)節(jié),這也是一般人能理解的東西,更多高大上的東西,大公司也不會公開出來。但你起碼擁有創(chuàng)造UI組件這樣的能力,才能讓你碰更底層的工具。

公司利益與個人成長,這個更不用說。只有目光短淺的公司,才會用雜牌的組件寫碼。大公司早已為你準(zhǔn)備一整好東西了。而你的任務(wù)就是成長到具有寫UI組件的地步,進入架構(gòu)師,為公司的未來挑戰(zhàn)做好更多準(zhǔn)備(工具)。HTML5對于一般人而言,好像是非常遙遠的事,但大公司早已有一幫人用它做出許多好東西,為公司產(chǎn)品的用戶體驗添磚加瓦。為了積聚這實力,你必須自己暗暗發(fā)力,偷偷自己寫一套東西。之前人家寫過的彈出層,富文本編輯器,語法高亮插件……你一套也不能少,這樣你才能接觸到之前碰不到的原生API與知識點。如彈出層有關(guān)垂直居中的CSS知識點,select穿透問題,富文本編輯器用到的iframe知識點,Range與Selection對象的知識點,語法高亮則是你正則的大檢驗!如果寫業(yè)務(wù)代碼,你寫十年,水平還是那樣。因此有句話說——“用一年的經(jīng)驗混十年”

最近在微博看到一件可怕的事:

【我所了解的一個精神失常的程序員】http://t.cn/8sinEOr不久前我們公司有個程序員精神失常。他走進經(jīng)理辦公室開始大喊大叫,說著一些奇怪的事情。如果我不是像了解自己一下了解他,就會以為他磕了藥。但是事實上他簡直就是精神失常了!

他是我在編程行業(yè)見過的最勤奮員工。他經(jīng)常在下班后加班,周末的時候,當(dāng)管理人員需要人手去處理緊急工作時,他總是隨叫隨到。在這個階段公司并不賺 錢,老板需要盡可能快的完成項目,所以任何被客戶急催的軟件開發(fā)都會自動分配給他。他很樂意地全心投入把工作做完正是老板喜歡的地方。

"我能力強,我效率高,我應(yīng)該是公司的關(guān)鍵人物",其實那是錯的,不可替代性才是最重要的。如果靠“賣力”增加不可替代性,作用是微乎其微的,還是得靠“高門檻”。我認(rèn)識的工程師里,越是技術(shù)好的工程師越會意識到這個問題,然后去做一些"深度"的發(fā)展,這也算是工程師的自我保護吧。說什么做IT沒前途,30歲要轉(zhuǎn)行,這只是無能者的藉口。

古人說——“人無遠慮,必有近憂”。你平時有這么多空閑時間,為何不努力提升一下自己的水平呢。不去認(rèn)真閱讀一下大師們的框架,不自己寫一個框架。記得當(dāng)初我在博客宣傳我的框架,被某個嫉妒的人罵個狗血噴頭,兩年過去,他消聲匿跡,而我,從一個公司的核心前端變?yōu)榱硪粋€公司的核心前端,現(xiàn)在是去哪兒網(wǎng)的前端架構(gòu)師。因此要相信自己!不要怕這怕那,有努力就有回報!

再回來說我的書,前端的知識點是非常龐雜的。但知識只有串起來,形成知識樹才是你自己的。現(xiàn)在市面上的書,基本上抄來抄去,還是依照老舊的方法教人,一開始總是歷史回顧,然后是各種數(shù)據(jù)類型介紹,然后是語法(條件分支,循環(huán)分支)什么的,最后再來幾個“真實案例”。這對于90%半路出家的前端來說,未免太悶了。而且前端不單單是javascript, javascript只是水泥, 或者說儲如化學(xué)分子這東西,而我們工作是為了構(gòu)建一整座大廈!只有肉眼看到的物理級別的東西才是主角。它們就是本書的重點, DOM與BOM。javascript通過特性偵測或傳參等,進入不同的分支,來解決前端臭名昭著的兼容性問題。本書介紹了大量這樣的黑魔法,如何知道當(dāng)前瀏覽器是支持這個事件呢? 為何在這里要劫持this呢? 怎么樣讓選擇器引擎跑得更快。于是這一個個疑問,便化解成本書所介紹的知識點,什么AMD加載器, 選擇器引擎,批量生成一堆元素節(jié)點……

所有前端框架面對的問題都是一樣,不同的是解決手段的高下程度。于是Prototype死了,jQuery火了。 angular爆發(fā)了, jQuery沉寂了!本書的章節(jié)就是按照編寫一個多文件框架的順序來寫。最開始肯定是種子模塊,定義框架的名字與版本號,與一些最核心的方法,還有加載器。然后通過加載器,添加一些常用的工具模塊,對javascript語言進行擴張與修復(fù)。之后是數(shù)據(jù)緩存什么的,再之后是主菜,各種DOM問題, 節(jié)點啊, 樣式啊, 事件啊, 動畫啊……最后是MVVM,當(dāng)前最強大的前端解決方案。通過引入雙向綁定與分層架構(gòu),完全脫離DOM進行前端開發(fā)。

你或者有過激情,你或者有過夢想,但當(dāng)你的KPI考核點是PM那些荒唐的改來改去的功能點,多熾熱的火焰也會被澆滅。因此你必須要搞出一點東西出來,努力爬上去。是廢命于加班,天天寫業(yè)務(wù),還是專注于底層框架的研發(fā),為某個難題而苦惱,完全在于你一念之差。“是金子總會發(fā)光的”,或“是石頭到哪都不會發(fā)光的”,也完全在于你一念之差。本書將為你提供了一個可能性及一大堆技能點,打開了一個美麗的新世界,提供了一個X年不遇的機會,準(zhǔn)備了一個迅速上升的渠道。

可能有些人會嫌它貴,也有些人怕自己看不明白這么“高大上”的東西。我說一個故事吧。

一個特別喜愛昆蟲的人做了這樣一個實驗:他將跳蚤放進敞口的瓶子里,它立刻便跳了出來。當(dāng)把瓶子蓋上時,跳蚤還是會竭力跳出瓶子,它不停地撞擊著瓶蓋的內(nèi)側(cè)。一個多小時后,他還在那樣跳著。差不多三個小時后,它依然在跳,只是它不再撞著瓶蓋了,此時它跳的高度離瓶蓋大約1厘米左右,而且每一次都是如此。這時,瓶蓋被拿掉了,但是跳蚤并沒有跳出瓶口,它依然保持著有瓶蓋時的高度,再也跳不出瓶口。

同理,如果你,總嫌這個貴那個貴,你又不努力改變現(xiàn)狀,過了一段時間,你就會習(xí)慣了,就會安于貧困了。就像瓶子的跳蚤那樣安于天命,永遠困死在瓶子里。

怕自己理解不了這東西,這雖然是一個理智的考量,但只要是人就會遇到瓶頸,但問題是如何突破瓶頸。瓶蓋又不是總是蓋上的,有機遇你得抓住!

我也曾畢業(yè)找不到工作,潦倒到當(dāng)了一年保安。但我相信“是金子總會發(fā)光的”,我終會一鳴驚人,我現(xiàn)在只是一只受傷的野狼,我不會被命運所屈服馴化。因此跟我咆哮吧——

無名的生命之花 已慘遭摧殘踐踏

一度墜地的飛鳥 正焦急以待風(fēng)起

一味埋頭祈禱 卻不會有任何改變

若想有所改變 就請起而奮戰(zhàn)吧

踏過尸體前行的我們

嘲笑這進擊意志的豬玀啊

家畜般的安寧 那虛偽的繁榮

請賜予誓死之餓狼以自由!

……

——進擊的巨人OP《紅蓮の弓矢》

閱讀順序,原則上沒什么要求,但第2章、第6章、第14章、第16章是非常有挑戰(zhàn)性的,大家可以延后閱讀。如果基礎(chǔ)不太好,可以先從第3章看起,跳過我說的那些比較難的章節(jié)。本書已經(jīng)很把寫一個前端框架所需要掌握的知識點與細節(jié)全部挖掘出來了,剩下的就是靠你們的造化。總之,盡快形成自己的知識樹,才能獨檔一面。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,763評論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,238評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,823評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,604評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 72,339評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,713評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,712評論 3 445
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,893評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,448評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 41,201評論 3 357
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,397評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,944評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,631評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,033評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,321評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,128評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,347評論 2 377

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,710評論 25 708
  • “生存還是毀滅,這是個問題......死去,睡去......” 人生迷途,有很多條路。有時,我不知道該如...
    言喻而喻閱讀 658評論 0 1
  • 對于寫作總是找不到想不出太多的長篇大論來書寫,只有寥寥數(shù)語表達,但是發(fā)現(xiàn)這樣一個寫作能力的欠缺也給我的工作和生活帶...
    情記閱讀 98評論 0 0
  • 11月初加入壽文組織的《塔羅冥想》共修小組,是出于對于胡因夢老師推薦的這部大部頭的敬畏,冥冥中相信借助這本書以及共...
    Christy_Chang閱讀 312評論 0 0
  • 百度云:盲人摸象,中國成語,比喻看問題總是以點代面、以偏概全。寓言諷刺的對象是目光短淺的人。出自《長阿含經(jīng)》卷十九...
    jenny911閱讀 1,036評論 0 0