網站開發框架了解嗎?python作為解釋型腳本語言,是一種通用的編程語言。好多網站開發人員更喜歡用python來確保代碼的可讀性。然而,python一開始被設計出來的時候,并沒有特別傾向于網站開發。由于這樣,開發者不得不借助很多web開發框架,今天邯鄲學院清華萬博學校為你分享5種常用web框架吧!
邯鄲學院清華萬博學校分享網站開發框架
Django
排位第一的當然是Django。事實上,正是由于Django的存在,成百上千的網站項目才能成功,python才能成為網站開發中常用的語言。包括 Instagram, Mozilla Firefox, National Geographic, Pinterest, NASA等在內的大型機構、公司,都在使用Django作為網站開發框架。
這也就是為什么對于大多數網站開發者來說,如果使用python作為開發語言,那么Django就是一個常被提及的框架。尤其是因為下面的一些特性和優點,Django CMS總是作為網站開發中基礎、常用的管理系統:
1、有好多拿來就能直接使用的模板
2、操作數據庫
3、面向對象的編程方法
4、網絡地址映射
5、內置網站服務器
6、可以使用HTML表單獲取數據,并傳遞給服務器(在Django中實現這一功能實在是太簡單了,以至于菜鳥也能輕松使用)
7、安全可靠的用戶權限
8、直觀的管理界面
9、強大的XML/JSON處理功能
CherryPy
CherryPy是僅次于Django的網站開發框架,它大的特性就是能夠同時運行好幾個web服務。Django和CherryPy大的區別在于,后者沒有像前者那樣多的模板,而是提供可以導入的庫文件。事實上,這種方式給開發者以很大的自由度和擴展性,程序員可以自由的選擇使用或者禁用各種模板、用戶權限和數據庫。
除此之外,CherryPy事實上是一個基于Python的簡約而不簡單的HTTP框架,允許和所有類型的服務器(如Apache等)進行交互。如果你是剛剛接觸網站開發,一定要記住在項目中好形成一套自己用著順手的工具集合(我們應該清楚地知道,CherryPy具有靈活強大的插件系統)。
TurboGears
TurboGears是一種MVC架構的網站開發框架,它基于一些WSGI組件(比如SQLAlchemy, Ming, Repoze等)、模板引擎( Genshi, Kajiki, Cheetah, Myghty)和大量的庫文件以及中間件(middleware)。同時它具有 widgets控件,可以非常方便的生成一些特定的功能。
TurboGears的主要特色是:用FormEncode進行表單驗證;使用 Gearbox作為項目管理工具,并提供網絡服務(新的版本也支持使用Apache或者Nginx作為服務器);許多實用的命令行工具;支持MochiKit模塊,一種處理文本內容的genshi模板引擎,同時包含創建UI和Tosca Widgets的庫文件。這些常用功能給程序員帶來的方便,是其他框架所不能替代的。還有一點——許多使用TurboGears的程序員都會推薦它的精簡模式,也就是說,TurboGears可以配置成輕量級的框架。
Flask
Flask是一個相當新的框架,他的開發者在深入徹底的研究了現有的各種框架后,分析了它們利弊,在此基礎上開發出了這一個取所有精華,去所有糟粕的web框架。
Flask是一個輕量級框架,簡單易學,它在一些僅有一兩個功能的小型項目上得到了大量應用。比如httpbin這樣的項目,簡單但非常強大。跟CherryPy差不多,支持所有的DBMS和模板引擎。Flask的優勢在于擁有眾多的擴展工具來創建基于網站的應用(應當鼓勵初學者多使用這些工具),它的代碼同樣簡潔明了(只要3行代碼就能搭建一個顯示“Hello World”的主頁),通過藍圖(blueprint)實現模塊化管理,支持Django官方模板語言Jinja2,能夠創建基于API的方案和一次性工具(用其他框架實現這些功能的話,既費時又費力)。
Pyramid
我們提到的后一個框架是Pyramid,它由Pylons項目中的一部分演變而來。Pyramid大的特點就是靈活性和可擴展性(尤其和Django相比)。在使用Pyramid時,程序員可以自由的選擇使用什么樣的數據庫、URL結構、模板風格等等,Pyramid就是這樣一個框架,可大可小,剛剛好。”
Pyramid被大家廣泛認可的優點包括:可以將一個完整的網站生成一個單一的文件;可以修改的模板;可配置的資源;靈活的身份驗證和授權;高級的引導工具——pcreate;基于view的方法;支持命令型和陳述型的配置語法;HTTP緩存;內建Session會話等等。一般而言,Pyramid是目前流行的構建大中小型應用的框架。另一方面,正是由于這么強大的靈活性,可能會讓一些有選擇困難癥的初學者糾結于使用哪些功能,如果選擇不好,可能會掉進一個又一個的坑里去。
正如你所看到的,我們在選擇合適的框架時,應該是依據自身的需求和項目的特點,量體裁衣。如果你想開發一款網絡應用,卻不知道選擇哪一個合適的框架,好的方法是找一些有經驗的人請教。當然,你也可以聯系我們。邯鄲學院清華萬博學校歡迎你!