2018 混合開發(fā)

一溺森、概念

App混合開發(fā)癞己,顧名思義,是一個(gè)開發(fā)模式似将,指的是開發(fā)一個(gè)App一部分功能用native構(gòu)建一部分功能用html5構(gòu)建获黔,英文名叫:Hybrid App蚀苛。

在幾年前就已經(jīng)出現(xiàn)了App混合開發(fā)模式,但是真正開始流行始于2014年末玷氏,到了2016年已經(jīng)很流行了堵未,2017年將是鼎盛的一年,因?yàn)楝F(xiàn)在連銀行app都開始用混合開發(fā)了盏触,比如招行渗蟹、建行等。

二耻陕、優(yōu)缺點(diǎn)

混合開發(fā)最大的優(yōu)點(diǎn)是:節(jié)約成本和時(shí)間拙徽,縮短App開發(fā)周期。

最大的缺點(diǎn)我個(gè)人認(rèn)為有兩個(gè):一是性能不是很好诗宣,二是兼容性比較差膘怕。

但隨著Android 5.0+的普及以及iOS 9.0+的普及,性能缺陷和兼容性問題都在下降召庞,也就是說(shuō)如果哪一天Android最低支持版本從5.0開始岛心,iOS最低支持版本從9.0開始了,那么混合開發(fā)App的缺點(diǎn)就明顯會(huì)下降了篮灼,而這一天將在2017年末至2018年初到來(lái)忘古。

三、工具和框架

混合開發(fā)一些開發(fā)工具和框架其實(shí)很早就有了诅诱,比如AppCan髓堪、PhoneGap(Cordova)等,他們都主張一站式開發(fā)娘荡,簡(jiǎn)單的說(shuō)干旁,一個(gè)純html5的開發(fā)人員就可以開發(fā)和發(fā)布Android和iOS的App了,不需要專門的Android和iOS開發(fā)人員炮沐。雖然感覺這樣開發(fā)起來(lái)很快很簡(jiǎn)單争群,但是遇到問題和特殊需求的時(shí)候,就開始頭疼了大年,再加上框架本身也存在一定的性能消耗换薄,在Android 5.0和iOS 9.0以下,開發(fā)出來(lái)的App就顯得很雞肋翔试。所以依我的經(jīng)驗(yàn)來(lái)看轻要,并不推薦找?guī)讉€(gè)純html5的開發(fā)人員就開始“干大事”。

四遏餐、怎么去做好混合開發(fā)

上面說(shuō)了伦腐,找?guī)讉€(gè)純html5的開發(fā)人員就開始做混合開發(fā),這個(gè)是不實(shí)際的失都。主要是因?yàn)椋?柏蘑、不是所有的App就用html5來(lái)做就可以滿足需求,有些特殊場(chǎng)景和特殊的頁(yè)面以及高性能頁(yè)面需要用到原生的支持粹庞,2咳焚、一些復(fù)雜算法/重要信息用html5來(lái)實(shí)現(xiàn)和管理。

綜上庞溜,我認(rèn)為以后大部分混合App以后都會(huì)朝著以下方向去努力:

1革半、努力做到原生部分占20%,html5部分占80%流码。

2又官、原生將實(shí)現(xiàn):App主界面框架(可能含啟動(dòng)頁(yè)面)、要求高性能的頁(yè)面(如聊天/視頻通話頁(yè)面)漫试、復(fù)雜算法/重要信息的存儲(chǔ)或通信六敬。

而目前這兩年來(lái)說(shuō)(2017~2018年),大部分App只能做到35%左右的原生以及65%左右的html5驾荣。

一個(gè)混合App項(xiàng)目的前端開發(fā)人員的分布大概會(huì)是1:1:2.5外构,即:

小型項(xiàng)目:1個(gè)Android,1個(gè)iOS播掷,2~3個(gè)html5

中大型項(xiàng)目:2個(gè)Android审编,2個(gè)iOS,4~6個(gè)html5

五歧匈、混合開發(fā)產(chǎn)生影響

1垒酬、以后幾年Android和iOS開發(fā)人員需求量將逐漸減小,而html5開發(fā)人員需求量將越來(lái)越大件炉,而從Android或iOS轉(zhuǎn)html5的開發(fā)人員將慢慢越來(lái)越吃香勘究。

2、html發(fā)展進(jìn)程將加快妻率,將越來(lái)越多的html框架和工具出現(xiàn)乱顾。


推薦以下常用混合開發(fā)框架

[1]WeX5 ---簡(jiǎn)介

WeX5遵循Apache開源協(xié)議,完全開源免費(fèi)宫静,上百個(gè)組件框架走净,全部開放,可視化的組件框架孤里,開發(fā)者可自定義組件伏伯,集成第三方組件,采用MVC設(shè)計(jì)模式捌袜,數(shù)據(jù)和視圖分離说搅,頁(yè)面描述和代碼邏輯分離,支持瀏覽器調(diào)試虏等、真機(jī)調(diào)試弄唧、原生調(diào)試适肠,等多種調(diào)試模式,開發(fā)者可掌握每一行代碼候引。

WeX5一直堅(jiān)持采用H5+CSS3+JS標(biāo)準(zhǔn)技術(shù)侯养,一次開發(fā),多端任意部署澄干,確保開發(fā)者成果始終通用逛揩、不受限制。WeX5的混合應(yīng)用開發(fā)模式能輕松調(diào)用手機(jī)設(shè)備麸俘,如相機(jī)辩稽、地圖、通訊錄等从媚,讓開發(fā)者輕松應(yīng)對(duì)各類復(fù)雜數(shù)據(jù)應(yīng)用逞泄,代碼量減少80%。同時(shí)開發(fā)出的應(yīng)用能夠媲美原生的運(yùn)行體驗(yàn)静檬。

WeX5的可視化開發(fā)炭懊,堅(jiān)持為開發(fā)者提供良好開發(fā)體驗(yàn),拖拽式頁(yè)面設(shè)計(jì)拂檩,易學(xué)易用侮腹,拖拽組件、設(shè)置屬性即可完成復(fù)雜技術(shù)能力稻励。

[2]APICloud

APICloud是中國(guó)領(lǐng)先的“云端一體”的移動(dòng)應(yīng)用云服務(wù)提供商父阻。 APICloud為開發(fā)者從“云”和“端”兩個(gè)方向提供API,簡(jiǎn)化移動(dòng)應(yīng)用開發(fā)技術(shù)望抽,讓移動(dòng)應(yīng)用的開發(fā)周期從一個(gè)月縮短到7天加矛。基于APICloud提供的“云API”和“端API”煤篙,開發(fā)者甚至可以忘記繁雜的服務(wù)端編碼斟览,也可以忘記復(fù)雜的Objective-C和Java,更可以忘記那數(shù)不清的屏幕適配辑奈。

APICloud推行“云端一體”的理念苛茂,重新定義了移動(dòng)應(yīng)用開發(fā),幫開發(fā)者搞定一切鸠窗。

[3]MUI ??

MUI是一套前端框架妓羊,由DCLOUD公司研發(fā)而成,提供大量H5和js語(yǔ)言組成的組件稍计,大大提高了開發(fā)效率躁绸,可以用于開發(fā)web端應(yīng)用、web app等應(yīng)用。

[4]微信小程序開發(fā) ??

微信小程序是一種全新的連接用戶與服務(wù)的方式净刮,它可以在微信內(nèi)被便捷地獲取和傳播剥哑,同時(shí)具有出色的使用體驗(yàn)。

[5]phonegap

Phonegap是一款開源的開發(fā)框架庭瑰,旨在讓開發(fā)者使用[HTML]星持、[Javascript]抢埋、CSS等Web APIs開發(fā)跨平臺(tái)的移動(dòng)應(yīng)用程序。原本由Nitobi公司開發(fā),現(xiàn)在由Adobe擁有蛮位。

它需要特定平臺(tái)提供的附加軟件严蓖,例如iPhone的IOS [SDK],Android的Android SDK等饥努,也可以和DW5.5及以上版本配套開發(fā)捡鱼。使用PhoneGap只比為每個(gè)平臺(tái)分別建立應(yīng)用程序好一點(diǎn)點(diǎn),因?yàn)殡m然基本代碼是一樣的酷愧,但是你仍然需要為每個(gè)平臺(tái)分別編譯應(yīng)用程序驾诈。

[6]AppCan

AppCan是國(guó)內(nèi)Hybrid App混合模式開發(fā)的倡導(dǎo)者,AppCan應(yīng)用引擎支持Hybrid App的開發(fā)和運(yùn)行溶浴。并且著重解決了基于HTML5的移動(dòng)應(yīng)用"不流暢"和"體驗(yàn)差"的問題乍迄。使用AppCan應(yīng)用引擎提供的Native交互能力,可以讓HTML5開發(fā)的移動(dòng)應(yīng)用基本接近Native App的體驗(yàn)士败。

與Phonegap支持單一webview使用div為單位開發(fā)移動(dòng)應(yīng)用不同闯两。AppCan支持多窗口機(jī)制,讓開發(fā)者可以像最傳統(tǒng)的網(wǎng)頁(yè)開發(fā)一樣谅将,通過頁(yè)面鏈接的方式靈活的開發(fā)移動(dòng)應(yīng)用漾狼。基于這種機(jī)制饥臂,開發(fā)者可以開發(fā)出大型的移動(dòng)應(yīng)用逊躁,而不是只能開發(fā)簡(jiǎn)易類型的移動(dòng)應(yīng)用。

AppCan提供強(qiáng)大的設(shè)備調(diào)用能力隅熙,電話稽煤、短信、相機(jī)猛们、LBS念脯、傳感器、數(shù)據(jù)庫(kù)等常用的手機(jī)功能弯淘,開發(fā)者可以通過JS接口調(diào)用绿店,輕松構(gòu)建移動(dòng)應(yīng)用。

[7]CrossApp

CrossApp是一款完全開源、免費(fèi)假勿、跨平臺(tái)的移動(dòng)應(yīng)用開發(fā)引擎借嗽,基于最寬松的MIT開源協(xié)議,開發(fā)者根據(jù)自身情況使用CrossApp開發(fā)任何商業(yè)項(xiàng)目转培,官方會(huì)提供每天8小時(shí)的在線頁(yè)面問答式服務(wù)恶导,每個(gè)問題的反饋速度大概在30分鐘左右,回復(fù)率90%浸须。

[8]Cordova

Cordova提供了一組設(shè)備相關(guān)的API惨寿,通過這組API,移動(dòng)應(yīng)用能夠以JavaScript訪問原生的設(shè)備功能删窒,如攝像頭裂垦、麥克風(fēng)等。

Cordova還提供了一組統(tǒng)一的JavaScript類庫(kù)肌索,以及為這些類庫(kù)所用的設(shè)備相關(guān)的原生后臺(tái)代碼蕉拢。

Cordova支持如下移動(dòng)操作系統(tǒng):iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。

[9]React Native ??

React Native (簡(jiǎn)稱RN)是Facebook于2015年4月開源的跨平臺(tái)移動(dòng)應(yīng)用開發(fā)框架诚亚,是Facebook早先開源的UI框架 React 在原生移動(dòng)應(yīng)用平臺(tái)的衍生產(chǎn)物晕换,目前支持iOS和安卓?jī)纱笃脚_(tái)。RN使用Javascript語(yǔ)言站宗,類似于HTML的JSX闸准,以及CSS來(lái)開發(fā)移動(dòng)應(yīng)用,因此熟悉Web前端開發(fā)的技術(shù)人員只需很少的學(xué)習(xí)就可以進(jìn)入移動(dòng)應(yīng)用開發(fā)領(lǐng)域份乒。

React Native使你能夠在Javascript和React的基礎(chǔ)上獲得完全一致的開發(fā)體驗(yàn)恕汇,構(gòu)建世界一流的原生APP。

(Learn once, write anywhere)
React Native著力于提高多平臺(tái)開發(fā)的開發(fā)效率 —— 僅需學(xué)習(xí)一次或辖,編寫任何平臺(tái)瘾英。

[10]ionic

ionic是一個(gè)用來(lái)開發(fā)混合手機(jī)應(yīng)用的,開源的颂暇,免費(fèi)的代碼庫(kù)缺谴。可以優(yōu)化html耳鸯、css和js的性能湿蛔,構(gòu)建高效的應(yīng)用程序,而且還可以用于構(gòu)建Sass和AngularJS的優(yōu)化县爬。ionic會(huì)是一個(gè)可以信賴的框架阳啥。


其它連接資料

微信小程序開發(fā)文檔
AppCan教程
React Native教程
CrossApp教程
Cordova教程
jQuery Mobile教程


如有新的框架將持續(xù)更新

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市财喳,隨后出現(xiàn)的幾起案子察迟,更是在濱河造成了極大的恐慌斩狱,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扎瓶,死亡現(xiàn)場(chǎng)離奇詭異所踊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)概荷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門秕岛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人误证,你說(shuō)我怎么就攤上這事继薛。” “怎么了雷厂?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵惋增,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我改鲫,道長(zhǎng),這世上最難降的妖魔是什么林束? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任像棘,我火速辦了婚禮,結(jié)果婚禮上壶冒,老公的妹妹穿的比我還像新娘缕题。我一直安慰自己,他們只是感情好胖腾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布烟零。 她就那樣靜靜地躺著,像睡著了一般咸作。 火紅的嫁衣襯著肌膚如雪锨阿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天记罚,我揣著相機(jī)與錄音墅诡,去河邊找鬼。 笑死桐智,一個(gè)胖子當(dāng)著我的面吹牛末早,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播说庭,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼然磷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了刊驴?” 一聲冷哼從身側(cè)響起姿搜,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后痪欲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悦穿,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年业踢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了栗柒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡知举,死狀恐怖瞬沦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情雇锡,我是刑警寧澤逛钻,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站锰提,受9級(jí)特大地震影響曙痘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜立肘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一边坤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谅年,春花似錦茧痒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至超燃,卻和暖如春区拳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淋纲。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工劳闹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人洽瞬。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓本涕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親伙窃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子菩颖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

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