-
當前位置:首頁 > 創(chuàng)意學院 > 十大排名 > 專題列表 > 正文
js框架十大排名(js框架十大排名圖片)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于js框架十大排名的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,相關(guān)業(yè)務請撥打電話:175-8598-2043,或添加微信:1454722008
本文目錄:
一、除了angularJS還有哪些MVVM的框架
avalon
使用Object.defineProperties、 VBScript、 Object.observe,純事件驅(qū)動,兼容IE6,DOM的兼容性處理可與jQuery媲美,體積少
早期的四大MVVM框架,都有大公司引銜:
angularjs
google出品,思想來自flex,IoC, 臟檢測,自定義標簽,受限于綁定數(shù)量,一般不能超過2000個,入門容易上手難,大量避不開的概念
emberjs
原來是蘋果公司的內(nèi)部項目,使用Object.defineProperties, 體型龐大,MVVM只是其很少一部分
knockoutjs
微軟出品,使用函數(shù)偷龍轉(zhuǎn)鳳,最短編輯長度算法實現(xiàn)DOM的同步,兼容IE6,實現(xiàn)高超,但源碼極其難讀
winjs
微軟出品,使用Object.defineProperties,一個龐大的UI庫
這一兩年冒出來的:
react
facebook出品,帶來virtual dom的革命性概念,受限于視圖的規(guī)模
rivets
API比較精致
way
使用定時間同步
vue
使用Object.defineProperties實現(xiàn)同步,實現(xiàn)精致,但功能薄弱
regular
最近一個月才冒出來的新東西,網(wǎng)易推出的JS框架,自稱AngularJS與React的合體
drop
在知乎又剛剛聽說一個,用TypeScript寫的
二、在node.js領(lǐng)域中哪一個框架用來架構(gòu)API比較好
程序 or 框架?
程序是已經(jīng)成型的應用,你需要的是為它搭建環(huán)境、添加配置,然后就可以運行起來;框架則是應用的骨架,你需要為它添加數(shù)據(jù)模型、業(yè)務邏輯,它才能成為應用,開始提供服務。
事實上,對于Web開發(fā)來說,程序和框架的區(qū)別正越來越模糊,比如幾乎婦孺皆知的Wordpress,它是一個博客程序,但它豐富的插件以及高度的 自定義能夠支持很大程度上的二次開發(fā),在這點上它比起一些PHP框架也并不遜色。我個人認為,如果重心在于提供服務而不是掌握技術(shù),有WordPress 這樣的程序是沒有必要使用框架的。
可惜的是,由于Nodejs還很年輕,目前還沒有WordPress這樣的程序,因此目前在Node.js開發(fā)里,如果想做出自己想要的作品,框架是必然的選擇。如果是某些特定類型的應用,可以嘗試一些開源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。
回到頂部
Node.js Web框架有哪些?
Node.js里的Web框架分為API框架和Web應用框架。前者能夠開發(fā)出RESTful的API,后者也能開發(fā)出RESTful API,但還包括模板、渲染等為前端所準備的功能。
API框架的使用場景是為跨平臺應用提供統(tǒng)一的數(shù)據(jù)模型,而渲染由前端/客戶端自行解決。目前比較知名的API框架有
restify(文檔、Github、NPM)
ActionHero.js(官網(wǎng)、Github、NPM)
LoopBack(官網(wǎng)、Github、NPM)
Frisby(官網(wǎng)、Github、NPM)
Fortune.js(官網(wǎng)、Github、NPM)
Web應用框架顧名思義,就是為了打造Web應用所開發(fā)的框架。這里有兩種風格的Web應用框架。
一個是Sinatra風格,另一個是Rails風格。Sinatra和Rails都是Ruby語言的Web框架,后者的影響力更大也更為知名。這里簡單的解釋一下兩種風格是什么意思。
Sinatra風格是指高度可配置,注重開發(fā)的自由度。代表性的Nodejs Web框架有:
Express(官網(wǎng)、Github、NPM)TJ大神開發(fā),Node.js官方推薦
hapi(官網(wǎng)、Github、NPM)
koa.js(官網(wǎng)、Github、NPM)
flaliron(官網(wǎng)、Github、NPM)
total.js(官網(wǎng)、Github、NPM)
locomotive(官網(wǎng)、Github、NPM)
Rails風格則是指不重復自己和約定優(yōu)于配置,以及嚴格遵循MVC結(jié)構(gòu)開發(fā)。代表性的框架有:
Sails.js(官網(wǎng)、Github、NPM)
geddy(官網(wǎng)、Github、NPM)
CompoundJS(官網(wǎng)、Github、NPM) 原railswayjs
這兩種風格無所謂誰優(yōu)誰劣,全憑使用者的偏好。
而在這兩種Web框架之外,還有更大型的框架,即全??蚣?,其中的代表是MEAN。
回到頂部
MEAN?
MEAN指MongoDB+Express+Angular.js+Node.js,這一組合包括運行環(huán)境、數(shù)據(jù)庫、Web框架和前端引擎。被稱為 全??蚣埽‵ull-stack framework)。這其中除了Node.js之外,每一個都是可替換的,目標是創(chuàng)建從前端到后端,全部使用javascript的Web應用。
由于這一框架的完善性,有人將其稱為LAMP的接班人。LAMP即PHP的典型運行環(huán)境,Linux+Apache+MySql+PHP,被大量的用于各種虛擬主機上。
MEAN看似龐大,但事實上要構(gòu)建完整的現(xiàn)代化Web應用,特別是SPA(單頁面應用),這幾個組件都是難以缺少的,并且,其中每一項幾乎都是目前 情況下的最佳選擇,因此用于學習和重頭開始打造新的Web應用是非常合適的。但由于實際業(yè)務的獨特性,很可能要替換其中的組件,比如用Mysql來替換 MongoDB,因此,學習其中的原理和架構(gòu),打造自己的類MEAN框架也是一種選擇。
作為個人和小團隊來說,全棧框架MEAN基本上足夠了,但目前大多數(shù)全棧框架還包含一項特性,那就是實時,擁有實時功能的框架我們又稱為實時框架。
回到頂部
實時框架好嗎?
實時框架(Real-time framework)指包含了webSocket的雙向通信功能,能夠在服務器和客戶端做到實時通信的框架。
服務端和客戶端自由通信的需求一直都在,但由于HTTP協(xié)議本身的局限性,因此催生了Comet等變通的方法,但即使這樣也離實時相距甚遠。而當 Node.js興起后,另一個HTML5技術(shù)webSocket也漸漸成熟,人們突然發(fā)現(xiàn),實時通信一下子變得觸手可及,于是webSocket技術(shù)在 Node.js中得到大量的應用,其中最為知名的模塊就是socket.io,而各種全??蚣芤布娂娂尤雽崟r特性來應對更廣闊的開發(fā)需求。
目前有代表性的實時框架有:
Meteor(官網(wǎng)、Github、NPM)
MEAN.io(官網(wǎng)、Github、NPM)
Derby(官網(wǎng)、Github、NPM)
SocketStream(官網(wǎng)、Github、NPM)
不過說實話,目前能看到的實時通信的應用場景其實不多,其中大多集中于聊天室、to-do、實時圖表、在線游戲等領(lǐng)域。其他領(lǐng)域使用實時特性不但沒必要,而且是對服務器資源的浪費。因此目前是否要采用實時框架,要看具體的項目而定。
以上基本就是Node.js Web框架的現(xiàn)狀了,相信看到這里,對于選擇何種框架讀者已經(jīng)心里有數(shù)了吧。最后再介紹一個容易搞混的概念,和解釋一下我的選擇。
回到頂部
YEOMAN?
第一次見到這個詞,我還以為它和MEAN有什么聯(lián)系。事實上,它們是截然不同的兩個東西。YEOMAN由YO(腳手架)、grunt(構(gòu)建工具)、bower(包管理器),它代表的是一種工作流,與框架開發(fā)的思維方式完全不同。具體的介紹可見這里。
YEOMAN能夠和框架達到類似的目的,都是為構(gòu)建一個Web應用做好準備,但是要不要采用YEOMAN,則是見仁見智。我個人的看法是,學習 YEOMAN本身就需要不少時間,并且有一定的學習門檻。至少在目前,使用框架開發(fā)還是相對經(jīng)濟的,而如果以后YEOMAN這種模式推廣開來,再來學習也 不遲,更何況有一定的Node.js項目經(jīng)驗之后再來學習YEOMAN要輕松很多。
事實上,我還是很認可YEOMAN這種Generator+package Manager的模式的,這是因為Node.js本身崇尚微模塊的 概念,即無論是多么小的功能,都將它們模塊化,甚至大的模塊也要拆分成小的模塊,然后通過搭積木的方式來構(gòu)建應用。這樣能夠徹底的解耦,對于不容易調(diào)試的 Javascript來說,也有助于定位和修復應用中的問題。Generator就是這種理念催生下的產(chǎn)物,通過選擇不同的配置和選項,將積木搭起來。不 過對于這種模式目前大家也還處于實驗當中,不急于進行實際應用。
回到頂部
為什么我選擇了Hackathon Starter?
在我的個人項目中,使用的是Hackathon Starter,一個Node.js Web應用腳手架。
我使用它的原因是,要求高度可配置,同時又討厭寫一些配置的代碼,因此它對于我來說是很好的選擇。一些全??蚣軐ξ襾碚f,封裝過多,將原生的 Node.js/Express API隱藏掉了,要使用還需要一定的學習成本。而Express這樣的框架又太過簡潔,在實際的項目中使用還需要大量的插件和配置,而這些在 Hackathon Starter中都已經(jīng)幫我們做好了,同時還有一些示例代碼以供學習,對于新人來說非常友好,可以避免過多的挫折感。
三、除了angularJS還有哪些MVVM的框架
使用Object.defineProperties、 VBScript、 Object.observe,純事件驅(qū)動,兼容IE6,DOM的兼容性處理可與jQuery媲美,體積少
早期的四大MVVM框架,都有大公司引銜:
angularjs
google出品,思想來自flex,IoC, 臟檢測,自定義標簽,受限于綁定數(shù)量,一般不能超過2000個,入門容易上手難,大量避不開的概念
emberjs
原來是蘋果公司的內(nèi)部項目,使用Object.defineProperties, 體型龐大,MVVM只是其很少一部分
knockoutjs
微軟出品,使用函數(shù)偷龍轉(zhuǎn)鳳,最短編輯長度算法實現(xiàn)DOM的同步,兼容IE6,實現(xiàn)高超,但源碼極其難讀
winjs
微軟出品,使用Object.defineProperties,一個龐大的UI庫
這一兩年冒出來的:
react
facebook出品,帶來virtual dom的革命性概念,受限于視圖的規(guī)模
rivets
API比較精致
way
使用定時間同步
vue
使用Object.defineProperties實現(xiàn)同步,實現(xiàn)精致,但功能薄弱
regular
最近一個月才冒出來的新東西,網(wǎng)易推出的JS框架,自稱AngularJS與React的合體
drop
在知乎又剛剛聽說一個,用TypeScript寫的
四、github的前端js用的是什么框架
近期 GitHub 前端框架數(shù)據(jù)顯示,React 排名第一,Vue 緊隨其后,Vue.js已經(jīng)成為當前前端開發(fā)框架領(lǐng)域的佼佼者之一。
還有Backbone、Ember、Polymer、Angular、Roit、Aurelia。
以上就是關(guān)于js框架十大排名相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
PHP寫接口(php寫接口實現(xiàn)json文件讀?。?/a>
伊犁高端餐飲品牌設(shè)計(伊犁高端餐飲品牌設(shè)計招聘)