TG有感

python和Turbogears有感
一是介绍下turbogears。
TurboGears是遵循MVC模式的python开发的WEB快速开发的巨框架(meta
framework)。其中1.0的主要组件如下:controller部分:cherrypy2.x;model部分默认为sqlobject,or
sqlalchemy;view部分则是包括kid模板,mochikit和widgets库,也可以使用genshi。不过在1.0.x版本中,我还是使用默认组件,因为成熟稳定;文档齐全,市面上唯一可以买到的关于TG的中文书,就是关于1.0的;辅助工具多,各组件间的兼容性够好,如toolbox,i18n,widget等。在新的稳定版出来前,还是保守些好。
二是对tg版本的看法
TG1.5在1.1的基础上增加了与cherrypy3.1的集成,确实值得期待。不过要等年底了。我觉得TG现在版本太多,力量太分散,且除了1.0稳定版以外,1.1,1.5, 1.9.7,每个都不够成熟。
对于我们这些使用者而不是开发都来说,基本稳定的发布非常重要。在项目中一般是不敢使用alpha,beta版版本的,主要是api娈化快,潜在bug多。
三是python web 框架的好消息
不过总得来说,下半年python的好消息应该不少。python2.6和python3.0都会在下半年发布,可以预测年底左右及以后,很多第三方组件更新支持python3.0(其实最吸引我的是python3.0及标准库软件默认支持Unicode,像csv等就不用担心乱码的问题了;并且代码中通篇u""我觉得太ugly);django1.0在9月份发布,pylons0.9.7也在9月份发布,随后杂交pylons+rezope的TG1.9.7也会发布。在年底,pylons map说会发布pylons1.0,基于python3.0,基于其上的tg2.0也会发布。
同时,jython、ironpython和pypy以及基于其上的web框架也在移植。据说django on jython已经基本可用。pycon2008大会上,ms开发人员也演示了django on ironpython。期待jython2.5 stable.
这个趋势我觉得很好:
一是,这些python版本内在支持Unicode,对i18n和l10n支持的更方便;
二是,可以无缝使用基于java和.net的丰富类库,这非常吸引人。
四是jruby
相对来说,jruby on rails也比较成熟了。我尝试了下netbeans-jruby 6.5beta,发现开发工具对jruby的支持很不错了。eclipse平台的就是aptana studio.所以jruby on rails我觉得也值得关注下。而python的相关ide要少上些,不过基于cmd/shell,也不是大问题。
我试过相对好用些的python的,
eclipse+pydev,代码提示很多,也可以调试,但用得倒不多;django的可以看看ulipad;我用得较多的是
komodo ide,是个商用软件,后来改用komodo edit4.4,开源免费的,对TG开发支持的很多。如自动提示,包括mochikit,jquery,dojo等常见javascript库自动提示功能,虽然可能没有aptana那么强大,一般也够用了。