Cordova由来
? ? ? ? 很多開發(fā)者有很多誤解,什么叫Cordova,什么叫PhoneGap,他們之間有哪些區(qū)別。談到這個問題不得不說cordova的發(fā)展歷史。那是在2008年8月,PhoneGap在舊金山舉辦的iPhoneDevCamp上嶄露頭角,起名為PhoneGap是創(chuàng)始人的想法:“為跨越Web技術(shù)和iPhone之間的鴻溝牽線搭橋”。當時PhoneGap隸屬于Nitobe公司,而從Nitobe的博客上你可以看到最初創(chuàng)作者對他的評價“他有點像為iphone而開發(fā)的AIR”(Air桌面技術(shù)使得web開發(fā)人員使用HTML,CSS,Javascript開發(fā)桌面應(yīng)用程序)。2009年2月25日,PhoneGap0.6發(fā)布,是PhoneGap歷史上第一個穩(wěn)定版本,分別支持IOS,Android,BlackBerry平臺。在那個時候,PhoneGap已經(jīng)決定了它所擔當?shù)臍v史任務(wù),直到現(xiàn)在。慢慢的PhoneGap開始支持更多平臺。而在此時,被喬布斯宣布死亡的Flash持有者adobe開始意識到,這個項目似乎是自己放棄Flash而尋找替代的一個產(chǎn)品。于是2011年10月4日,Adobe宣布收購Nitobe,在收購之后Adobe其實并沒有做太多的貢獻,只是把原來的PhoneGap和PhoneGap Build 提供服務(wù)并做好宣傳工作。
后來Adobe將Phonegap捐獻給Apache基金會,作為開源項目。但項目初期依然只是Adobe公司內(nèi)部員工來維護該項目,而由于Adobe公司依然保留著PhoneGap的商標所有權(quán),導致在那以后的一段日子里,PhoneGap一直被認為是Adobe公司的私有財產(chǎn)。直到PhoneGap1.4發(fā)布時,Cordova這個名字才真正被Apache公布(期間有過一次更名叫Apache Callback)。看到這段歷史你可能會想到另一端歷史Javascript和ECMAscript,你會發(fā)現(xiàn)Cordova之于PhoneGap和ECMAscript之于Javascript是多么的相似。?
Cordova和PhoneGap到底都是指什么?
從概念上將 Cordova是Adobe捐獻給Apache的項目,是一個開源的、核心的跨平臺模塊。而PhoneGap是Adobe的一項商業(yè)產(chǎn)品,有自己的商業(yè)版權(quán),有自己平臺服務(wù),有自己的收費項目。
Cordova和PhoneGap的關(guān)系就類似于WebKit與Chrome的關(guān)系,類似于ECMAscript和Javascript的關(guān)系。
PhoneGap作為商用組件,還包括一些PhoneGap Build和Adobe Shadow等商業(yè)服務(wù)。
然而Cordova和PhoneGap的核心代碼是一樣的。
Adobe公司為什么要捐獻這個項目?
其實在收購Nitobe公司的時候就已經(jīng)做定主意將PhoneGap開源,具體原因也許只能是Adobe的高層才能解釋,我理解是當時Adobe Flash的挫敗使得Adobe必須有一個時代的替代品,而PhoneGap就是這么一個產(chǎn)品,所以Adobe不準備在核心代碼上做文章,而是通過收費的PhoneGap build和Adobe Shadow來占領(lǐng)市場,將PhoneGap開源能夠保證框架的大面積推廣,說到底他們不想浪費時間來維護更新這個項目
Cordova現(xiàn)狀
最新已經(jīng)有version6.x,核心代碼穩(wěn)定,更新快速,平臺支持較多(我記得PhoneGap最猖狂的時候支持11個平臺,現(xiàn)在是8個),平臺多不一定是好事,因為核心要兼容多平臺,那通用接口就會少,就個人而言最理想的是支持5個平臺左右為宜。
同類型競品多。不過像Cordova相同的角色到并沒有,作為hybrid開發(fā)中間件,其實有很多競品。你可以看到和Phonegap幾乎同時出道的老大哥Titanium,其實更傾向于將javascript打造成編譯語言的角色,而同Titanium類型相近的有國內(nèi)的Dcloud等。而在最初國內(nèi)有一款叫Appcan的框架在前些日子也宣布全面開源了,但是你知道的國內(nèi)的開源都是耍著流氓立牌坊的,免費并不代表開源,所以Cordova充當?shù)慕巧谝欢螘r期內(nèi)還是無人能替代的。
瓶頸在于性能。由于Cordova的實現(xiàn)借助瀏覽器核心webkit,而javascript的低性能導致由Cordova開發(fā)出的應(yīng)用性能一直是其他開發(fā)者大噴特噴的一點,不過新的技術(shù)革新,這個問題在逐漸被改觀。
開發(fā)工具已經(jīng)完善。比起我用PhoneGap的年代,現(xiàn)在搭配Cordova開發(fā)的工具已經(jīng)非常豐富,對于開發(fā)者入手也相對容易多了。
開發(fā)應(yīng)用已經(jīng)被大家接受。記得有一段時間appstore審核只要是PhoneGap開發(fā)的應(yīng)用就不讓上架,現(xiàn)在蘋果已經(jīng)不敢這么做了。
轉(zhuǎn)載于:https://blog.51cto.com/11156310/1775811
總結(jié)
- 上一篇: spring+ibatis事务管理配置
- 下一篇: js中的DOM节点