簡介
Phonegap
PhoneGap是一個用基於HTML,CSS和JavaScript的,創建移動跨平台移動應用程序的快速開發平台。它使開發者能夠利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手機的核心功能——包括地理定位,加速器,聯系人,聲音和振動等,此外PhoneGap擁有豐富的插件,可以以此擴展無限的功能。PhoneGap是免費的,但是它需要特定平台提供的附加軟件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5配套開發。使用PhoneGap只比為每個平台分別建立應用程序好一點點,因為雖然基本代碼是一樣的,但是你仍然需要為每個平台分別編譯應用程序。
AppCan
AppCan是國內Hybrid App混合模式開發的倡導者,AppCan應用引擎支持Hybrid App的開發和運行。並且着重解決了基於HTML5的移動應用目前"不流暢"和"體驗差"的問題。使用AppCan應用引擎提供的Naitve交互能力,可以讓HTML5開發的移動應用基本接近Native App的體驗。
框架優缺點
Phonegap
優點
支持大部分系統:Android,IOS ,Symbian, Windows Phone, Palm WebOS,
Bada , Symbian
開源,可以進行框架底層優化
框架提供自定義控件,可以調用android原生功能
第三方插件豐富
安裝包體積偏小
文檔豐富
可在本地調試、發布
支持本地打包、雲端打包
缺點
不同平台需要搭建不同開發環境
框架沒有UI,需要使用第三方UI插件
框架僅提供基本API,擴展功能需要使用第三方插件
框架不支持自動加密,需要手動對HTML加密
框架未對UI進行優化,應用加載及UI相應時較慢
由於第三方開發人員水平不同,插件質量參差不齊
AppCan
優點
支持四大主流系統:Android,IOS,Symbian,Windows Phone
提供一體化解決方案,方便環境搭建、開發、調試、發布
框架自帶UI包,包含常用控件樣式
框架API豐富
支持本地打包、雲端打包
基於密鑰的代碼加密
技術支持相應及時
框架對UI、動畫渲染進行過優化,反應速度快
缺點
不開源,無法修改、優化底層代碼
暫不支持自行開發控件/,無法調取android原生功能
框架自帶功能過多,導致應用安裝包偏大。
文檔偏少
部分系統無法使用IDE進行調試
只能在服務器端發布,無法在本地發布
IOS發布,需要將證書上傳至服務器
詳細比較
基本情況
|
Phonegap |
AppCan |
框架目標 |
PhoneGap的最終目的是終結現存目標平台間的差異 |
快速開發、多種平台、解決基於HTML5的移動應用目前"不流暢"和"體驗差"的問題,提供統一的解決方案 |
框架功能 |
簡單 |
豐富 |
支持平台 |
大部分平台 |
僅4種平台 |
開發環境 |
不同平台需要不同開發環境 |
只需一個IDE包 |
|
|
Windows 7 X64 英文版、Windows 8 X64 英文版 無法進行模擬器調試 |
編譯器不支持的HTML標簽 |
可以編譯、調試、發布 |
不能調試,只能生成apk包,安裝至手機 |
調試 |
可直接調試 |
本地發布的IOS包,必須部署在越獄的機器上 |
發布 |
在本地可以直接發布 |
必須將代碼上傳至服務器,才能發布 |
IOS 簽名管理 |
本地管理 |
需要上傳至服務器 |
代碼泄露風險 |
低:僅在本地、svn保存代碼 |
高:需將代碼上傳至appcan服務器 |
中國化 |
弱 |
強:與新浪合作提供雲服務等 |
多語言 |
插件支持 |
插件支持 |
安裝包大小 |
小 |
大 |
開發
|
Phonegap |
AppCan |
開發語言 |
HTML 5 + js + CSS 3 |
HTML 5 + js + CSS 3 |
開發環境 |
不同平台需要不同開發環境 |
Eclipse(IDE 內置) |
UI |
JQM等三方控件或自行設計 |
AppCan.UI或第三方UI控件或自行設計 |
自定義控件 |
支持自定義控件(原生代碼),方便前台調用 |
暫不支持調用自定義控件(原生代碼),2.0后將支持 |
官方API |
較少,功能比較單一 |
比較豐富 |
第三方控件 |
比較豐富 |
僅支持UI、JS控件 |
多線程 |
支持 |
支持 |
多窗口 |
需要使用插件 |
框架支持 |
Iframe |
不支持 |
不支持 |
后退 |
需要插件 |
框架自帶API |
Socket等 |
需要自行開發控件(已有第三方控件) |
官方API支持,暫無法保持socket連接 |
性能
|
Phonegap |
AppCan |
頁面加載 |
有明顯的延時 |
有明顯的延時 |
頁面切換 |
部分第三方控件會出現明顯的抖動 |
將亮度不為最暗時,加載新頁面,有明顯的變暗 |
|
會出現白屏,需要使用第三方控件屏蔽 |
不會出現白屏 |
動畫渲染 |
較差 |
較好 |
細粒度測試 |
較差 |
一般 |
初始化內存 |
8.5MB |
11MB |
初始化Cpu使用量 |
一般 |
一般 |
UI刷新 |
每線程20毫秒刷新一次,4個線程開始出現刷新不及時 |
每線程20毫秒刷新一次,120個線程並無出現明顯刷新問題 |
|
|
content頁面在離開后不會結束,可能會出現重疊 |
應用加載速度 |
較快(不強制使用歡迎頁面、部分數據初始化可在歡迎頁面完成) |
差(系統強制使用歡迎界面,數據初始化無災歡迎頁面進行) |
頁面加載速度 |
較慢(不使用插件時直接跳轉,但會出現白屏) |
一般(原頁面等待0.5-1.5秒后跳轉) |
其他
|
Phonegap |
AppCan |
退出確認 |
自行開發 |
框架封裝 |
文檔 |
豐富 |
一般(逐漸增加) |
技術支持 |
一般 |
方便 |
提交問題渠道 |
論壇、Q群(民間)、官方郵箱 |
論壇、Q群(官方)、官方郵箱 |
附1
Content 頁面導致重疊效果
備注:
以上測試系統為:HUAWEI C8812
不同型號手機,Phonegap性能完全不同,由於時間緊張,並未使用多終端進行測試。