本文推薦了11款常見的Web應(yīng)用程序框架,并列出了相關(guān)的學(xué)習(xí)資料和下載文檔。如果對這些項目還不熟悉,就趕緊學(xué)起來吧~
Rails
Rails是Ruby on Rails的簡稱,是一款開源的Web應(yīng)用框架,采用Ruby語言,其設(shè)計原則是“不做重復(fù)的事”和“慣例優(yōu)于設(shè)置”,是一款更符合實際需要而且更加高效的Web開發(fā)框架。Rails是一個全棧式的MVC框架,使用它可以實現(xiàn)MVC模式中的各個層次,并使它們無縫地協(xié)同運轉(zhuǎn)起來。除此以外,還有編寫更少的代碼、零周轉(zhuǎn)時間等優(yōu)點。
Express
Express是 Node.js 的一個MVC開發(fā)框架,支持jade等多種模板,是Node.js上最流行的Web開發(fā)框架。提供一系列強大特性幫助你創(chuàng)建各種Web應(yīng)用。Express不對Node.js已有的特性進行二次抽象,只是在Node.js基礎(chǔ)上擴展了Web應(yīng)用所需的功能。
Django
Django是一個由Python寫成的開源的Web應(yīng)用框架。采用了MVC的軟件設(shè)計模式。它開發(fā)最初是被用于管理勞倫斯出版集團旗下的一些以新聞內(nèi)容為主的網(wǎng)站,并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時的吉普賽爵士吉他手Django Reinhardt來命名的。Django的主要目標(biāo)是使開發(fā)復(fù)雜、數(shù)據(jù)庫驅(qū)動的網(wǎng)站變得簡單。Django注重組件的重用性和“可插拔性”,敏捷開發(fā)和DRY(Don’t Repeat Yourself)法則。
Meteor
Meteor是一種新型JavaScript框架,用于WebApp應(yīng)用程序開發(fā)。Meteor的基礎(chǔ)構(gòu)架是Node.JS+MongoDB,它把這個基礎(chǔ)構(gòu)架同時延伸到了瀏覽器端,如果App用純JavaScript寫成,JS APIs和DB APIs就可以同時在服務(wù)器端和客戶端無差異地調(diào)用,本地和遠(yuǎn)程數(shù)據(jù)通過DDP(Distributed Data Protocol)協(xié)議傳輸。因此部分應(yīng)用如TODO列表,網(wǎng)絡(luò)在線和離線下使用功能完全沒有差異,動作響應(yīng)和數(shù)據(jù)延遲也完全感覺不出來。
CakePHP
CakePHP是一款基于PHP的免費開源框架,運用了諸如ActiveRecord、Association Data Mapping、Front Controller和MVC等著名設(shè)計模式的快速開發(fā)框架。該項目可以讓PHP開發(fā)人員快速地開發(fā)出健壯、靈活的Web應(yīng)用。
Symfony
Symfony是一款基于MVC架構(gòu)的PHP開源框架,基于PHP5開發(fā),其致力于減少重復(fù)代碼的編寫,以加速Web應(yīng)用的開發(fā)和維護。并且在企業(yè)背景下構(gòu)建非常健壯的應(yīng)用。Symfony擁有簡單的模板功能、緩存管理、自定義URL等特點。對于新手來說,也非常容易上手。
Sinatra
Sinatra是一款非常輕量的Web框架,基于Ruby語言開發(fā),旨在以最小的精力為代價快速創(chuàng)建Web應(yīng)用為目的的DSL(領(lǐng)域?qū)僬Z言)。Sinatra最大的特點就是非常輕量、快速,整個源碼也只有1000多行。
Flask
Flask是一個輕量級的、高擴展性的Web應(yīng)用“微”框架,使用最簡單的核心,并允許你通過Flask-extension擴展各種功能,以滿足Web應(yīng)用開發(fā)中的所有需求。Flask依賴于兩個外部庫:Jinja2 模板引擎和Werkzeug WSGI工具集。
Laravel
Laravel是一個簡單優(yōu)雅的PHP Web開發(fā)框架,允許開發(fā)者通過簡單、高雅、表達(dá)式語法開發(fā)出很棒的Web應(yīng)用,將開發(fā)者從意大利面條式的代碼中解放出來。Laravel在功能上具有語法表現(xiàn)力更豐富、高質(zhì)量的文檔、豐富的擴展包、開源免費等優(yōu)點。其次,Laravel易于理解并且非常強大,它提供了強大的工具用以開發(fā)大型、健壯的應(yīng)用。
Sails
Sails是一個構(gòu)建于Node.js基礎(chǔ)之上的實時MVC框架,能夠幫助開發(fā)人員輕松構(gòu)建自定義、企業(yè)級的Node.js應(yīng)用。它設(shè)計成類似于Ruby on Rails的MVC架構(gòu),但支持較為現(xiàn)代的風(fēng)格,且是面向數(shù)據(jù)的Web應(yīng)用程序開發(fā)。它特別適合實時功能開發(fā),如聊天。得克薩斯州奧斯汀的Balderdash團隊在4月9日發(fā)布了Sails 0.8.9版。Balderdash團隊長期并持續(xù)地致力于為現(xiàn)代Web應(yīng)用打造類Rails的開發(fā)平臺。
Revel
Revel 是 Go 的全堆棧Web框架,其思路完全來自 Java 的 Play Framework,授權(quán)協(xié)議為MIT。
代碼托管地址:https://github.com/revel/revel