如何開發(fā)混合式app
一、Hybrid App概述
Hybrid App是介于web-app與native-app之間的應(yīng)用形式,融合了Native App良好的用戶交互體驗(yàn)與Web App跨平臺開發(fā)的優(yōu)勢。根據(jù)其混合方式,通??煞譃槎郪iew混合型、單View混合型以及Web主體型三種類型。

二、多View混合型
多View混合型是Native View和WebView獨(dú)立展示、交替出現(xiàn)的一種形式。在這種模式下,WebView作為一個獨(dú)立的View(Activity)運(yùn)行,完成相關(guān)的展示操作。這種應(yīng)用形式的主體通常是Native App,Web技術(shù)起到補(bǔ)充作用。開發(fā)難度與Native App相當(dāng)。
三、單View混合型
單View混合型則是在同一個View內(nèi)同時包含Native View和WebView,二者之間是覆蓋(層疊)的關(guān)系。這種Hybrid App開發(fā)成本較高,難度較大,但用戶體驗(yàn)較好。以百度搜索為代表的單View混合型移動應(yīng)用,既實(shí)現(xiàn)了靈活性,又實(shí)現(xiàn)了良好的用戶體驗(yàn)。
四、Web主體型

Web主體型的移動應(yīng)用主體是WebView,以網(wǎng)頁語言編寫,并穿插Native功能。這種形式的移動應(yīng)用體驗(yàn)可能存在缺陷,但開發(fā)難度大幅降低,并可實(shí)現(xiàn)跨平臺。其中,國外的appMobi、PhoneGap和國內(nèi)的WeX5、AppCan和Rexsee等都屬于Web主體型移動應(yīng)用中間件。
五、為何選擇混合app開發(fā)
隨著HTML5的實(shí)際開發(fā)中的性能及體驗(yàn)問題的顯現(xiàn),以及Native App開發(fā)難度大、成本高、周期長等問題的突出,Web App逐漸勢弱。而Hybrid App的出現(xiàn),既具備了跨平臺開發(fā)周期短、成本低的優(yōu)勢,又能提供Native App的體驗(yàn)和性能。Hybrid App混合式移動應(yīng)用開發(fā)逐漸成為企業(yè)移動開發(fā)的首選。
具體來說,Web主體型的Hybrid App雖然可能存在用戶體驗(yàn)的缺陷,但通過優(yōu)化底層中間件性能、擴(kuò)展插件機(jī)制等方式,可以接近Native App的體驗(yàn)。一些先進(jìn)的Hybrid App框架如WeX5等,不僅具備跨端運(yùn)行能力,還能調(diào)用本地資源,性能體驗(yàn)不輸原生,使得Hybrid App成為最具潛力的移動應(yīng)用開發(fā)解決方案。Native App的疲憊之旅
====================

一、漫長的開發(fā)周期
當(dāng)前企業(yè)移動信息化仍處于摸索階段,企業(yè)需快速響應(yīng)市場需求與變化,推出多樣化功能及產(chǎn)品。Native App的開發(fā)、更新與維護(hù)周期長,即便對于擁有專業(yè)開發(fā)團(tuán)隊(duì)的互聯(lián)網(wǎng)公司而言,推陳出新也是一大挑戰(zhàn),更不用說在企業(yè)中的應(yīng)用。無論是企業(yè)自主開發(fā)還是選擇外包,都將面臨時間成本、穩(wěn)定性及體驗(yàn)方面的巨大壓力。
二、團(tuán)隊(duì)技術(shù)的挑戰(zhàn)
Native App的開發(fā)需要高水平技術(shù)團(tuán)隊(duì)作為支撐。企業(yè)往往需要花費(fèi)數(shù)十萬通過外包形式開發(fā)一兩款A(yù)pp,但往往忽略的是,維護(hù)和更新同樣需要持續(xù)投入。不更新的App難以滿足用戶持續(xù)發(fā)展的需求,甚至可能被用戶遺棄。應(yīng)用更新成為了企業(yè)移動信息化的瓶頸。面臨更新的壓力,企業(yè)往往陷入不更新則前期努力白費(fèi),更新則承受不起長期投入的困境。
Web App:僅僅是噱頭嗎?

HTML5技術(shù)的崛起為Web App帶來了新的生機(jī),但Web App本質(zhì)上并未達(dá)到人們的期望。其功能無法與Native App相媲美,用戶體驗(yàn)也存在明顯的弊端。許多企業(yè),包括世界500強(qiáng)的航空、金融公司,都嘗試過Web App的開發(fā),但投入與回報不成比例,用戶并不買賬。在iOS、Android系統(tǒng)主導(dǎo)的桌面入口形態(tài)下,讓用戶打開瀏覽器訪問某個網(wǎng)址的方式并不人性化,導(dǎo)致大量用戶流失。從2012年下半年開始,企業(yè)逐漸放棄了Web App的嘗試。
Hybrid App:移動開發(fā)的新主流
Hybrid App結(jié)合了Native App良好的用戶交互體驗(yàn)和Web App跨平臺開發(fā)的優(yōu)勢??赡茉S多人并不知道,市場上一些主流移動應(yīng)用都是基于Hybrid App方式開發(fā),如工商銀行、百度搜索、街旁、東方航空等。
Hybrid App通常是基于第三方跨平臺移動應(yīng)用引擎框架進(jìn)行開發(fā),如PhoneGap、Titanium和AppCan等。這些引擎框架使用HTML5和Javascript作為編程語言,調(diào)用引擎封裝的底層功能,如照相機(jī)、傳感器、通訊錄、二維碼等。與Web App的最大區(qū)別在于,HTML5和Javascript在這里只是一種解析語言,真正調(diào)用的是和Native App一樣的底層功能。由于使用了瀏覽器技術(shù),Hybrid App具有跨平臺的特性,開發(fā)成本接近Web App,而開發(fā)效率遠(yuǎn)高于Native App。
企業(yè)級移動開發(fā)擁抱Hybrid App

許多企業(yè)開始采用Hybrid App技術(shù)進(jìn)行移動應(yīng)用開發(fā)。這一方面因?yàn)殚_發(fā)相對簡單,另一方面可以形成開發(fā)的標(biāo)準(zhǔn)。企業(yè)可以封裝大量的Native Plugin(如支付功能插件)供Javascript調(diào)用,并在今后的項(xiàng)目中盡可能復(fù)用,從而大幅降低開發(fā)時間和成本。Hybrid App的標(biāo)準(zhǔn)化給企業(yè)移動應(yīng)用的開發(fā)、維護(hù)、更新帶來了極高的便捷性。這不僅解決了Native App開發(fā)周期長的問題,也克服了Web App功能不足和體驗(yàn)不佳的弊端,為企業(yè)移動信息化提供了更加實(shí)際和高效的解決方案。Hybrid App開發(fā)的崛起與企業(yè)移動信息化
Hybrid App開發(fā):企業(yè)移動信息化的新趨勢
在當(dāng)今這個信息化飛速發(fā)展的時代,Hybrid App開發(fā)已經(jīng)逐漸成為企業(yè)移動開發(fā)的趨勢。許多企業(yè)還在為移動信息化的道路和方向苦惱,然而在投入成本、用戶體驗(yàn)、維護(hù)成本等多方面綜合考慮后,Hybrid App已經(jīng)被眾多企業(yè)所認(rèn)可。
在企業(yè)移動信息化平臺整體解決方案商提供的方案中,幾乎無一例外地將Hybrid App作為首選的移動應(yīng)用開發(fā)模式。無論是IBM的worklight、AppCan的MEAP,還是SAP的SUP平臺,都體現(xiàn)了Hybrid App的強(qiáng)大實(shí)力和廣泛應(yīng)用。
H5混合開發(fā)app如何升級:自動與手動升級方法

當(dāng)我們的app開發(fā)完成后,不可避免的會遇到產(chǎn)品升級的問題。如何讓app在客戶的手機(jī)上進(jìn)行自動或手動升級,是每一個開發(fā)者都需要面對的挑戰(zhàn)。本文將為大家介紹H5混合開發(fā)app如何升級的方法。
一、自動升級
自動升級通常發(fā)生在客戶首次打開app的時候。其基本思路是獲取本機(jī)的app版本號,然后與服務(wù)器上的最新版本號進(jìn)行比較。如果客戶的版本低于服務(wù)器上的版本,那么就會觸發(fā)更新操作。對于ios應(yīng)用,由于發(fā)布在蘋果應(yīng)用商店,所以更新流程相對固定。而對于android應(yīng)用,則直接部署在自家的服務(wù)器上(如IIS服務(wù)器),避免了在多個android應(yīng)用市場提交更新的繁瑣流程。
二、手動升級
與自動升級不同,手動升級通常在app界面提供一個明顯的升級入口。當(dāng)用戶點(diǎn)擊此入口時,也會觸發(fā)更新流程。值得注意的是,手動更新和自動更新在調(diào)用更新方法時需要傳入不同的參數(shù)。這是因?yàn)樽詣痈聲r,如果系統(tǒng)檢測到當(dāng)前已經(jīng)是最新版本,那么將不會在客戶端進(jìn)行展示;而手動更新時,即使是最新版本,也需要向用戶進(jìn)行提示。

調(diào)用方法示例:
自動更新調(diào)用:appUpdate(); // 檢測app更新
手動更新調(diào)用:appUpdate(true); // 檢測app更新并提示用戶
隨著移動互聯(lián)網(wǎng)的飛速發(fā)展,Hybrid App開發(fā)已經(jīng)成為企業(yè)移動開發(fā)的重要方向。而對于開發(fā)者來說,如何使app在自動和手動兩種情況下都能順利進(jìn)行升級,也是一項(xiàng)關(guān)鍵技能。希望能幫助到廣大開發(fā)者更好地理解和掌握H5混合開發(fā)app的升級方法。
