Appcan、apicloud、HBuilder 不一樣之處解析

來源:http://www.mamicode.com/info-detail-1129829.htmljavascript

如今Hybrid app是一中很是火熱的開發模式,在國內對應的開發工具也亂象叢生,有WeX五、crossApp、ExMobi、Appcan、apicloud、HBuilder等。php

  其中WeX5只是在PhoneGap外面套了一層殼子,內部的UI都是經過大量的css,js實現的,頁面切換也大量採用webapp模式,相似於JQuery Mobile中的框架,太過偏向於webapp,性能得不到較好的體驗,並且缺乏第三方功能SDK封裝支持。css

  crossapp是一款實用C++開發跨平臺應用的工具,由於Android與IOS應用程序自己就是可以用C++來開發的,因此這也算是一種類原生方式開發,可是C++開發Android應用程序或者開發IOS應用程序不多見,會的人很少,缺乏交流平臺,本身開發插件比較困難,只能徹底依賴官方提供,官方的第三方插件庫資源不足,很難知足開發者變態的需求。html

  ExMobi是烽火科技研發的一種內部使用的開發平臺,固然也能夠購買使用權,雖然也有免費版,可是在免費版連推送功能都不開放的狀況下你還會選擇嗎?大量的功能須要購買不一樣的版本纔會提供,對於小型開發團隊來講不切實際。前端

  Appcan是國內最先一批研發Hybrid app開發模式中的一員,其存在時間之久,屬目前國內Hybrid app開發平臺之最,爲何它可以一直堅持下去?那確定是有其優勢所在。Appcan基於多webview來開發單Activity模式app,最近去除了ActivityGroup,採用Fragment來代替,優化了性能及體驗,同時其合做商家普遍,第三方SDK應有盡有,可以很好地知足開發者的變態需求。html5

  apicloud的一種從Appcan脫離出來的技術,雖然說其開發人員有不少是Appcan原來的技術人員,可是這是兩種不一樣的設計方式,它也有大量的第三方SDK支持,而且其UI是使人看着比較舒服的(我的以爲)。java

  HBuilder的webview處理方式與apicloud基本相似,其實這種用webview裝載網頁的技術都大同小異,網上也能找到,只是在於細節點處理方面不一樣而已。node

  Appcan&apicloud&HBuilermysql

  • 最初使用Appcan的時候感受其打開新窗口響應較慢,並且其內部UI徹底是黑色的,比較難看,當初找相關技術人員,想讓其提供可以選擇UI主題的接口,可是最後不了了之,在apicloud出來以後,發現其UI效果很好,所以又去研究了一下,發現其窗口響應速度比Appcan要高
  • 如今Appcan引擎已所有開源,開發者可以徹底本身Design,主題這些都不是問題,並且我再次測試了窗口響應速度,如今有了明顯提升,與apicloud不想上下
  • HBuilder的webview最初一直不看好,由於沒有采用硬件加速渲染,渲染比較慢,會出現空白,而他們官方提供的一種方式是預加載,當初我問他們技術,預加載不會過多消耗資源嗎?他們技術脫口而出,只要不顯示就不消耗資源,不用擔憂。並且好像還發表了一篇這樣的文章介紹預加載的,我就在想,難道我這些年開發一直白學了,哪一個程序建立個變量會不消耗資源?預加載你總要建立webview實例吧?這是忽悠誰呢?若是真的不消耗資源爲何大家右面又提供一種模板頁構建的方式呢,全部二級頁面只需預加載兩個嵌套webview就能夠。
  • 對於前段UI,Appcan有一套很全面的css與js框架,其徹底採用自適應模式。。什麼?不知道自適應?好吧一會介紹其區別。HBuilder也有一套UI,js和css比較全,apicloud沒有專門的UI,須要用戶本身DIY,對於我的來講,我反而傾向於apicloud,由於他們提供的UI中js與css太多而雜,Appcan中js引入了Zepto,Backbone、Underscore庫,顯得異常臃腫,致使網頁加載js效率受影響;HBuilder中全部css與js都在一個文件中,大量不須要用到的樣式沒法刪除,就算你這個頁面只須要用到一個按鈕樣式,那麼都須要引入整個css與js
  • 關於自適應,有不少人說,我前端就是自適應的啊,其實那並不能嚴格說是自適應,大家的佈局只能說是根據設備大小進行自適應,而不是分辨率,apicloud和HBuilder的webview會根據設備的分辨率來進行放大或縮小(通常是放大),並非網頁原來的形態,這也就是爲何明明定義的1px的border在Android上看上去是2px或者1.5px的緣由。而Appcan中1px就是1dp,其設備大小被修改爲與分辨率相等,這就使得網頁在webview中保留了原形態,沒有放大縮小,其視覺體驗很是好,圖片等不會失真。其本質緣由是Appcan是基於Android 4.4.2的API,也就是API19來開發的,其設置了viewport的支持,在viewport中設置target-densitydpi=device-dpi就能夠實現高清晰效果,而apicloud是基於API20以上開發的,Android在4.4之後就不支持viewport屬性了,所以在apicloud中設置viewport屬性與否沒有任何影響,在這點上HBuilder與Appcan相似,可以經過viewport屬性來修改像素點,從而獲得較好的視覺體驗,固然也能夠設置成與apicloud同樣的狀況,這種就具備較好的選擇性,可是這種佈局就要求有較強的能力了,Appcan中爲不一樣分辨率定義了不一樣的字體大小,也就是em值對應的像素,在其中佈局最好使用em來實現,不要使用px。而在apicloud中使用px可以在不一樣的手機上達到同樣的效果,這就是不一樣分辨率的適配

 

 

跨平臺APP----對Cordova,APPCan,DCloud,APICloud四大平臺的分析

來源:http://blog.csdn.net/tangzenglei/article/details/50668914jquery

前言: 

移動開發是將來一個很重要的IT領域,而跨平臺開發將是這一領域最重要的事情。         ----谷震平

 

 

一 兵器譜

在國外,最大的是Cordova(PhoneGap,2011年普遍流行),在2012年12月開源。

在國內,按時間順序,有:

  • 2012年,AppCan
  • 2013年,DCloud
  • 2014年9月,APICloud

二 Cordova

    Cordova是Apache軟件基金會的一個產品。其前身是PhoneGap,由Nitobi開發,2011年10月,Adobe收夠了Nitobi,而且PhoneGap項目也被貢獻給Apache軟件基金會。Apache在2012年12月,發佈了Cordova,截止到2015年12月,最新版面是3.0。

    該框架的目標用戶羣體是原生開發者,其設計初衷是但願用戶羣體可以經過跨平臺開發的方法下降原生開發的成本。爲此,開發人員須要安裝原生開發環境,配置工程,使用HTML5CSS3js和原生SDK生成應用。

    Cordova的優點很明顯,可使用的框架、原生接口、支持平臺都不少。可是,外國人寫的東西,公司使用後,出現的技術問題難以解決。同時,其在使用jQuery Mobile、Sencha Touch等前端框架的時候,有特效啓動慢、頁面切換慢、數據請求慢的特色。

 

 

三 APPCan

 

    AppCan成立於2010年,2011年推出產品並測試,2012年正式推出品牌,2013年商業模式成型,2014年開發者註冊約70w。AppCan不是開源平臺,同時,企業版和部分插件是收費的。換句話說,AppCan只是一個賣軟件的商業公司。咱們認爲:這會對其市場的佔有率有着直接影響,閉源而沒有壟斷,因此前景不會太好。


 

四 DCloud

    DCloud大部分產品開源,W3C會員單位,html5中國產業聯盟的發起公司之一,在Html5這個行業有必定的江湖地位。旗下四款產品:HBuilder、5+ Runtime、MUI、流應用都是彌補並擴展HTML5特性的產品。該公司的理念就是解決HTML5的性能、工具、能力三方面的問題。MUI是一款不錯的前端框架,性能比 jquery Mobile、Bootstrap好不少,主要區別:

  • 設計思路不一樣,MUI堅持用原生JS作,不依賴jQuery或者Angularjs。
  • MUI調用了5+ Runtime的底層原生加速,比不帶原生加速的框架更快。

    可是,DCloud畢竟是個新平臺,發展才2年,新產品內部存在的Bug還須要不少的測試。在其官方社區中,很多開發者也在呼籲DCloud儘快完善文檔和框架。 

 

 

五 APICloud

 

    APICloud提供原生應用的功能模塊(設備訪問,界面佈局,開放SDK等),開發者能夠經過JS調用。前端工程師負責頁面佈局,UI展示,及簡單的交互,原生模塊負責性能方面和功能實現,二者結合造成一個完整的應用。同時APICloud提供了雲數據庫的功能,前端沒必要了解PHPNode.js等後端語言,經過JS接口或Restful API實現數據庫的增刪改查。 

    可是APICloud的更新速度很快,版本不太穩定。並且,它是爲不懂APP開發的人士準備的,不適合科技公司和程序員。

 

六 兵器譜PK

 

    由上表可知,4個平臺的定位是不一樣的,致使其產品的功能特性不同。


 

七 優缺點對比


http://img.blog.csdn.net/20160111150729023?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

相關文章
相關標籤/搜索