前端小白秀姐、大神、php程序員們若贮。
大家好省有,這兩天前端圈大熱的文章看的我很捉急。
大漠窮秋寫的兩篇文章火了谴麦,為什么火了呢蠢沿?因為他把當(dāng)今最流行的前端框架之一噴的一文不值,還連帶使用者一起貶低匾效。文風(fēng)犀利舷蟀,倔強,帶有一些科幻和超現(xiàn)實主義色彩,文中引用的例子也是XJB說野宜,做為一個php程序員扫步,我實在忍不住,寫這篇文章速缨,來和一下稀泥锌妻。
0x 1
我們先來研究一下第一篇文章為什么只會Vue的都是前端小白?
(下文中的“你”指帶大漠窮秋)
1 文章開頭定義了一些只會vue的人旬牲,我不知道這樣的人應(yīng)該從哪里去找仿粹,我去村頭網(wǎng)吧,發(fā)廊都找不到這樣的人原茅,這個假設(shè)是不是有些牽強吭历。在公司里,你可以隨便找一個不會vue的人擂橘,然后讓他學(xué)vue晌区,很快他就能用vue上手一個前端項目。作為一個開始學(xué)習(xí)前端的同學(xué)通贞,難道不應(yīng)該一開始學(xué)習(xí)dom,jQuery,minggeJS嗎朗若?然后學(xué)vue 至少不會是只會vue吧。只會噴vue的人倒是找到一個昌罩。
2 沒有學(xué)習(xí)能力的人能學(xué)會vue嗎哭懈?大漠窮秋用vue寫過真正在線上跑的項目嗎?修改過用vue寫的在線上跑的項目嗎茎用?學(xué)習(xí)vue本身不是在練習(xí)學(xué)習(xí)能力嗎遣总?我想去學(xué)過的人自然明白。
3 坐進觀天也沒什么不好轨功,太多的理解和思考反而會阻礙前進的腳步旭斥,但是vue也一直在更新發(fā)展,如果一個學(xué)習(xí)vue的人持續(xù)關(guān)注vue的發(fā)展古涧,宏觀大局是能慢慢凸顯的垂券。但我想說的是,作為一個為公司寫代碼的員工羡滑,能讓產(chǎn)品保質(zhì)保量按時上線才是真理圆米,你用什么技術(shù)老板不會管你,就拿殺毒來說啄栓,當(dāng)病毒真正橫行的時候娄帖,你給我說你的殺毒軟件采用最新語言,最新設(shè)計模式昙楚,最厲害的軟件架構(gòu)近速,結(jié)果還是殺不死病毒。某數(shù)字公司會給你說,我們就檢查下文件名字就把病毒殺死了削葱,沒有高科技奖亚,只有對問題的快速解決。
4 糟糕的英文水平析砸,作為一個前端昔字,寫個頁面,切個圖首繁,我需要多強的英語水平作郭。來個反證法,如果你說的是對的弦疮。你自己做的教程也是中文的夹攒,你不是在毒害大家嗎?我強烈建議你下架你自己做中文教程胁塞,readme和教程都改成英文的咏尝,來拯救一下大家糟糕的英語水平。
5 團隊協(xié)作和框架有關(guān)系嗎啸罢?這個邏輯和國足踢球贏了编检,是因為草坪太硬,草坪太軟扰才,草坪不硬不軟的理由是一樣蒙谓,協(xié)作靠的是性格和理解,大家開一波黑训桶,協(xié)作能力就培養(yǎng)起來了。
6 作為一個php程序員酣倾,我們公司有很多前端項目舵揭,千萬級別的訪問量。當(dāng)時缺少像大漠窮秋這樣的人為我們指點應(yīng)該使用什么技術(shù)躁锡,然后我們用了一個最笨的方法午绳,就是每個框架都試一試,在不同的前端項目映之,相同的前端項目里拦焚,同事們反復(fù)使用不同框架。最后大家得出了一個結(jié)論杠输,做活動頁面用Vue非常合適赎败,做后臺管理的前端頁面,用Angular輕松自在蠢甲,做電商僵刮,購物車等狀態(tài)比較多的頁面和準(zhǔn)備往RN轉(zhuǎn)的頁面,使用React決對沒錯。
一個框架好不好搞糕,使用者水平高不高都不重要勇吊,重要的是人,在業(yè)務(wù)問題面前窍仰,所有的技術(shù)汉规、框架都是工具,使用工具的人才是核心驹吮。你非要說只會用錘子的人是小白针史,你就不怕他們用錘子敲你。
真實事跡钥屈,公司有位同事悟民,用各種技術(shù)都慢其他人一步,但他用jQuery(并不鄙視jQuery,Angluar 1.x內(nèi)部還自己實現(xiàn)了一個mini jQuery)做的項目,體驗比其他人用新興框架做的好篷就,bug少射亏,所以人才是最重要的。
0x 2
再來說一說下一篇Vue從Angular里面抄了哪些東西竭业?
(下文中的“你”指帶大漠窮秋)
作為一個程序員智润,抄襲不是很正常嗎。你寫代碼的時候沒有Crtl+C和Ctrl+V, 你不要給我說你是Command+C和Command+V未辆。古話說的好:優(yōu)秀的藝術(shù)家模仿,偉大的藝術(shù)家則是剽竊窟绷。下圖也很好。
對于抄咐柜,我想說的是兼蜈,好的思想,我們當(dāng)然要拿來使用拙友。硬說是別人抄是不對的为狸,本身就是不對的。Angular是MVVM遗契,但是里面也有MVC的東西辐棒。算不算抄我php各種MVC框架。
1.雙向數(shù)據(jù)綁定
最早把雙向數(shù)據(jù)綁定帶到前段領(lǐng)域到底是不是Angular,我不知道牍蜂,不過用我那蹩腳的英文在google里搜索`The earliest data binding in js` 出來的靠前面的js是knockoutjs漾根。不過看github提交,Angluar在2010年1月就開始了鲫竞,但是knockoutjs在7月才開始第一次提交辐怕。
我很不負責(zé)的說一句,“新版本的Angular引入了RxJS+Immutable的設(shè)計”从绘。這是不是在抄襲React秘蛇。
2.HTML解析器
這就和項目文件的package.json文件里依賴其做,是不是我抄襲了所有這些庫,才完成了我的項目赁还。這也能算抄妖泄,于正會心一笑。
3.Filters
用個管道也是抄襲嗎艘策?蹈胡,當(dāng)年Unix就應(yīng)該把這個申請為專利,現(xiàn)在都可以上市了朋蔫。不寫成` | `難道要寫成`->`,或者`.`罚渐。
3.組件和指令分離
Vue官方教程里,組件和指令就是分開的兩個東西驯妄,和最新版的Angular也不一樣荷并,這有啥問題,而且你不覺得Vue里的組件寫起來比Angular不管哪個版本都要簡單嗎青扔?
4.新的概念和設(shè)計思想
新的概念和設(shè)計思想真的會給現(xiàn)在公司的業(yè)務(wù)帶來好處嗎源织?Vue借鑒了其他框架,把復(fù)雜的變成了簡單的自己的微猖,不做一個“One framework.Mobile & desktop”谈息。而是一個“The Progressive
JavaScript Framework”,我覺得是OK的凛剥,你覺得不行侠仇,你可以繼續(xù)噴,反正我們使用合適業(yè)務(wù)的技術(shù)犁珠,最快的時間解決好問題逻炊,然后才有時間出去浪,(????)??嗨酒吧犁享,睡大街上余素。
0x3
作為一個php程序員,深知前端浮躁饼疙,需求不可靠,今天寫完代碼慕爬,明天邏輯就變化很大窑眯。真的要做到把業(yè)務(wù)寫好,拼的不是框架医窿,不是熱潮磅甩,不是新技術(shù)新概念。而是對業(yè)務(wù)的理解和自己對代碼的態(tài)度姥卢,會用框架成不了高手卷要,但把框架融入到解決業(yè)務(wù)問題中才是真理渣聚。程序員們研究新技術(shù)新思想歸根到底還是為了更好的解決實際業(yè)務(wù)問題,而不是炫技僧叉。不要急躁奕枝,開心就好。
如果把前端人員比作江湖中人瓶堕,前端框架比作兵器隘道。真正的高手草木皆可為劍,現(xiàn)在我們在這里討論那把劍更厲害郎笆,真的有必要嗎谭梗?悟空超級賽亞人一個龜太氣功就把你kill了。
所以我說前端框架終將在歷史的長河中死去宛蚓,留下來的不是兵器激捏,而是人,呼吁大家理性看待凄吏,互相學(xué)習(xí)远舅,共同進步。