• 2009-02-03

    海报网:网站开发框架的选择,以及我们为什么选择Django/Python - [技术空间]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/lily64-logs/34574525.html

    网站开发框架的选择,以及我们为什么选择Django/Python

    转载自海报网http://blog.haibao.cn/?p=20


    前几天写的“如何做好你的第一个网站”自从被Keso收藏后,一天就带来了几千读者,这就是影响力啊。上篇文章并没有讲完,现在具体谈谈我们是如何选择适合自己的网站开发框架的。
    06年初,当新团队刚刚建立起来的时候,我们需要做的第一个技术决策就是,选择哪一种开发体系。早先我曾经用PHP开发过一些简单的Web应用,对PHP的深切感受是:简单易用,性能高,但是为了完成一件简单的工作需要写很多代码。而且,作为PHP程序员,你必须方方面面都考虑到,否则难免有安全漏洞或其他bug。而我周围的朋友中,用ASP(.NET)、JSP开发网站的也不在少数。从我对多数程序员的了解和这些网站的实际效果来看,如果想把网站做好,无论使用以上哪一种语言都要求你的开发人员相对较多(>3人),开发周期较长,而且网站最好尽量少做改动——否则一些意想不到的bug会折磨得你非常痛苦。当然,如我上一篇文章中说过的,这些问题都不在于语言,而在于语言的使用者。
    06年初,Web2.0正甚嚣尘上,此时一个叫Ruby on Rails(简称RoR)的开发框架也随之进入人们的视野。该框架的作者在各种场合做了很多精彩的推广,比如现场用十几分钟的时间编写出一套博客系统!注意,不是搭建,是用代码写出来。这种效率,使用以前的任何一种语言都是天方夜谭。RoR不仅开发起来快,还可以很容易的支持Ajax,这也是当时Web2.0每个人都在讨论的技术。随后不久,美国就冒出了一批使用RoR搭建起来的Web2.0网站。看着这么多案例,我想:这就是我一直在寻找的开发体系。
    但是我们的团队成员对此却不那么肯定。其中的一位还在同时关注另一个叫做Django的web开发框架。比起RoR来,他更偏好Django。为了证明其的优越性,他向我们保证,他可以在一周内用Django克隆出一个简单的del.icio.us——结果他真的做到了。当大家看到总共只有一千多行代码的克隆版del.icio.us时,没有人再提反对意见了。
    其实当时使用Django风险还是比较大的,因为那时候Django的版本还只是0.90;而RoR的1.0正式版已经发布了。从名气上,RoR也远远超过Django。随着我们这一年多的使用,Django从最早先的0.90版本逐渐升级到现在的0.96版(是的,到现在还没有发布),我们也越来越喜欢这么一个非主流的开发框架。接下来,海报网准备深入的将Web2.0的思想糅合到现有1.0为主的内容中,增加很多新功能,对原有系统的改造也会非常大。但因为有Django这么个法宝,我们对开发没有任何担心。
    说说Django。Django是基于Python语言的一个开源Web框架。具体技术细节我就不多说了(有兴趣可以看英文文档和我们CTO写的博客)。和RoR类似的地方是,两个框架都可以大量的减少开发者需要写的代码量。记得有一个数字是说,代码量大约是php/asp/jsp的1/3~1/5(忘了出处)。从非技术的角度,我认可Django的一个重要原因是,在国内几乎没有Ruby的开发者,而使用Python语言的开发者还是有个把的。虽然Python的开发者很难找到,但是只要找到,其普遍水准都要高出其他程序员不少。就此现象,我问过一个Python的爱好者。他想了一下,说:可能是因为国内基本没有用Python做开发的公司,所以那些开发者学习Python都不是为了工作,而是爱好。一个程序员,如果对技术真的热爱,自然比一个仅仅为了工作的程序员强许多倍了。
    国外最近正火的Pownce是用Django开发的,国内用Django或Python的公司还很少。我知道豆瓣是用Python开发的,而且豆瓣长时间只有阿北一个程序员,这算得是Python魅力的一个例证吧。希望国内使用Django/Python的公司越来越多才好!

    这篇文章发表于 2007年08月02日 星期四 2:10 AM

    分享到:

    评论

  • 应该是指工作时间吧。海报的团队的确强大。
  • 请问一周指的是业余时间吗~
    克隆一个网站。。。。。很强大啊~~~
  • 是的,海报网用的就是django。你也关注这个新技术吗?
  • 真的吗?