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