哪些JS框架和庫最有發展前途?
2015年哪些JS框架和庫最有發展前途?
BTW:貌似不少人不懂框架和庫的區別,經常把一些JS庫叫做框架,請一併科普解答。
發展前途什麼的不了解,但框架(framework)和庫 (library)是截然不同的兩個概念,下面簡單區分一下。
什麼是庫呢?比如,你覺得用原生的 AJAX 太麻煩,不僅需要寫 XMLHttpRequest, onreadystatechange 這種冗長的名稱,為了兼容舊版 IE 甚至還要考慮先判斷 window.XMLHttpRequest 是否定義。這樣即便是完成最簡單的功能也需要十多行代碼。於是有人把這些麻煩的代碼預先幫你寫好,提供了一套方便的介面供你調用(比如 jQuery 中一個 ajax 函數就能完成幾乎所有日常功能),就出現了一個庫。總之,庫包含一些能夠完成特定或特定類型的明確任務的可供重用的代碼。你告庫做你想做的事,庫就會幫你做好,你不在乎庫是怎麼做的,庫不知道你做這件事的意圖。
框架和庫的最重要區別是其控制反轉(inversion of control)的特點。簡單地說,整個程序的控制流程不是你,而是框架。引用 Stack Overflow 上的精闢的一個答案:You call Library.
Framework calls you.
框架就像整個程序的骨架,擁有默認的有意義的行為,或者說知道在特定的情況下應該做什麼樣的事情。你可以通過特定的方式(比如類的繼承)替代這些默認行為,從而以這個框架為基礎進行擴展。在適當的時候,框架則會調用你的代碼。這樣整個程序就實現了你想實現的功能。
VanilaJS 在可見的未來還不會被淘汰。
時至今日,沒有那個 JS 框架看上去是最有前途的。回首隻能看到 jQuery,雖然也要死。比較熱的有 React、Angular。框架都只適應與特定的場景,只有永遠的類庫,沒有永遠的框架。
留個腳印,這兩周正在擼一個新的js框架,等擼好了給大家看看。
廣告門:
AngularJS 有沒有缺點?MVVM 框架中有比它更好的嗎? - 小豬的回答vanilla .js
http://vanilla-js.com/
壓縮後只有0KB,幾乎所有大型網站都在用,各瀏覽器兼容非常好,速度奇快
你值得擁有
javascript足已。
最近在看d3.js,興趣使然。我覺得學習一個東西要看自己是否喜歡,而且循序漸進,如果js基礎都沒打好,就去看node,angular,backbone是起不了多少效果的,相信我,我試過。
你們公司覺得什麼有前途,那麼就有前途。脫離場景,脫離場景說框架不是耍流氓嗎?
去各大招聘網站看看公司都要求掌握哪些框架就OK啦,哪些框架流行,公司說了算
還是自己寫一個吧,目前用下來,因為很多奇葩的需求會導致現有的框架無法滿足,需要自己寫一個或者擴展某個框架,因為框架實際上是設計了基本的默認行為模式,如果軟體需求和框架的默認行為模式發生衝突,尼瑪就崩了,所以一般現有的框架都比較裸體,現實使用的過程中往往要根據項目的需求做一些擴展,擴展的越具體,開發速度越快,但是應對詭異需求的能力就越弱。
Meteor,新一代實時框架,web網站的未來!
angularjs
補充兩點,前端架構的開發模式已經悄悄的發生了變革。其實我們一直是在給dom 「填坑」 一邊在完成自己的事。以前很多的js 庫是幫你填了不少的坑。比如說jQuery.現如今前端開發逐步越來越趨向 組件化,框架化,所有這麼做的目的還是這樣 讓你不必在為該用哪個方法來操作dom而煩惱。angularJs 是個還不錯的框架,他對既有的前段開發方式有很大的轉變。說兩個個人認為最激動的特性,雙向數據綁定,指令系統。其中好處怎麼樣。要自己體會了。另外捎帶說一個semantic ui 是我最喜歡的css framework。
推薦閱讀:
※做單頁應用,路由跳轉時我要把參數帶在URL上,產品經理說要放 window 下面帶過去,我該怎麼解釋?
※現在從事 Web 前端開發的高級工程師,想請問你們初入行時的戰鬥力如何?
※css百分比布局遇到的問題?
※前端工程師需要哪些技能?
※如何找到一份前端開發的工作?
TAG:前端開發 | 程序員 | JavaScript | Nodejs | 前端工程師 |