hybrid app
Hybrid App(混合模式移動應用)是指介於web-app、native-app這二者之間的app,兼具「Native App良好用戶交互體驗的優點」和「Web App跨平臺開發的優點」。css
「雲」時代的來臨正在改變App和運營團隊之間的關係,一場不能避免的變革正在進行。鑑於
移動終端的侷限性,移動終端上的
APP由本地化應用(Native App),到混合型應用(Hybrid APP),再到基於WEB的應用Web App,這一連串的變化都源於技術的更新和市場的須要[1]
。
Hybrid App是指介於web-app、native-app這二者之間的
app,它雖然看上去是一個Native App,但只有一個UI WebView,裏面訪問的是一個Web App,好比街旁網最開始的應用就是包了個客戶端的殼,其實裏面是HTML5的網頁,後來才推出真正的原生應用。再完全一點的,如掌上百度和淘寶客戶端Android版,走的也是Hybrid App的路線,不過掌上百度裏面封裝的不是WebView,而是本身的瀏覽內核,因此體驗上更像客戶端,更高效。
汽車有混合動力Hybrid,
移動應用一樣也有混合模式。Hybrid App(混合模式移動應用)兼具「Native App良好用戶交互體驗的優點」和「Web App跨平臺開發的優點」。不少人不知道市場上一些主流移動應用都是基於Hybrid App的方式開發,好比國外有Facebook、國內有百度搜索等。但究竟什麼是Hybrid App?如何定義?
Hybrid App:Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store, Google Play etc. Usually, they are downloaded from the platform to a target device, such as iPhone, Android phone or Windows Phone. The subscribers need to install to run them.
咱們來拆解一下里面的含義:
一、mobile application:Hybrid App就是一個移動應用
二、both browser-supported language and computer language:同時使用網頁語言與程序語言編寫
三、available through application distribution platforms:經過應用商店進行分發
四、a target device:區分目標平臺
五、install to run:用戶須要安裝使用
綜合一下就是:「Hybrid App同時使用網頁語言與程序語言開發,經過應用商店區分移動操做系統分發,用戶須要安裝使用的移動應用」。整體特性更接近Native App可是和Web App區別較大。只是由於同時使用了網頁
語言編碼,因此開發成本和難度比Native App要小不少。所以說,Hybrid App兼具了Native App的全部優點,也兼具了Web App使用HTML5跨平臺開發低成本的優點
Hybrid App的興起是現階段移動互聯網產業的一種偶然。移動互聯網的熱潮颳起後,衆多公司前赴後繼的進入。可是很快發現移動應用的開發人員太少,因此致使瘋狂的人才爭奪。市場機制下移動應用開發人才的待遇扶搖直上,最終變成衆多企業沒法負擔養一個具有跨平臺開發能力的專業移動應用開發團隊。而HTML5的出現讓Web App露出曙光,HTML5開發移動應用的跨平臺和廉價優點讓衆多想進入移動互聯網領域的公司開始心動。但是當下基於HTML5的Web App更是霧裏看花,在用戶入口習慣、分發渠道和應用體驗這三個核心問題沒解決以前,Web App也很可貴以爆發。正是在這樣是機緣巧合下,基於HTML5低成本跨平臺開發優點又兼具Native App特質的Hybrid App技術殺入混戰,而且很快吸引了衆人的目光。大幅的下降了移動應用的開發成本,能夠經過現有應用商店模式發行,在用戶桌面造成獨立入口等等這些,讓Hybrid App成爲解決移動應用開發困境不錯的選擇,也成爲現階段Web App的代言人。Hybrid App像刺客同樣,在Native App和Web App混戰之時,偶然間的在移動應用開發領域佔有了一席之地。
Hybrid App按網頁語言與程序語言的混合,一般分爲三種類型:多View混合型,單View混合型,Web主體型。
多View混合型
即Native View和Web View獨立展現,交替出現。2012年常見的Hybrid App是Native View與WebView交替的場景出現。這種應用混合邏輯相對簡單。即在須要的時候,將WebView當成一個獨立的View(Activity)運行起來,在WebView內完成相關的展現操做。這種移動應用主體一般是Native App,Web技術只是起到補充做用。開發難度和Native App基本至關。
單View混合型
即在同一個View內,同時包括Native View和Web View。互相之間是覆蓋(層疊)的關係。這種Hybrid App的開發成本較高,開發難度較大,可是體驗較好。如百度搜索爲表明的單View混合型移動應用,既能夠實現充分的靈活性,又能實現較好的用戶體驗。
Web主體型
即移動應用的主體是Web View,主要以網頁語言編寫,穿插Native功能的Hybrid App開發類型。這種類型開發的移動應用體驗相對而言存在缺陷,但總體開發難度大幅下降,而且基本能夠實現跨平臺。Web主體型的移動應用用戶體驗的好壞,主要取決於底層中間件的交互與跨平臺的能力。國外的appMobi、PhoneGap和國內的WeX五、AppCan和Rexsee都屬於Web主體型移動應用中間件。其中Rexsee不支持跨平臺開發。appMobi和PhoneGap除基礎的底層能力更可能是經過
插件(Plugins)擴展的機制實現Hybrid。AppCan除了插件機制,還提供了大量的單View混合型的接口來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。而WeX5則在揉合PhoneGap和Bootstrap等主流技術的基礎上,對性能進一步作了深度優化,不但徹底具有Native App對本地資源的調用能力,性能體驗也不輸原生;WeX5所開發出來的app具有徹底的跨端運行能力,能夠無需任何修改直接運行在各類前端環境上。
從分析可見,Hybrid App中的Web主體型只要可以解決用戶體驗差的問題,就能夠變成最佳Hybrid App解決方案類型。
國內外Hybrid App的開發框架衆多。如何選擇又成爲一個難題。下面對開發者比較關心的集中知名跨平臺開發移動應用中間件進行列表和對比,以便選擇最適合您的移動應用中間件。
PhoneGap是相對比較早進入公衆視線的一種選擇。可是,開發者簡單的基於PhoneGap來開發移動應用確定會發現結果和Web App比較差的用戶體驗相似。這也是爲何基於PhoneGap有實用性的移動應用主要集中在iOS上。但是PhoneGap這種現狀弱化了HTML5的跨平臺價值。
Titanium是一種基於翻譯機制的跨平臺中間件,可以開發出具備Native體驗的移動應用,可是由於翻譯機制的限制致使移動應用開發不能像真正的HTML5開發同樣靈活。哪怕一個按鈕也不能像普通HTML同樣來編寫,而必須按照Titanium約定的特定格式。
Salama是全新研發的一套Hybrid APP和雲端服務整合的開發套件。在終端,一共有三種開發模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,須要追求終端速度和顯示效果的開發者,能夠在不改變原有的構架思路的前提下進行開發。在JS模式下,全部的畫面顯示及業務邏輯均由JS程序實現,對於原來的基於WEB的開發者,只要熟悉JS、CSS、HTML的前端工程師就能夠輕鬆構建本身的應用。在高度混合模式下,原生和HTML5能夠隨意組合,能夠爲開發者在進行大型商業軟件開發的過程當中提供最高的性價比。不只如此,在雲端Salama還提供了一整套雲服務,涵蓋了業務處理、數據庫操做、文件等資源的存儲分發等服務。Salama已經爲多家公司提供了方案,知名客戶有TOSHIBA-AIRCON、GEDORE等品牌商,同時也在Salama平臺上構造了Ishow企業電子目錄產品服務。
WeX5具有單View的性能特色,相比PhoneGap、Bootstrap有大幅度性能提高,同時也是以Html五、Javascript、Css3爲技術基礎的Web型App框架;WeX5框架按照Apache協議將全部源代碼進行了開源,技術和模式上顯得很開放。
AppCan在技術架構上和PhoneGap相似是Web主體型中間件,可是經過結合了一些原生交互效果可以達到iOS、Android平臺都比較一致的用戶體驗。可是相比PhoneGap、WeX5的開源,AppCan相對封閉的路線顯得過於謹慎。
Hybrid App這個領域雖然還處於比較初期的階段,可是已經有不少優秀的公司和技術團隊在致力於跨平臺開發移動應用
中間件技術的研究,給了開發者衆多選擇。開發者能夠根據實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現階段沒法解決的問題,或最終夭折。Hybrid App正在被愈來愈多的公司和開發者所認同,勢必會成爲新世界的王。
Web App、Hybrid App、Native APP對比
|
Web App(網頁應用)
|
Hybrid App(混合應用)
|
Native App(原生應用)
|
開發成本 |
低 |
中
|
高
|
維護更新 |
簡單
|
簡單
|
複雜
|
體驗 |
差
|
中
|
優
|
Store或market承認 |
不承認 |
承認 |
承認
|
安裝 |
不須要 |
須要
|
須要 |
跨平臺
|
優
|
優
|
差
|
7個hybrid app開發工具編輯
一、Appcelerator
Appcelerator的Titanium開發平臺使開發者能夠經過HTML、PHP、JavaScript、Ruby、Python等Web編程語言開發手機、平板和桌面的原生App。其優點在於它可讓用戶輕鬆地訪問超過300個API以及定位信息。
此外,Appcelerator提供針對特定行爲或事件定製的統計。App的數據既可儲存在雲端,也可儲存在設備上。
二、WeX5
WeX5採用混合應用(hybrid app)開發模式, UI體系徹底基於w3c的html5+css3+js;引入jquery和bootstrap並對移動作了底層優化,效率和性能接近原生應用。WeX5本機API Framework採用phonegap(cordova)框架。[2]
三、APICloud
APICloud是一款「雲端一體」的移動開發平臺,信仰「雲端一體」的理念,從新定義了移動應用開發。APICloud爲開發者從「雲」和「端」兩個方向提供API,簡化移動應用開發技術,讓移動應用的開發週期從一個月縮短到7天。APICloud由「雲API」和「端API」兩部分組成,能夠幫助開發者快速實現移動應用的開發、測試、發佈、管理和運營的全生命週期管理。
四、PhoneGap
PhoneGap是一個免費且開源的開發環境,使開發者能夠開發出在Android、Palm、黑莓、iPhone、iTouch及iPad等設備上運行的App。其使用的是HTML和JavaScript等標準的Web開發語言。開發者使用PhoneGap進行開發,可調用加速計、GPS/定位、照相機、聲音等功能。
PhoneGap還提供Adobe AIR App以及在線的培訓課程,幫助開發者瞭解原生API並在他們本身的平臺上開發移動App。
五、NativeScript
NativeScript是使用移動平臺的 JavaScript 引擎來進行跨平臺開發。邏輯部分天然無需多說,關鍵在於如何使用平臺特性。NativeScript是經過反射獲得全部平臺 API,預編譯它們,而後將這些 API 注入到 JavaScript 運行環境,接下來在 Javascript 調用後攔截這個調用,並運行 native 代碼。NativeScript是使用大量 web 開發的技巧來進行 app 開發,由於工具鏈和語言都很是熟悉受到了不少前端開發者的歡迎。
六、Kinvey
Kinvey一樣是一個爲移動應用開發者提供後臺建立服務的平臺。Kinvey強調加速移動應用開發與銷售的「即取即用」理念。Kinvey的中間層與數據層均託管在多個雲服務提供商處,包括 Rackspace、Amazon與Microsoft。全部經過Kinvey存儲的數據都會有四種方式備份:Amazon EC二、Windows Azure、Rackspace以及Kinvey本身的服務器,假如其中一兩個出現了故障,用戶的數據依然安然無恙。[3]
七、ExMobi
ExMobi經過全面的數據集成技術和豐富的跨平臺客戶端展示能力,將業務系統快速、安全、高效的移植於移動終端。ExMobi從開發(IDE環境)、集成(IT系統對接、雲服務)、打包(各個操做系統的應用打包)、發佈(應用的運行)、管理(日誌管理,更新管理)上提供了一套完整的解決方案。並經過專業的培訓和支撐渠道爲開發者提供可持續的學習和交流空間,掃除開發障礙。[4]