十天點(diǎn)擊排行榜 |
06年初,當(dāng)新團(tuán)隊(duì)剛剛建立起來的時(shí)候,我們需要做的第一個(gè)技術(shù)決策就是,選擇哪一種開發(fā)體系。早先我曾經(jīng)用PHP開發(fā)過一些簡單的Web應(yīng)用,對(duì)PHP的深切感受是:簡單易用,性能高,但是為了完成一件簡單的工作需要寫很多代碼。而且,作為PHP程序員,你必須方方面面都考慮到,否則難免有安全漏洞或其他bug。而我周圍的朋友中,用ASP(.NET)、JSP開發(fā)網(wǎng)站的也不在少數(shù)。從我對(duì)多數(shù)程序員的了解和這些網(wǎng)站的實(shí)際效果來看,如果想把網(wǎng)站做好,無論使用以上哪一種語言都要求你的開發(fā)人員相對(duì)較多(>3人),開發(fā)周期較長,而且網(wǎng)站最好盡量少做改動(dòng)——否則一些意想不到的bug會(huì)折磨得你非常痛苦。當(dāng)然,如我上一篇文章中說過的,這些問題都不在于語言,而在于語言的使用者。
06年初,Web2.0正甚囂塵上,此時(shí)一個(gè)叫Ruby onRails(簡稱RoR)的開發(fā)框架也隨之進(jìn)入人們的視野。該框架的作者在各種場合做了很多精彩的推廣,比如現(xiàn)場用十幾分鐘的時(shí)間編寫出一套博客系統(tǒng)!注意,不是搭建,是用代碼寫出來。這種效率,使用以前的任何一種語言都是天方夜譚。RoR不僅開發(fā)起來快,還可以很容易的支持Ajax,這也是當(dāng)時(shí)Web2.0每個(gè)人都在討論的技術(shù)。隨后不久,美國就冒出了一批使用RoR搭建起來的Web2.0網(wǎng)站。看著這么多案例,我想:這就是我一直在尋找的開發(fā)體系。
但是我們的團(tuán)隊(duì)成員對(duì)此卻不那么肯定。其中的一位還在同時(shí)關(guān)注另一個(gè)叫做Django的web開發(fā)框架。比起RoR來,他更偏好Django。為了證明其的優(yōu)越性,他向我們保證,他可以在一周內(nèi)用Django克隆出一個(gè)簡單的del.icio.us——結(jié)果他真的做到了。當(dāng)大家看到總共只有一千多行代碼的克隆版del.icio.us時(shí),沒有人再提反對(duì)意見了。
其實(shí)當(dāng)時(shí)使用Django風(fēng)險(xiǎn)還是比較大的,因?yàn)槟菚r(shí)候Django的版本還只是0.90;而RoR的1.0正式版已經(jīng)發(fā)布了。從名氣上,RoR也遠(yuǎn)遠(yuǎn)超過Django。隨著我們這一年多的使用,Django從最早先的0.90版本逐漸升級(jí)到現(xiàn)在的0.96版(是的,到現(xiàn)在還沒有發(fā)布),我們也越來越喜歡這么一個(gè)非主流的開發(fā)框架。接下來,海報(bào)網(wǎng)準(zhǔn)備深入的將Web2.0的思想糅合到現(xiàn)有1.0為主的內(nèi)容中,增加很多新功能,對(duì)原有系統(tǒng)的改造也會(huì)非常大。但因?yàn)橛蠨jango這么個(gè)法寶,我們對(duì)開發(fā)沒有任何擔(dān)心。
說說Django。Django是基于Python語言的一個(gè)開源Web框架。具體技術(shù)細(xì)節(jié)我就不多說了(有興趣可以看英文文檔和我們CTO寫的博客)。和RoR類似的地方是,兩個(gè)框架都可以大量的減少開發(fā)者需要寫的代碼量。記得有一個(gè)數(shù)字是說,代碼量大約是php/asp/jsp的1/3~1/5(忘了出處)。從非技術(shù)的角度,我認(rèn)可Django的一個(gè)重要原因是,在國內(nèi)幾乎沒有Ruby的開發(fā)者,而使用Python語言的開發(fā)者還是有個(gè)把的。雖然Python的開發(fā)者很難找到,但是只要找到,其普遍水準(zhǔn)都要高出其他程序員不少。就此現(xiàn)象,我問過一個(gè)Python的愛好者。他想了一下,說:可能是因?yàn)閲鴥?nèi)基本沒有用Python做開發(fā)的公司,所以那些開發(fā)者學(xué)習(xí)Python都不是為了工作,而是愛好。一個(gè)程序員,如果對(duì)技術(shù)真的熱愛,自然比一個(gè)僅僅為了工作的程序員強(qiáng)許多倍了。
國外最近正火的Pownce是用Django開發(fā)的,國內(nèi)用Django或Python的公司還很少。我知道豆瓣是用Python開發(fā)的,而且豆瓣長時(shí)間只有阿北一個(gè)程序員,這算得是Python魅力的一個(gè)例證吧。希望國內(nèi)使用Django/Python的公司越來越多才好!