百度Clouda框架:下一個(gè)RoR?
原創(chuàng)9月26日,51CTO記者來(lái)到了車(chē)庫(kù)咖啡,參加了百度開(kāi)放云舉辦的Clouda框架推廣的沙龍活動(dòng)?,F(xiàn)場(chǎng)人頭攢動(dòng),預(yù)備的場(chǎng)地都沒(méi)裝下,只能又加開(kāi)了另一場(chǎng)。
Clouda框架是基于node.js的免費(fèi)開(kāi)源的WebApp開(kāi)發(fā)框架,可以快速方便的開(kāi)發(fā)出具備實(shí)時(shí)性的前后端同步的Web程序,并且標(biāo)配數(shù)據(jù)同步工具,兼容已有服務(wù);還兼容Backbone等開(kāi)源框架。同時(shí),所開(kāi)發(fā)出的Web程序還具有很好的SEO能力,以及兼容百度BAE云環(huán)境。Clouda框架已被愛(ài)奇藝、三星、攜程等企業(yè)所采用,驗(yàn)證了其商業(yè)化應(yīng)用的能力。
到底Clouda實(shí)際情況如何?百度為什么要開(kāi)發(fā)并且推廣這個(gè)開(kāi)源框架呢?且看記者從沙龍的感受以及現(xiàn)場(chǎng)的采訪中所提取出來(lái)的答案。
Clouda框架靠譜嗎?開(kāi)發(fā)難度如何
前面已經(jīng)說(shuō)過(guò),Clouda是基于node.js的框架。node.js是是一套用來(lái)編寫(xiě)高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包,它非常年輕,發(fā)布才4年多,但發(fā)展迅速,受到業(yè)內(nèi)重視。node.js雖然是基于javaScript但其實(shí)也不算是javascript,學(xué)習(xí)它就像學(xué)習(xí)一門(mén)新的語(yǔ)言。node.js最出名的框架是express,它和clouda一樣也是一個(gè)web框架,幾乎每個(gè)node.js初學(xué)者都會(huì)用到它。不過(guò)express框架在使用上有一些問(wèn)題,有人認(rèn)為它開(kāi)發(fā)起來(lái)還是比較繁瑣并且雜亂,因此目前node.js還沒(méi)有一個(gè)比較完美的web框架。
Clouda.js相對(duì)于node.js的關(guān)系,你可以想象成Ruby on Rails相對(duì)于Ruby的關(guān)系,都是為了簡(jiǎn)化規(guī)范Web開(kāi)發(fā)的流程。不過(guò)相比RoR對(duì)于Ruby的地位來(lái)說(shuō),Clouda.js還差得很遠(yuǎn),目前正在朝這個(gè)方向努力。
Clouda框架的可用性和穩(wěn)定性,已經(jīng)經(jīng)過(guò)百度內(nèi)部成熟的開(kāi)發(fā)測(cè)試流程檢驗(yàn),并且已經(jīng)在一些企業(yè)獲得實(shí)際運(yùn)用。而且,從百度此次的推廣沙龍看,百度內(nèi)部對(duì)于這個(gè)開(kāi)源框架還是非常重視的,以后也會(huì)一直進(jìn)行維護(hù)和更新,所以用來(lái)進(jìn)行開(kāi)發(fā)還是相對(duì)比較靠譜的。
Clouda除了可以快速開(kāi)發(fā)Web App,還可以用一些中間件如PhoneGap等打包成Hybrid App(混合應(yīng)用)。最大程度的降低移動(dòng)開(kāi)發(fā)的技術(shù)難度。
Node.js開(kāi)發(fā)有一定的門(mén)檻,Clouda框架則大幅降低了開(kāi)發(fā)難度,官方號(hào)稱5分鐘就能開(kāi)發(fā)一個(gè)聊天室程序。不過(guò)如果要做一些自定義或者二次開(kāi)發(fā),還是需要學(xué)習(xí)node.js并深入了解Clouda.js,這兩者都需要一定的編程基礎(chǔ)。
百度也想了不少辦法來(lái)降低開(kāi)發(fā)難度,除了官網(wǎng)上的教程和文檔,Clouda框架團(tuán)隊(duì)還制作出不少示例,開(kāi)發(fā)者可以直接拿來(lái)復(fù)用。
目前的實(shí)例大多是一些比較簡(jiǎn)單的,體現(xiàn)Clouda能力的Web應(yīng)用,希望以后能出現(xiàn)更多中大型的Web應(yīng)用實(shí)例,如WebIM、Blog、CMS、電商網(wǎng)站等等。這樣開(kāi)發(fā)者當(dāng)會(huì)不請(qǐng)自來(lái),Clouda框架才會(huì)真正的普及開(kāi)來(lái)。
百度為什么要開(kāi)發(fā)并推廣開(kāi)源框架?
開(kāi)源,以前在國(guó)內(nèi)的認(rèn)識(shí)就是免費(fèi),不過(guò)近來(lái)人們的認(rèn)識(shí)已經(jīng)漸漸和國(guó)際接軌,一些商業(yè)公司和企事業(yè)單位都采用開(kāi)源技術(shù),并且樂(lè)于分享出來(lái)。百度的Clouda.js框架就是一個(gè)例子。
對(duì)于中大型公司來(lái)說(shuō),分享開(kāi)源代碼并不會(huì)對(duì)公司產(chǎn)生損害,反而會(huì)收獲一些好處。比如百度推出Clouda.js至少有以下幾個(gè)好處。
收獲聲望。國(guó)外的大型互聯(lián)網(wǎng)公司都有貢獻(xiàn)開(kāi)源代碼的傳統(tǒng),即使是以封閉著稱的蘋(píng)果也不例外。
吸引開(kāi)發(fā)者,并更進(jìn)一步的吸引人才。開(kāi)源代碼是免費(fèi)提供給開(kāi)發(fā)者們來(lái)使用的,因此圍繞著一個(gè)開(kāi)源技術(shù)可以很自然的形成一個(gè)社區(qū),大家在一起討論和分享,并促使代碼不斷的完善。如果開(kāi)源項(xiàng)目足夠有意義,還可以吸引到真正的人才加入公司,這是難以估量的財(cái)富。
PS. 27日記者參加2013 CocoaChina開(kāi)發(fā)者大會(huì),獲悉觸控科技已經(jīng)把cocos2d引擎的創(chuàng)始人收入旗下,這正是與其對(duì)開(kāi)源引擎cocos2d-x的大力支持分不開(kāi)的。
通過(guò)基礎(chǔ)技術(shù)來(lái)促進(jìn)公司業(yè)務(wù)。Clouda框架里含有一些和百度有關(guān)的部分,比如SEO和BAE支持。如果Clouda框架流行開(kāi)來(lái),百度的搜索和云計(jì)算業(yè)務(wù)也會(huì)受益。
所以有了上面那些好處,百度為什么做推出這個(gè)Clouda框架也就可以理解了。
而以記者的觀點(diǎn)來(lái)看,百度推Clouda還有一個(gè)目的,那就是下注node.js。
上面已經(jīng)說(shuō)過(guò),node.js是一個(gè)年輕的Web開(kāi)發(fā)工具,它本身還在快速的迭代和更新當(dāng)中,目前采用它的人和公司還是比較少的。
但是它的理念十分先進(jìn),而且javascript統(tǒng)一前后端的確有不小的吸引力,一些大的互聯(lián)網(wǎng)公司都開(kāi)始關(guān)注起這個(gè)工具,如微軟、谷歌,以及現(xiàn)在的百度。但是node.js沒(méi)有一個(gè)足夠簡(jiǎn)單好用的web框架,所以Clouda有了機(jī)會(huì)。只要Clouda成為node.js的首選web框架,node.js是足夠承載起一個(gè)優(yōu)秀框架的平臺(tái),想想RoR在Web開(kāi)發(fā)領(lǐng)域的地位,那么Clouda為什么不可能成為下一個(gè)RoR呢?
這雖然是野心,但這樣的野心并不令人討厭。百度已經(jīng)在開(kāi)源上先走一步,這里記者也希望國(guó)內(nèi)的大中型公司也參與到開(kāi)源的行動(dòng)中來(lái),不使百度專美于前。