SD2C之三種Python的Web框架

2021-08-23 12:47:01 字數 1514 閱讀 1816

在sd2c上的另外一些收穫來自於web應用方面。乙個是董洵的gae講座,乙個是錢巨集武關於大型web應用的講座。

錢巨集武有乙個觀點談到關於技術選型一定要選擇那種久經考驗資源豐富的 解決方案。比如對於web應用來說,php就是這樣一種靠譜的方案。這個我很贊同,像asp就是在過去一些年裡未能通過考驗而可恥滴被淘汰的技術——傍上 ms又如何,現實是殘酷的,連ms自己也放棄了asp。乙個朋友有乙個asp做的**要我幫忙在國外找個虛擬主機空間(國內的虛擬主機商太不靠譜,而且價 格貴得離譜),結果我找了四家比較有名的,只有一家有提供支援asp的windows平台。

於是我想到了這兩年來我所接觸過的python web框架:django, turbogears, pylons。因為那天有事急著回市區,沒能等到董洵講座的問答一環節,所以也就沒能問一下他的看法。不過按董洵在講座中的觀點來看,他是對django 是非常推崇的,他自己的**「好看簿」就是用django開發的——他說到這個我才想起來07年在土豆的barcamp上見過他。

回上海後在bt妓術群裡也討論了一下這個話題,令狐作《django到底有什麼好?》來談這個問題。

到了08年,bt妓術群要做新版本狗屎皮**時,在mk的提議下,我們選擇了pylons——它也像 tg一樣是可自由組裝的,但是底層是基於paster而不是cherrypy,二者的優劣我不好評說,但可以肯定的是,pylons的配置性比tg更好。 但促使我們作出這樣的決定的理由卻很簡單——tg2開始就不再是基於cherrypy而是要改投pylons門下了,雖然當時tg2還未正式推出(現在也 只到beta1)。

經過這麼一番折騰之後再回頭來看這三個框架,感覺就不同了。

django雖然是乙個全包的解決方案,但是它的方案卻是經得起考驗的——因為據說django的誕生差不多與ror同時,也都是基於實際的應用開發需要而被建立出來的,它是乙個與ror類似的方案,但卻絕不是仿製品。

turbogears的想法是很好的,但是因為用到的元件過多,並且千差萬別,tg的組合從某種程度上說是比較勉強的,並且不得不因此加了很多比較難看的手法,使用上問題也是比較多的。

pylons雖然思路與tg類似,但是做法要清爽得多。最關鍵的是它提供的功能卻一點也不差,比如url對映(rest需要),還有對cache的支援等(當然這些django也都有)。只是用起來麻煩一點。

我雖然用tg做過一些應用,但都是只有幾十個使用者的小應用。對於實際的大規模應用來說,tg的效能是很可疑的。在這一點上,django和pylons都要好得多。

回到前面所說的「久經考驗」的問題上。要說python世界裡最久經考驗的方案,那大概就要數zope了,不過那個東東實在是太笨重了,堪比j2ee。

而除了zope之外,這三個方案(甚至還可以包括ror等)跟php比起來都不能算是久經考驗,但如果一定要在這三個裡選乙個的話,恐怕最後勝出的還會是django。

不過我覺得要是從趨勢上看,pylons會很有前途——

limodou在說了《merb的不可知--與uliweb框架的走向》後不久,merb就正式與ror合併了。如果把ror比作django的話,merb就像是pylons,也許將來在tg2與pylons正式合併以後,django也加入進來不是不可能的。

SD2C之三種Python的Web框架

在sd2c上的另外一些收穫來自於web應用方面。乙個是董洵的gae講座,乙個是錢巨集武關於大型web應用的講座。錢巨集武有乙個觀點談到關於技術選型一定要選擇那種久經考驗資源豐富的 解決方案。比如對於web應用來說,php就是這樣一種靠譜的方案。這個我很贊同,像asp就是在過去一些年裡未能通過考驗而可...

Python指令碼之三種執行方式

這種模式下,無需建立指令碼檔案,直接在 python直譯器的互動模式下編寫對應的 python 語句即可。1 開啟互動模式的方式 windows下 在開始選單找到 命令提示符 開啟,就進入到命令列模式 在命令列模式輸入 python 即可進入 python 的互動模式 linux 下 直接在終端輸入...

cocos2d x之三種文字

cocos2d x為我們提供了三個類來處理文字資訊 1.cclabelttf 2.cclabelbmfont 3.cclabelatlas 1.cclabelttf cclabelttf plabel cclabelttf create vs arial 30 要顯示的內容,字型,字型大小 這裡也可...