當前位置:首頁 » 網頁前端 » jsweb開發框架
擴展閱讀
c語言中輸入值後不運行 2022-07-02 01:08:09
寬頻連接刪除了怎麼恢復 2022-07-02 01:06:38
平板緩存期是什麼意思 2022-07-02 01:06:18

jsweb開發框架

發布時間: 2022-05-19 16:21:20

Ⅰ .JS有哪些框架

目前來看,JS框架以及一些開發包和庫類有如下幾個,Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx
Dojo (JS library and UI component ):
Dojo是目前最為強大的j s框架,它在自己的Wiki上給自己下了一個定義,dojo是一個用JavaScript編寫的開源的DHTML工具箱。dojo很想做一個「大一統」的 工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo包括ajax, browser, event, widget等跨瀏覽器API,包括了JS本身的語言擴展,以及各個方面的工具類庫,和比較完善的UI組件庫,也被廣泛 應用在很多項目中,他的UI組件的特點是通過給html標簽增加tag的方式進行擴展,而不是通過寫JS來生成,dojo的API模仿Java類庫的組織 方式。 用dojo寫Web OS可謂非常方便。dojo現在已經4.0了,dojo強大的地方在於界面和特效的封裝,可以讓開發者快速構建一些兼容標準的界面。
優點:庫相當完善,發展時間也比較長,功能強大,據說利用dojo的io.bind()可以實現comet,看見其功能強大非一般,得到IBM和SUN的支持
缺點:文件體積比較大,200多KB,初次下載相當慢,此外,dojo的類庫使用顯得不是那麼易用,j s語法增強方面不如prototype。
Prototype (JS OO library):
是一個非常優雅的JS庫,定義了JS的面向對象擴展,DOM操作API,事件等等,以prototype為核心,形成了一個外圍的各種各樣 的JS擴展庫,是相當有前途的JS底層框架,值得推薦,感覺也是現實中應用最廣的庫類(RoR集成的AJAX JS庫),之上還有 Scriptaculous 實現一些JS組件功能和效果。
優點:基本底層,易學易用,甚至是其他一些js特效開發包的底層,體積算是最小的了。
缺點:如果說缺點,可能就是功能是他的弱項
Scriptaculous (JS UI component based on prototype):
Scriptaculous是基於prototype.js框架的JS效果。包含了6個js文件,不同的文件對應不同的js效果,所以說,如果底層用 prototype的話,做js效果用Scriptaculous那是再合適不過的了,連大名鼎鼎的digg都在用他,可見不一般
優點:基於prototype是最大的優點,由於使用prototype的廣泛性,無疑對用戶書錦上添花,並且在《ajax in action》中就拿Scriptaculous來講述js效果
缺點:剛剛興起,需要時間的磨練
yui-ext (JS UI component):
基於Yahoo UI的擴展包yui-ext是具有CS風格的Web用戶界面組件 能實現復雜的Layout布局,界面效果可以和backbase媲美,而且使用純javascript代碼開發。真正的可編輯的表格Edit Grid,支持XML和Json數據類型,直接可以遷入grid。許多組件實現了對數據源的支持,例如動態的布局,可編輯的表格控制項,動態載入的Tree 控制項、動態拖拽效果等等。1.0 beta版開始同Jquery合作,推出基於jQuery的Ext 1.0,提供了更多有趣的功能。
優點:結構化,類似於java的結構,清晰明了,底層用到了Jquery的一些函數,使整合使用有了選擇,最重要的一點是界面太讓讓人震撼了。
缺點:太過復雜,整個界面的構造過於復雜。
Jquery :
jQuery是一款同prototype一樣優秀js開發庫類,特別是對css和XPath的支持,使我們寫js變得更加方便!如果你不是個js高手又想寫出優 秀的js效果,jQuery可以幫你達到目的!並且簡介的語法和高的效率一直是jQuery追求的目標,
優點:注重簡介和高效,js效果有yui-ext的選擇,因為yui-ext 重用了很多jQuery的函數
缺點:據說太嫩,歷史不悠久。
Mochikit :
MochiKit自稱為一個輕量級的js框架。MochiKit 主要受到 Python 和 Python 標准庫提供的很多便利之處的啟發,另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.DOM 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 DOM 對象。MochiKit.DOM 大部分都是針對 XHTML 文檔定製的,如果與 MochiKit 和 Ajax 結合在一起,使用 XHTML 包裝的微格式尤其方便。Mochikit可以直接對字元串或者數字格式化輸出,比較實用和方便。它還有自己的 js 代碼解釋器
優點:MochiKit.DOM這部分很實用,簡介也是很突出的
缺點:輕量級的缺點
mootools :
MooTools是一個簡潔,模塊化,面向對象的JavaScript框架。它能夠幫助你更快,更簡單地編寫可擴展和兼容性強的JavaScript代碼。Mootools跟prototypejs相類似,語法幾乎一樣。但它提供的功能要比prototypejs多,而且更強大。比如增加了動畫特效、拖放操作等等。
優點:可以定製自己所需要的功能,可以說是prototypejs的增強版。
缺點:不大不小,具體應用具體分析
moo.fx :
moo.fx是一個超級輕量級的javascript特效庫(7k),能夠與prototype.js或mootools框架一起使用。它非常快、易於使用、跨瀏覽器、符合標准,提供控制和修改任何HTML元素的CSS屬性,包括顏色。它內置檢查器能夠防止用戶通過多次或瘋狂點擊來破壞效果。moo.fx整體採用模塊化設計,所以可以在它的基礎上開發你需要的任何特效。
優點:小塊頭有大能耐
缺點:這么小了,已經不錯了

Ⅱ 什麼是js框架

Javascript框架是指以Javascript語言為基礎搭建的編程框架。

JavaScript框架如今正融入到屬於自己的Web和移動應用程序中,構建後端API和豐富的前台客戶端是一大趨勢,而這些又多由JavaScript框架編寫而成。

在開發前台界面時應用API,便會更加熟悉API,也會對工作內容了如指掌,當應用該項技術編寫客戶端,編寫頂級iPhone或者Android應用程序就會變得非常容易。

在JavaScript框架出現之前,開發人員只能在頁面上進行jQuery操作。這種方式很容易引起開發人員對編碼操作的困惑,而且也不易管理。

Backbone是最初的領跑者,提供了一個基本的結構和組織以及開發者友好的框架,如Angular和Ember。

(2)jsweb開發框架擴展閱讀:

javascript的特點:

1、一種解釋性執行的腳本語言。

同其他腳本語言一樣,javascript也是一種解釋性語言,其提供了一個非常方便的開發過程。

2、一種基於對象的腳本語言。

其也被看作是一種面向對象的語言,這意味著javascript能運用其已經創建的對象。因此,許多功能可以來自於腳本環境中對象的開發方法 與腳本的相互作用。

3、一種簡單弱類型腳本語言。

javascript是一種基於java基本語句和控制流之上的簡單而緊湊的設計,從而對於使用者學習java或其他c語系的編程語言是一種非常好的過渡。

4、一種相對安全腳本語言。

javascript作為一種安全性語言,不被允許訪問本地的硬碟,不允許對網路文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失或對系統開發的非法訪問。

Ⅲ JS有哪些框架

Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx。

Ⅳ 如何選擇「Node.js Web」的開發框架

建議選擇koa和Egg。

Ⅳ JS的常用開發框架有哪些

Yui-ext


基於Yahoo UI的擴展包yui-ext是具有cs風格的web用戶界面組件,能實現復雜的Layou布局,界面效果可以和backbase比美,而且使用純JavaScript代碼開發。真正的可編輯的表格edit Grid,支持XML和Json數據類型。許多組件實現了對數據源的支持,如動態布局,動態載入Tree控制項,動態拖拽效果等等。從1..0beta版開始同jQuery合作,推出基於jQuery的ext1.0,提供了更多有趣的功能。


優點:結構化,清晰明了,底層用到了jQuery的一些函數,使整合使用有了選擇,最重要的一點是界面太 讓人震撼了。


缺點:太過於復雜,整個界面的構造過於復雜。


Jquery


任何使用場景都適用;jQuery是一款同prototype一樣優秀的js開發類庫,特別是針對css和xpath的支持,使我們寫JS變得更加方便。


優點:注重簡潔和高效,js效果有yui-ext的選擇,因為yui-ext重用了很多jquery的函數;


缺點:據說太嫩,歷史不悠久。


Extjs 內部系統,後台系統,管理系統等,有很好的UI設計;


Dojo


功能是最為強大的JS框架,Dojo是一個用JavaScript編寫的開源的DHTML工具箱。Dojo包括Ajax、browser、event、widget等跨瀏覽器API,包括了js本身的語言擴展,以及各個方面的工具類庫,和比較完善的UI組件庫。Dojo強大的地方在於界面和特效的封裝,可以 讓開發者快速構建一些兼容標準的界面。適合企業應用和產品開發;


優點:庫相當完善,發展時間也比較長,得到sun和IBM的持。


缺點:文件體積比較大,200多kb,JS語法增強方面不如prototype。


Prototype


最成熟的框架;定義了JS的面向對象擴展,Dom操作API,事件等等,以prototype為核心,形成一個外圍的各種各樣的JS擴展庫;


優點:基本底層,易學易用,甚至是其他一些JS特效開發包的底層,體積算是最小的;


缺點:如果說缺點,可能就是功能是它的弱項;


Ⅵ web前端常用的框架有哪些

現在比較常用的主流框架有Vue、React、Angular。
Angular
Angular原名angularJS誕生於2009年,之前我們都是用jquery開發,自從angular的出現讓我們有了新的選擇,它最大的特點是把後端的一些開發模式移植到前端來實現,如MVC、依賴注入等,創新式的雙向數據綁定不知簡化了我們多少代碼,讓我們為之瘋狂,特別是表單處理方面,從此名聲大噪。
好的框架一般會有兩個結果,一個繼續不斷更新迭代,避免被拍死在沙灘上,一個是被一些大公司收購煥發第二春,angular屬於後者被google所收購,且從2.0後改名angular並使用微軟的typescript作為開發語言,目前最新版本8.0,照說傍上google與微軟這兩條大船,前途應該不可限量才對,然而造化弄人,現在angular的市場份額已經被React這個後起之秀和Vue這顆新星遠遠地甩到腦後。
React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益於其創新式的VirtualDOM,性能上碾壓angularJS,一經推出,火的一塌糊塗。 特點很多,VirtualDOM、JSX、Diff演算法等,支持ES6語法,採用函數式編程,門檻稍高,但也更靈活,能讓開發具有更多可能性。
Vue
Vue作為最後推出的框架(2014年),借鑒了前輩angular和react的特點(如VirtualDOM、雙向數據綁定、diff演算法、響應式屬性、組件化開發等)並做了相關優化,使其使用起來更加方便,更容易上手,比較少適合初學者。網上有很多人說Vue不適合做大型項目,純屬扯淡,Vue在這方面已經優化得很好,當然,大量的響應式屬性(監聽屬性)也許會用一定的性能損耗,但在硬體、網路大力發展的今天,這些細微的性能差異幾乎感覺不到。

Ⅶ Web框架開發語言有哪些

Web框架開發語言有哪些?Web框架也可以理解為B/S(Brouser/Server)框架,是一種基於瀏覽器載體的框架,包含前端、後端和資料庫三個大的方向,各個方向的工具技術都不一樣。現在主流的工具技術包含.NET、sqlServer、Bootstrap等,開發工具也會不一樣。

Web開發框架

Web前端開發技術框架包括三個要素:HTML、CSS和JavaScript,當然還有很多高級的前端框架,比如bootstrap、Jquery等。

Web後端技術框架也有很多,比如.Net、JAVA、PHP等,各大語言都有其開發架構和工具,像.NET的MVC架構和VisualStudio工具,JAVA的J2EE架構和Eclipse工具。

資料庫現在有三種主流的關系型資料庫:MysqlSQLserverOracle,還有Nosql非關系型資料庫:Redis、Mogodb等。開發工具有SQLServerManagementStudio、Navicat等。

Ⅷ Web前端開發框架有哪些

目前常用的一些前端的框架如下:
1. Bootstrap

Boostrap絕對是目前最流行用得最廣泛的一款框架。它是一套優美,直觀並且給力的web設計工具包,可以用來開發跨瀏覽器兼容並且美觀大氣的頁面。它提供了很多流行的樣式簡潔的UI組件,柵格系統以及一些常用的JavaScript插件。

Bootstrap是用動態語言LESS寫的,主要包括四部分的內容:

腳手架——全局樣式,響應式的12列柵格布局系統。記住Bootstrap在默認情況下並不包括響應式布局的功能。因此,如果你的設計需要實現響應式布局,那麼你需要手動開啟這項功能。
基礎CSS——包括基礎的HTML頁面要素,比如表格(table),表單(form),按鈕(button),以及圖片(image),基礎CSS為這些要素提供了優雅,一致的多種樣式。
組件——收集了大量可以重用的組件,如下拉菜單(dropdowns),按鈕組(button groups),導航面板(navigation control)——包括:tabs,pills,lists標簽,麵包屑導航(breadcrumbs)以及頁碼(pagination),縮略圖(thumbnails),進度條(progress bars),媒體對象(media objects)等等。
JavaScript——包括一系列jQuery的插件,這些插件可以實現組件的動態頁面效果。插件主要包括模態窗口(modals),提示效果(tool tips),「泡芙」效果(popovers),滾動監控(scrollspy),旋轉木馬(carousel),輸入提示(typeahead),等等。

Bootstrap已經足夠強大,能夠實現各種形式的 Web 界面。為了更加方便地利用Bootstrap進行開發,很多工具和資源可以用來配合使用,下面列舉了其中的一部分工具和資源。

jQuery UI Bootstrap —— 對於jQuery和Bootstrap愛好者來說這是個非常好的資源,能夠把 Bootstrap的清爽界面組件引入到jQuery UI中。
jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主題類似,這是一個為jQuery mobile建立的主題。如果你想讓用Bootstrap開發的網站在手機端也可以優雅訪問,那麼這個資源對你來說很方便易用。
Fuel UX —— 它為Bootstrap添加了一些輕量的JavaScript控制項。Fuel UI 安裝,修改,更新以及優化都很簡單方便。
StyleBootstrap.info —— Bootstrap提供了自己的幾種界面風格,StyleBootstrap提供了更多的配色選項,並且你可以給每個組件都應用不同的配色。
BootSwatchr —— 利用這個工具你可以立刻查看主題修改後的效果。對於每一次變動的效果,這個應用都會生成一個唯一的URL方便你與他人分享,你也可以在任意時刻修改你的主題。
Bootswatch —— 提供大量免費的Bootstrap主題。
Bootsnipp —— 在線前端框架交互組件製作工具,是一個供給設計師和開發者的基於Bootstrap HTML/CSS/JavaScript 架構的免費元素。
LayoutIt —— 通過界面拖放生成器簡便快捷地創建基於Bootstrap的前端代碼。通過拖放動作將Bootstrap風格的組件加入到你的個人設計里並且可以方便地修改他們的屬性,簡單便捷。
2、flex
Apache基金會發布了Flex 4.8版本,這是Adobe將Flex捐獻給Apache基金會後發布的第一個版本
需要注意的是
2014年03月10日,Apache Flex技術社區發布了全新的Apache Flex 4.12.0版本,該版本是Apache Flex 4.11.0的升級版本,改進的功能包括:
◆支持最新版本的Flash Player
◆支持最新的AIR運行時
◆改進了內存佔用和性能
◆改善了針對移動平台的組件的樣式
◆支持iOS7系統
◆修復了超過80個漏洞[4]
2014年05月10日,Apache對4.12.0版本進行優化改進,發布了Flex 4.12.1,新版本加入對全新Flash Player及Air運行時的支持,改進對移動媒體查詢的支持,並修復20多個Bug。
3、extjs
ExtJS是一種主要用於創建前端用戶界面,是一個基本與後台技術無關的前端ajax框架。
功能豐富,無人能出其右。
無論是界面之美,還是功能之強,ext的表格控制項都高居榜首。
華麗的界面,靈活的功能,還有開發工具都是配套的,但有個最大的問題,用就得花錢!

4、easyui
easyui幫助你構建你的web應用更加容易。
它是一個基於jquery的插件,開發出來的一套輕量級的ui框架,非常小巧而且功能豐富。
但是她有一個最大的問題就是代碼只能找到以前的開源的版本,到了1.2以後的版本源代碼都是經過混淆的,如果遇到問題修改起來會非常麻煩!不過一個比較大的優勢是開源免費,並且界面做的還說的過去!
5、MiniUI
又一個基於jquery的框架,開發的界面功能都很豐富。
jQuery MiniUI – 快速開發WebUI。
它能縮短開發時間,減少代碼量,使開發者更專注於業務和服務端,輕松實現界面開發,帶來絕佳的用戶體驗。
使用MiniUI,開發者可以快速創建Ajax無刷新、B/S快速錄入數據、CRUD、Master-Detail、菜單工具欄、彈出面板、布局導航、數據驗證、分頁表格、樹、樹形表格等典型WEB應用系統界面。
界面做的挺不錯,功能也挺豐富,但是有兩個比較大的問題,一個是收費,一個是沒有源碼,說白了,不開源!基於這個開發如果想對功能做擴展就需要找他們的團隊進行升級!
6、jQuery UI
jQuery UI 是一套 jQuery 的頁面 UI 插件,包含很多種常用的頁面空間,例如 Tabs(如本站首頁右上角部分) 、拉簾效果(本站首頁左上角)、對話框、拖放效果、日期選擇、顏色選擇、數據排序、窗體大小調整等等非常多的內容。
功能非常全面,界面也挺漂亮的,可以整體使用,也可以分開使用其中的幾個模塊,免費開源!
7、DWZ
DWZ富客戶端框架(jQuery RIA framework), 是中國人自己開發的基於jQuery實現的Ajax RIA開源框架.
設計目標是簡單實用,快速開發,降低ajax開發成本。
歡迎大家提出建議,我們將在下一版本中進一步調整和完善功能.共同推進國內整體ajax開發水平。
畢竟是國產的,支持一下,而且源碼完全公開,可以選擇一下!不過性能怎麼樣不敢確定!
8、GWT
Google 網頁工具包——GWT 提供了一組基於Java語言的開發包,這個開發包的設計參考Java AWT包設計,類命名規則、介面設計、事件監聽等都和AWT非常類似。熟悉Java AWT的開發者不需要花費多大的力氣就能夠快速的理解GWT開發工具包,將更多地時間投入到GWT應用的開發過程中。
你不用去了解這樣那樣的javascript框架,通過java你就可以寫出功能豐富的界面,可以做單元測試,畢竟是google的產品,嚴重支持一下!
9、YUI
Yahoo! UI Library (YUI) 是一個開放源代碼的 JavaScript 函數庫,為了能建立一個高互動的網頁,它採用了AJAX, DHTML 和 DOM 等程式碼技術。它也包含了許多 CSS 資源。使用授權為 BSD許可證,基本上沒怎麼研究過!
YUI Compressor倒是挺出名的,這套UI庫不知道應用的情況怎麼樣!
10、Sencha
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三個項目合並而成的一個新項目。
大公司的框架,並且是幾樣庫的強強聯合,值得推薦!
11、Dojo
在國內應用好像不是很廣,不過性能上應該沒問題。
Dojo是一個用javascript語言實現的開源DHTML工具包。
有多個基金會的支持,包括IBM和SUN,都是軟體界的泰斗,值得信賴!
12、ZK
ZK是 一套以 AJAX/XUL/Java 為基礎的網頁應用程式開發框架,用於豐富網頁應用程式的使用介面。最大的好處是,在設計AJAX網路應用程式時,輕松簡便的操作就像設計桌面程式一樣。 ZK包含了一個以AJAX為基礎、事件驅動(event-driven)、高互動性的引擎,同時還提供了多樣豐富、可重復使用的XUL與HTML組件,以 及以 XML 為基礎的使用介面設計語言 ZK User-interfaces Markup Language (ZUML)。
功能豐富,全面,文檔齊全,而且升級了很多次,非常值得推薦!
13、OperaMasks-UI
OperaMasks- UI是OperaMasks團隊 2011下半年打造的一款輕量級前端JS組件庫,旨在提供一款學習曲線低、定製性靈活、樣式統一,且多瀏覽器支持、覆蓋企業業務場景的前端 JavaScript UI組件庫。目前,該團隊已將這一產品以LGPL 開源協議開放給社區。
文檔豐富,功能齊全,而且很容易使用和開發!而且是國產的喲!
14、JavaFX
Sun 公司(已於2009年被Oracle公司收購)在2008年12月05日發布了JavaFX技術的正式版,它使您能利用 JavaFX 編程語言開發富互聯網應用程序(RIA)。JavaFX Script 編程語言(以下稱為JavaFX)是Sun微系統公司開發的一種declarative, statically typed(聲明性的、靜態類型)腳本語言。JavaFX技術有著良好的前景,包括可以直接調用Java API的能力。因為 JavaFX Script是靜態類型,它同樣具有結構化代碼、重用性和封裝性,如包、類、繼承和單獨編譯和發布單元,這些特性使得使用Java技術創建和管理大型程序 變為可能。

Ⅸ 目前nodejs都有什麼框架呢哪個最好

對於開發者來最好的15個Node.JS框架:
Kiss
Kiss.js使用Django風格的模板。通過項目你可以看到,客戶端的coffee scripts腳本在剛開始時會被載入。樣式使用Stylus。
Sails
Sails 很容易]創建自定義的,企業級的Node.js應用。它被設計成你熟悉的類似Ruby on Rails的MVC框架,但是又可以滿足現代應用的需要: 可擴展的數據驅動介面,面向服務的架構。它特別擅長設計圖表,時時表單,或多人游戲,你可以在任何項目中使用。
Total
Total.js是另外一舊助你創建Node.js,Web頁面/應用的好框架,同樣支持MVC架構。它是一舊使用HTML,JavaScript和CSS創建的現代框架。

Partial
Partial.js又一個 Node.JS框架,開發者使用HTML,CSS和JavaScript可以創建大型的Web站點和應用。功能和架構類似於total.js
Flatiron
Flatiron.js同樣也是一舊現代的下一代的web框架,幫助開發者創建驚艷的web應用和功能。

Socket Stream
Socket Stream是被來設計時時響應的單頁面程序,基於快速的棋模塊化r 特性。

Socket.io
Socket.io是基於node.js的實時框架,支持HTML的WebSocket和跨瀏覽器的向後監察。

Dozer
Dozer是一款極快r 支持前端應用的系統。它不是一個框架,不是一個工具包。Dozer的設計原則是為前端提供RESTful API的介面支持。
Coke
COKE是一個輕量級的MVC框架。它非常簡單,模塊化的,非常快。

Express.io
Express.io是一組實時的基於node.js的web開發框架,支持MVC構架創建Web應用。

Opa
Ops是g 個JavaScript的框架-快速的加密的Web開發。

Spine
現代的MVC模式,完全支持現代JavaScrip應用。

Mean
MEAN是一款優化後的全棧javascript node.js框架,將簡化和加速你的web應用開發。

Sleek
一步就叫座創建快速的,靈活的,友好的web程序。

Stapes
Stapes.js假設你的流程和風格是未知r 。
kraken
Kraken是一個安全的可擴展的框架,可以幫助你更好組織你的架構。他們的模塊都可以獨立使用。

Derby
Web webjs將你的伺服器端腳本變得更簡單,更穩定,可讀性晚好。
Geddy.
WINTERSMITH
基於node.js的快速的極小的,多平台支持的站點生成器。

Ⅹ 如何選擇Node.js Web開發框架

Node.js非常適用於Web開發,但是現在無論是一個網站,還是Web
App都已經成為包括很多不同部分,如前端、資料庫、業務模塊、功能模塊等等的大型項目,使用Node.js從零開始進行Web開發,也許大中型團隊能夠
勝任,但對於個人和小型團隊來說是不現實的。這時候框架就成為Web開發利器,對於個人開發來說幾乎是必不可少。那麼如何選擇Node.js
Web開發框架呢?

首先,我們必須要弄清楚的是,我們需要的是——

程序 or 框架?

程序是已經成型的應用,你需要的是為它搭建環境、添加配置,然後就可以運行起來;框架則是應用的骨架,你需要為它添加數據模型、業務邏輯,它才能成為應用,開始提供服務。

事實上,對於Web開發來說,程序和框架的區別正越來越模糊,比如幾乎婦孺皆知的Wordpress,它是一個博客程序,但它豐富的插件以及
高度的
自定義能夠支持很大程度上的二次開發,在這點上它比起一些PHP框架也並不遜色。我個人認為,如果重心在於提供服務而不是掌握技術,有WordPress
這樣的程序是沒有必要使用框架的。

可惜的是,由於Nodejs還很年輕,目前還沒有WordPress這樣的程序,因此目前在Node.js開發里,如果想做出自己想要的作品,框架是必然的選擇。如果是某些特定類型的應用,可以嘗試一些開源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。

Node.js Web框架有哪些?

Node.js里的Web框架分為API框架和Web應用框架。前者能夠開發出RESTful的API,後者也能開發出RESTful API,但還包括模板、渲染等為前端所准備的功能。

API框架的使用場景是為跨平台應用提供統一的數據模型,而渲染由前端/客戶端自行解決。目前比較知名的API框架有

restify(文檔、Github、NPM)
ActionHero.js(官網、Github、NPM)
LoopBack(官網、Github、NPM)
Frisby(官網、Github、NPM)
Fortune.js(官網、Github、NPM)

Web應用框架顧名思義,就是為了打造Web應用所開發的框架。這里有兩種風格的Web應用框架。

一個是Sinatra風格,另一個是Rails風格。Sinatra和Rails都是Ruby語言的Web框架,後者的影響力更大也更為知名。這里簡單的解釋一下兩種風格是什麼意思。

Sinatra風格是指高度可配置,注重開發的自由度。代表性的Nodejs Web框架有:

Express(官網、Github、NPM)TJ大神開發,Node.js官方推薦
hapi(官網、Github、NPM)
koa.js(官網、Github、NPM)
flaliron(官網、Github、NPM)
total.js(官網、Github、NPM)
locomotive(官網、Github、NPM)

Rails風格則是指不重復自己和約定優於配置,以及嚴格遵循MVC結構開發。代表性的框架有:

Sails.js(官網、Github、NPM)
geddy(官網、Github、NPM)
CompoundJS(官網、Github、NPM) 原railswayjs

這兩種風格無所謂誰優誰劣,全憑使用者的偏好。

而在這兩種Web框架之外,還有更大型的框架,即全棧框架,其中的代表是MEAN。