- 論壇徽章:
- 0
|
1. Python web development and frameworks in 2007
http://jesusphreak.infogami.com/blog/vrp1
非常詳細的比較,對于zope, web.py, 如果自己開發(fā)框架, pylons, django, TurboGears 分別從下面幾個方面闡述:
- the general philosophy of the framework
- the URL dispatching system used
- the templating system used
- the object-relational mapper used
- the form handling used
- extra types of functionality
- advantages of using the framework
- disadvantages of using the framework
- the future direction of the framework and concerns I have with it
2. TurboGears and Pylons (a technical comparison)
http://blog.ianbicking.org/turbogears-and-pylons.html
3. Pylons vs TurboGears
http://pythonmag.blogspot.com/2006/02/pylons-vs-turbogears.html
從自身感受來說:
(1)zope 最強大,模塊化最好,不同的component通過zcml(xml文件) 粘合,耦合度低,跟java開發(fā)的模型很接近。zope里面的一些模塊比如interface獨立出來后也在很多項目中得到了應用(比如twisted)。zope不是快速開發(fā)類型的,打算開始一個項目時,如我這種初學者甚至不知從何處下手。 zope book寫得不夠體系,雖然包括有如何開發(fā)一個component,但是不能讓學習者對全局體系和開發(fā)流程有清晰的認識。
另外,有人提起過,大量zcml文件使得如果zcml文件里面有配置錯誤,則很難調(diào)試。
(2)django是fullstack的快速快發(fā)框架,上手很方便。這種大包大攬的方式雖然能保證一致的體系和風格,但是它自己的組件很難和其它專門的開源項目比肩,集成其它項目也比較麻煩。例如SqlAlchemy出現(xiàn)后,基本所有的框架都提供了對它的支持,但django就遠遠落在后面。
django的一些為人津津樂道的便利,比如自動管理界面等,并不是對開發(fā)代碼提供多大的便利,而只是針對CMS這些應用幫助完成了一下面向最終用戶的界面。
(3)我原先用turbogears,看了包括上面的文章的一些比較后,轉(zhuǎn)向了pylons,遷移過程很順利。這兩個項目有太多的相似,都是利用paster自動生成代碼,都是對其它組件的粘合,除了TG用cherrypy,pylons用paster作為底層,其它部分很多都是相互移植的,比如pylons的router移植到TG,TG的通用模板系統(tǒng)移植到pylons,TG分離出來的ToscaWidget可應用于pylons等。 由于paster是符合wsgi規(guī)范的,而目前TG所用的cherrypy 2.0不是(cherrypy3.0提供了 wsgi支持),這些造成了主要的不同。TG通過decorator提供各種功能(expose,validate等),pylons通過helper提供功能。TG的權(quán)限認證是自己做的,利用model在數(shù)據(jù)庫中生成相關(guān)的權(quán)限表(通過require decorator使用),很方便很強大,而pylons因符合wsgi規(guī)范,可通過獨立的基于wsgi的AuthKit 提供authentication和authorization,可提供多種認證(LDAP,配置文件等).實用工具上TG較多,不過有些outdated了(比如以前針對sqlobject,現(xiàn)在不支持sqlalchemy),pylons的調(diào)試非常方便,在瀏覽器中訪問頁面,可以查看調(diào)用棧,可以看變量字典,可以自己輸入執(zhí)行語句。 因為這兩個框架太相似了,很多人提到了是否有兩者合并的可能性,如果成真的話,利好包括:避免很多重復勞動,開發(fā)出更多更方便的工具集等。
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/8650/showart_290704.html |
|