十天点击排行榜 |
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的公司越来越多才好!