簡介
“雲”時代的來臨正在改變App和運營團隊之間的關係,一場不能避免的變革正在進行。鑒於
移動終端的局限性,移動終端上的
APP由本地化套用(Native App),到基於WEB的套用Web App,再到混合型套用(Hybrid APP),這一連串的變化都源於技術的更新和市場的需要。
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的方式開發,比如百度搜尋等。但究竟什麼是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.
我們來拆解一下裡面的含義:
1、mobile application:Hybrid App就是一個移動套用
2、both browser-supported language and computer language:同時使用網頁語言與程式語言編寫
3、available through application distribution platforms:通過套用商店進行分發
4、a target device:區分目標平台
5、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和國內的WeX5、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解決方案類型。
多主體共存型——靈活型
這是一種新型的開發模式,即支持Web主體型的套用,又支持以Native主體的套用,也支持兩者混合的開發模式。比如kerkee框架,它具有跨平台、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規範化、具有Debug環境、徹底解決跨域問題等特點。用戶體驗與Native 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有大幅度性能提升,同時也是以Html5、Javascript、Css3為技術基礎的Web型App框架;WeX5框架按照Apache協定將所有原始碼進行了開源,技術和模式上顯得很開放。
Kerkee是一個多主體共存型Hybrid框架,具有跨平台、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規範化、集成雲服務、具有Debug環境、徹底解決跨域問題。
AppCan在技術架構上和PhoneGap類似是Web主體型中間件,但是通過結合了一些原生互動效果能夠達到iOS、Android平台都比較一致的用戶體驗。與Phonegap支持單一webview使用div為單位開發移動套用不同。AppCan支持多視窗機制,讓開發者可以像最傳統的網頁開發一樣,通過頁面連結的方式靈活的開發移動套用。基於這種機制,開發者可以開發出大型的移動套用,而不是只能開發簡易類型的移動套用。
Hybrid App這個領域雖然還處於比較初期的階段,但是已經有很多優秀的公司和技術團隊在致力於跨平台開發移動套用
中間件技術的研究,給了開發者眾多選擇。開發者可以根據實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜尋引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現階段無法解決的問題,或最終夭折。Hybrid App正在被越來越多的公司和開發者所認同,勢必會成為新世界的王。
Web App、Hybrid App、Native APP對比
| Web App(網頁套用) | Hybrid App(混合套用) | Native App(原生套用) |
開發成本 | 低 | 中 | 高 |
維護更新 | 簡單 | 簡單 | 複雜 |
體驗 | 差 | 中 | 優 |
Store或market認可 | 不認可 | 認可 | 認可 |
安裝 | 不需要 | 需要 | 需要 |
跨平台 | 優 | 優 | 差 |
hybrid app開發工具
1、AppCan
AppCan是國內Hybrid App混合模式開發的倡導者,AppCan套用引擎支持Hybrid App的開發和運行。並且著重解決了基於HTML5的移動套用"不流暢"和"體驗差"的問題。使用AppCan套用引擎提供的Native互動能力,可以讓HTML5開發的移動套用基本接近Native App的體驗。
AppCan作為中國Hybrid混合套用開發、移動平台、移動雲平台的倡導者和領導者,以“免費+開源+開放”的網際網路模式,為廣大開發者提供一站式的移動套用開發支持服務。與此同時,從移動套用開發、管理、運營、安全四個方面,為各級政府和企事業單位,構建運營一體化的企業移動平台,企業通過個性化的移動運營門戶,增強客戶服務品質,提升整體經營管理水平。
現在,正益移動AppCan行業解決方案已成功套用於金融、航空、政府、石化、傳媒等領域,客戶包括東方航空、國家電網、中化集團、泰康人壽、新華社等眾多大型企業,贏得了市場廣泛認可,是國內企業移動信息化領域的龍頭企業。
2、Appcelerator
Appcelerator的Titanium開發平台使開發者可以通過HTML、PHP、JavaScript、Ruby、Python等Web程式語言開發手機、平板和桌面的原生App。其優勢在於它可以讓用戶輕鬆地訪問超過300個API以及定位信息。
此外,Appcelerator提供針對特定行為或事件定製的統計。App的數據既可儲存在雲端,也可儲存在設備上。
3、Kerkee
Kerkee是一個多主體共存型Hybrid框架,具有跨平台、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規範化、集成雲服務、具有Debug環境、徹底解決跨域問題。
從開發者角度來說,它支持三種的團隊開發模式:
針對Web開發者:
這種模式其中的一個場景是:只會Web開發,卻不會Native開發的開發者提供了一系列的平台型接口。這種方式具有開發周期短,跨平台等優點。
針對Native開發者 :
這種開發模式的其中一個場景是:Native開發者想要截獲Web頁面的數據或者對數據進行自己的處理,或者Web頁面中的行為進行修改。在這個時候,Kerkee框架將會為他們帶來便利。
針對Web開發者和Native團隊共同合作的開發團隊 :
對於這種模式的團隊,kerkee框架具體更開放更透明的協作,並且嚴格地隔離各自職責。各得Web團隊和Native團隊把主要精力定位到各自的模組上,有利於各自的模組最佳化到極致。
4、WeX5
WeX5採用混合套用(hybrid app)開發模式, UI體系完全基於w3c的html5+css3+js;引入jquery和bootstrap並對移動做了底層最佳化,效率和性能接近原生套用。WeX5本機API Framework採用phonegap(cordova)框架。
5、APICloud
APICloud是一款“雲端一體”的移動開發平台,信仰“雲端一體”的理念,重新定義了移動套用開發。APICloud為開發者從“雲”和“端”兩個方向提供API,簡化移動套用開發技術,讓移動套用的開發周期從一個月縮短到7天。APICloud由“雲API”和“端API”兩部分組成,可以幫助開發者快速實現移動套用的開發、測試、發布、管理和運營的全生命周期管理。
6、PhoneGap
PhoneGap是一個免費且開源的開發環境,使開發者可以開發出在Android、Palm、黑莓、iPhone、iTouch及iPad等設備上運行的App。其使用的是HTML和JavaScript等標準的Web開發語言。開發者使用PhoneGap進行開發,可調用加速計、GPS/定位、照相機、聲音等功能。
PhoneGap還提供Adobe AIR App以及線上的培訓課程,幫助開發者了解原生API並在他們自己的平台上開發移動App。
7、NativeScript
NativeScript是使用移動平台的 JavaScript 引擎來進行跨平台開發。邏輯部分自然無需多說,關鍵在於如何使用平台特性。NativeScript是通過反射得到所有平台 API,預編譯它們,然後將這些 API 注入到 JavaScript 運行環境,接下來在 Javascript 調用後攔截這個調用,並運行 native 代碼。NativeScript是使用大量 web 開發的技巧來進行 app 開發,因為工具鏈和語言都非常熟悉受到了很多前端開發者的歡迎。
8、Kinvey
Kinvey同樣是一個為移動套用開發者提供後台創建服務的平台。Kinvey強調加速移動套用開發與銷售的“即取即用”理念。Kinvey的中間層與數據層均託管在多個雲服務提供商處,包括 Rackspace、Amazon與Microsoft。所有通過Kinvey存儲的數據都會有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的伺服器,假如其中一兩個出現了故障,用戶的數據依然安然無恙。
9、ExMobi
ExMobi通過全面的數據集成技術和豐富的跨平台客戶端展現能力,將業務系統快速、安全、高效的移植於移動終端。ExMobi從開發(IDE環境)、集成(IT系統對接、雲服務)、打包(各個作業系統的套用打包)、發布(套用的運行)、管理(日誌管理,更新管理)上提供了一套完整的解決方案。並通過專業的培訓和支撐渠道為開發者提供可持續的學習和交流空間,掃除開發障礙。