哪些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 | 前端工程師 |