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

来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:57:11

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

55 顶一下  收藏   推荐者:尘一 (积分 47944)
原作者:yebinblog 十天点击排行榜 ·假如盖茨和戴尔在中国,他
·《福布斯》:乔布斯和苹果,
·51.com前产品经理:51的核
·有文化真可怕—豆瓣
·亲身经历:中国雅虎2008年
·火凤凰:痛批SNS网站五宗罪
·《TIME》评选的08年50个最
·B2c杂思:首页的第一使命


 06年初,当新团队刚刚建立起来的时候,我们需要做的第一个技术决策就是,选择哪一种开发体系。早先我曾经用PHP开发过一些简单的Web应用,对PHP的深切感受是:简单易用,性能高,但是为了完成一件简单的工作需要写很多代码。而且,作为PHP程序员,你必须方方面面都考虑到,否则难免有安全漏洞或其他bug。而我周围的朋友中,用ASP(.NET)、JSP开发网站的也不在少数。从我对多数程序员的了解和这些网站的实际效果来看,如果想把网站做好,无论使用以上哪一种语言都要求你的开发人员相对较多(>3人),开发周期较长,而且网站最好尽量少做改动——否则一些意想不到的bug会折磨得你非常痛苦。当然,如我上一篇文章中说过的,这些问题都不在于语言,而在于语言的使用者。

06年初,Web2.0正甚嚣尘上,此时一个叫Ruby onRails(简称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的公司越来越多才好!