由大漠窮秋對vue的攻擊說說技術和開源精神

威靈頓發表於2017-08-05

最近程式猿界出了一檔子事兒,一位名叫“大漠窮秋”的工程師,對JavaScript框架vue展開攻擊,罵使用vue的使用者是小白,戰鬥由此挑開了。

enter image description here

Angular有哪些地方比Vue更優秀?

https://zhuanlan.zhihu.com/p/28259790

為什麼只會Vue的都是前端小白?

http://www.jianshu.com/p/fdab2036fca7

上面兩篇是他寫的攻擊文。

回應『Angular有哪些地方比Vue更優秀?』

https://zhuanlan.zhihu.com/p/28284087

上面是vue作者尤雨溪的回應

我個人對這種“論戰”態度是:無聊。會用Angular就高人一等了?用vue就不如別人了?能幹個前端就很牛了?簡直是笑話,對於公司而言,迅捷低成本的解決問題才是主要目標。當下的網際網路行業,一個好技術我覺得價值都不及好產品+好運營。技術有各種替品和方案,而設計好產品、能運營出來可不是件容易的事情。

vue作者的回應是必要的,至少可以避免不懂的人誤解。而大漠窮秋(後面簡稱大漠)的攻訐則是無聊的,似乎是因為vue的快速崛起,動了他的“乳酪” – 他一直在推廣Angular,也許在以此賺錢?不得而知,至少有這個利益驅動的嫌疑。

寫程式這麼多年,我一直反對不同語言、框架之間的無意義罵戰 – “PHP是世界上最好的語言!Java是最好的!XXX是最好的框架!”,這種話題除了滿地口水和髒字,啥問題也解決不了。人們研究、開發各種應用技術的主要目的是什麼?更快更好的解決實際問題。只要能在合適的場景,用更低成本滿足了需要,就是好技術。絕大部分人都不是做基礎研究的,技術人員,莫忘初心。

這裡不是說,程式語言、技術的對比沒必要、沒有意義。比較的目的在於瞭解不同技術的適用場景和優缺點,以便在選型的時候,找到合適的方案。發明出來的各種程式語言幾百種,每個熱門語言的程式設計框架都一大堆,自由競爭、優勝劣汰。留存下來的語言、技術,必有可取之處,即便被逐漸淘汰的那些,它的精華往往也被新的技術吸收,繼續創新、發揚光大了。新的技術層出不窮,不斷切割原有語言的應用領域,特別是C++。過去一兩種語言包打天下的時代早就過去了。當下的技術人員,多學多會幾種不同的語言,讓自己技術全面,是很有好處的。我會寫C/C++,能幹PHP,JavaScript前端、Node.js我也能開發,Python也可以拿來就用,多學幾樣很難麼?我的朋友Wildfire技術更是全面,膜拜。只懂一門,技術再精,也難免眼光狹隘。同時懂得各種技術,你就會發現其妙處:可以組合出一套“瑞士軍刀”,混合不同的技術來解決單一語言難以處理的問題。在做技術方案設計的時候,還可以拿捏出一個技術組合的平衡點。這就能為配合產品的設計、運營推廣帶來更好的合作基礎。技術是產品的一環,而遠不是全部,別把自己當核心。

大漠噴vue抄襲Angular,也沒有噴對點 – 人家早就宣告瞭vue是借鑑過Angular的。開源世界裡面,idea是不被保護的,相互借鑑、抄襲設計理念甚至是被鼓勵的,那是原創者的榮耀。你實現了一個好的創意,別人抄過去很正常,別人設計的棒,你抄過來也沒什麼負罪感。因為技術就是這麼積累、進步的,所以好的東西才能留存沉澱啊。開源的一大優勢,就在於知識的傳播擴散更快了。開源世界裡面,經常是一個框架做了探索,其它框架認為合理的,也實現了出來。難道這不是好事嘛?比如Web開發框架,多半都是MVC架構,ORM設計、DI模式實現等等都有類似的地方。其實這就是技術沉澱的結果。大家在這個發展階段,都採用公認的好的設計模式,也降低了框架互換、模組互動的成本。學熟了一套框架,換一個上手也往往不是難事。你能拿著一個框架,嚷嚷別人無恥,都抄了它的設計麼?其實它也借鑑別人,最好的設計也未必是它原創。甚至業內還有跨語言的借鑑、啟發。當年的Ruby on Rails,給Web框架開發者們貢獻了多少好的理念?Python/PHP的框架設計,好些都是學它。有什麼“可恥”的麼?我絲毫不覺得,這不是侵權。開源世界的活力就在這裡,知識都是開放的,你借鑑也貢獻。

微軟的東西就不是這樣。我離開微軟平臺有10多年了,它的鐵桿粉絲,被坑無數。微軟喜歡反覆推倒重來。它每次都重來一遍,宣稱這個是最牛的,已經成熟了,快來學習使用吧!然後你一頭扎進去了,剛學個半生不熟,MS又推翻了。你白學了那套,浪費無數時間精力,微軟才不管你的感受,反正每次它都是對的。你看.Net平臺還能跟Java平臺相提並論嗎?差距已經天上地下了。

enter image description here

我不會牴觸Angular,也會繼續擁抱vue,按前端界這種瘋狂的進化速度,哪天又有了一個新框架,吸收了Angular/vue的精華,幹掉它們兩個也很正常。能更好的解決問題的就是好技術,歡迎推陳出新,這就是技術進步。

後記:寫完此文發出,老朋友七貓評論:“要是我,我就直接寫,angular已經落伍了”。​​​​

作者部落格

相關文章