移動跨平臺解決方案

  • 本文轉(zhuǎn)載自博客園 song-z

目前流行的跨平臺WebApp開發(fā)技術的特點

每個框架幾乎都包含以下特性:
  • 使用 HTML5 + CSS + JavaScript 開發(fā)
  • 跨平臺重用代碼
  • 豐富的UI庫
  • 提供訪問設備原生API的 JavaScript API 包裝器
  • 解決原生開發(fā)中機型適配的難題
  • 提供打包、部署的工具或服務
  • 都需要學習自身封裝的 JavaScript API
篩選框架的要求
  • 性能:運行速度快
  • UI:提供接近原生的UI體驗
  • 插件多朵耕,文檔豐富匿级,開發(fā)效率高描滔,容易擴展和維護
  • 滿足業(yè)務需求
一姨夹、Cordova

Cordova 和 PhoneGap 的區(qū)別吴趴?
PhoneGap 是 Apache Cordova 的一個分發(fā)版削饵,就像 Ubuntu 是 基于 Linux 的一個發(fā)行版署浩,其代碼庫也基于 Cordova,只是 PhoneGap 關聯(lián)了 Adobe 的一些額外的商業(yè)工具或服務掸哑,例如 PhoneGap Build 和 Adobe Shadow左胞,來幫助開發(fā)者簡化開發(fā)。
此外举户,兩者提供的CLI工具烤宙、項目結構有差異,如:
Cordova 把 config.html 放在項目目錄下俭嘁,而 PhoneGap 把它放在www 目錄下躺枕。

優(yōu)點

  • 開源免費,社區(qū)生態(tài)成熟,插件豐富
  • 支持離線場景應用
  • 開發(fā)工具選擇空間大

缺點:

  • 只提供基礎訪問設備的接口拐云,需要自己搭配其他UI框架和JavaScript框架來搭配

UI框架

參考資料

Cordova中文文檔
創(chuàng)建第一個App(英文)
利用 Cordova+Famous 創(chuàng)建高性能跨平臺APP
使用 Cordova 和 Vue.js 創(chuàng)建移動應用

二、Ionic

官網(wǎng)地址:http://www.ionic.wang/(有案例)
Ionic = Cordova + AngularJS + 一套樣式庫薇缅。

技術要求

  • HTML + CSS + AngularJS

優(yōu)點

  • 基于 Cordova
  • 漂亮的界面危彩,追求性能,專注原生泳桦,免費開源
  • Angular JS MVVM 開發(fā)理念汤徽,數(shù)據(jù)雙向綁定
  • 繼承自 Cordova,可以使用 Cordova 的插件

缺點

  • Angular JS 學習路線陡峭
  • Ionic 框架相比于原生的 Cordova 有所差異灸撰,Cordova 某些官方插件可能不適用于Ionic

三谒府、AppCan

通過AppCan IDE集成開發(fā)系統(tǒng)、云端打包器等浮毯,快速開發(fā)出Android完疫、iOS、WP平臺上的移動應用债蓝。

有兩種方式創(chuàng)建項目:IDE 和云端壳鹤,并且IDE可以同步到云端。
免費用戶有100M空間惦蚊、50個應用的限制。

優(yōu)點

  • 提供一體化解決方案讯嫂,方便環(huán)境搭建蹦锋、開發(fā)、調(diào)試欧芽、發(fā)布
  • 框架自帶UI包莉掂,包含常用控件樣式
  • 框架對UI、動畫渲染進行過優(yōu)化千扔,反應速度快
  • 支持本地打包憎妙、云端打包
  • 基于密鑰的代碼加密

缺點

  • 不開源,無法修改曲楚、優(yōu)化底層代碼
  • 分大眾版和企業(yè)版厘唾,大眾版免費,但功能有缺失龙誊,詳細見附錄

  • 暫不支持自行開發(fā)控件/抚垃,無法調(diào)取android原生功能

  • 框架自帶功能過多,導致應用安裝包偏大。

  • 文檔偏少

  • 部分系統(tǒng)無法使用IDE進行調(diào)試

  • 只能在服務器端發(fā)布鹤树,無法在本地發(fā)布

  • IOS發(fā)布铣焊,需要將證書上傳至服務器

參考:
Phonegap VS AppCan

使用案例
我愛我家App 等

附錄
企業(yè)版和大眾版主要有以下幾點區(qū)別:

  • 開發(fā)環(huán)境:
    企業(yè)版走獨立的開發(fā)環(huán)境與打包環(huán)境,企業(yè)版配備macmini打包服務器罕伯,可以實現(xiàn)本地環(huán)境下創(chuàng)建項目曲伊,調(diào)試,打包追他;
    大眾版不管是創(chuàng)建項目還是打包都需要依托于官方的服務器坟募,需要在聯(lián)網(wǎng)的情況下進行,打包需要將源碼上傳到官方服務器進行打包湿酸;

  • 版本控制:企業(yè)版獨立控制引擎插件的版本婿屹;
    大眾版官方統(tǒng)一維護,官方換哪個版本開發(fā)者就需要使用哪個版本推溃,沒有選擇昂利;

  • 協(xié)同開發(fā):企業(yè)版可通過macmini后臺分配開發(fā)者或者應用管理員帳號,可實現(xiàn)協(xié)同開發(fā)铁坎。
    大眾版不能滿足協(xié)同開發(fā)

  • 企業(yè)版有推送API接口
    大眾版沒有

  • 售后服務:企業(yè)版有獨立的售后團隊
    大眾版的入口是論壇

四蜂奸、Dcloud

Dcloud組件
Dcloud和原生開發(fā)對比

特點:
云編譯必須聯(lián)網(wǎng)獲取AppId

優(yōu)點:

  • 國內(nèi)廠商,中文文檔
  • 對HTML5的性能硬萍、工具扩所、能力都做了深入擴展,提供 IDE 朴乖、云服務等幫助節(jié)省時間
  • MUI 更貼近國內(nèi)App使用習慣祖屏,提供模塊的詳細例子,如登錄买羞,個人中心

缺點:

  • 部分操作需要具備原生開發(fā)經(jīng)驗袁勺,如離線打包App
  • 新產(chǎn)品仍然有bug,還需改進

學習路線:

DCloud學習路線
五畜普、APICloud

優(yōu)點:

不懂原生開發(fā)期丰,不懂后臺語言就可完成APP
缺點:

更新速度快,版本不夠穩(wěn)定
面向不懂App開發(fā)人群吃挑,不適合程序員和科技公司钝荡,過度依賴會降低技術水平
涉嫌抄襲DCloud大量代碼

六、React Native

能夠在Javascript和React的基礎上獲得完全一致的開發(fā)體驗舶衬,構建世界一流的原生APP埠通。
僅需學習一次,編寫任何平臺逛犹。(Learn once, write anywhere)

缺點:

初次學習成本高
必須在不同平臺下寫兩套代碼植阴,依賴暴露的接口

總結

Cordova
生態(tài)成熟蟹瘾,有更多可搭配工具使用,開源代碼可自由定制掠手;
前端框架: famous 或 Framework7

DCloud
國產(chǎn)中的開源憾朴,免費,性能不錯
提供云服務幫助打包和部署喷鸽、測試众雷,降低一部分門檻,減少時間做祝;
前端框架:MUI

APICloud
生態(tài)不好砾省,名聲不好,面向群體不適合混槐;

AppCan
閉源编兄,商業(yè)化產(chǎn)品,免費版限制太多声登;

Ionic
AngularJS 學習曲線陡峭狠鸳,需要時間;

React Native
學習成本高

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悯嗓,一起剝皮案震驚了整個濱河市件舵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脯厨,老刑警劉巖铅祸,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異合武,居然都是意外死亡临梗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門稼跳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盟庞,“玉大人,你說我怎么就攤上這事岂贩∶>” “怎么了巷波?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵萎津,是天一觀的道長。 經(jīng)常有香客問我抹镊,道長锉屈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任垮耳,我火速辦了婚禮颈渊,結果婚禮上遂黍,老公的妹妹穿的比我還像新娘。我一直安慰自己俊嗽,他們只是感情好雾家,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绍豁,像睡著了一般芯咧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竹揍,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天敬飒,我揣著相機與錄音,去河邊找鬼芬位。 笑死无拗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的昧碉。 我是一名探鬼主播英染,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晌纫!你這毒婦竟也來了税迷?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锹漱,失蹤者是張志新(化名)和其女友劉穎箭养,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哥牍,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡毕泌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗅辣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撼泛。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖澡谭,靈堂內(nèi)的尸體忽然破棺而出愿题,到底是詐尸還是另有隱情,我是刑警寧澤蛙奖,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布潘酗,位于F島的核電站,受9級特大地震影響雁仲,放射性物質(zhì)發(fā)生泄漏仔夺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一攒砖、第九天 我趴在偏房一處隱蔽的房頂上張望缸兔。 院中可真熱鬧日裙,春花似錦、人聲如沸惰蜜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抛猖。三九已至政钟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間樟结,已是汗流浹背养交。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瓢宦,地道東北人碎连。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像驮履,于是被迫代替她去往敵國和親鱼辙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1.Xamarin Xamarin是目前應用最為廣泛的移動應用開發(fā)平臺玫镐。Xamarin應用利用原生用戶界面控制進行...
    51340fef90e4閱讀 801評論 0 0
  • 介紹 最近出現(xiàn)的 React Native 再次讓跨平臺移動端開發(fā)這個話題火起來了倒戏,曾經(jīng)大家以為在手機上可以像桌面...
    cosWriter閱讀 2,321評論 0 12
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,288評論 25 707
  • 基于ionic2的跨平臺項目(iOS) 一、技術背景 為了開發(fā)html5恐似,除了最新使用React Native等之...
    慶華_8f67閱讀 1,405評論 1 3
  • 我沒有什么消費觀杜跷。如果硬給我加消費觀的話,我的消費觀就是:亂花矫夷。 小時候比較老實葛闷,家里給點小錢會隨手花花,可是到了...
    mylkevin閱讀 186評論 0 0