hybrid app Hybrid App(混合模式移動應用)是指介於web-app、native-app這兩者之間的app,兼具“Native App良好用戶交互體驗的優勢”和“Web App跨平臺開發的優勢”。簡介編輯“雲”時代的來臨正在改變App和運營團隊之間的關係,一場不能避免的變革正在進....
hybrid app
Hybrid App(混合模式移動應用)是指介於web-app、native-app這兩者之間的app,兼具“Native App良好用戶交互體驗的優勢”和“Web App跨平臺開發的優勢”。
簡介
“雲”時代的來臨正在改變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. 我們來拆解一下裡面的含義: 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解決方案類型。未來發展
國內外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協議將所有源代碼進行了開源,技術和模式上顯得很開放。 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開發工具
1、Appcelerator Appcelerator的Titanium開發平臺使開發者可以通過HTML、PHP、JavaScript、Ruby、Python等Web編程語言開發手機、平板和桌面的原生App。其優勢在於它可以讓用戶輕鬆地訪問超過300個API以及定位信息。 此外,Appcelerator提供針對特定行為或事件定製的統計。App的數據既可儲存在雲端,也可儲存在設備上。 2、WeX5 WeX5採用混合應用(hybrid app)開發模式, UI體系完全基於w3c的html5+css3+js;引入jquery和bootstrap並對移動做了底層優化,效率和性能接近原生應用。WeX5本機API Framework採用phonegap(cordova)框架。[2] 3、APICloud APICloud是一款“雲端一體”的移動開發平臺,信仰“雲端一體”的理念,重新定義了移動應用開發。APICloud為開發者從“雲”和“端”兩個方向提供API,簡化移動應用開發技術,讓移動應用的開發周期從一個月縮短到7天。APICloud由“雲API”和“端API”兩部分組成,可以幫助開發者快速實現移動應用的開發、測試、發佈、管理和運營的全生命周期管理。 4、PhoneGap PhoneGap是一個免費且開源的開發環境,使開發者可以開發出在Android、Palm、黑莓、iPhone、iTouch及iPad等設備上運行的App。其使用的是HTML和JavaScript等標準的Web開發語言。開發者使用PhoneGap進行開發,可調用加速計、GPS/定位、照相機、聲音等功能。PhoneGap還提供Adobe AIR App以及線上的培訓課程,幫助開發者瞭解原生API併在他們自己的平臺上開發移動App。 5、NativeScript NativeScript是使用移動平臺的 JavaScript 引擎來進行跨平臺開發。邏輯部分自然無需多說,關鍵在於如何使用平臺特性。NativeScript是通過反射得到所有平臺 API,預編譯它們,然後將這些 API 註入到 JavaScript 運行環境,接下來在 Javascript 調用後攔截這個調用,並運行 native 代碼。NativeScript是使用大量 web 開發的技巧來進行 app 開發,因為工具鏈和語言都非常熟悉受到了很多前端開發者的歡迎。 6、Kinvey Kinvey同樣是一個為移動應用開發者提供後臺創建服務的平臺。Kinvey強調加速移動應用開發與銷售的“即取即用”理念。Kinvey的中間層與數據層均托管在多個雲服務提供商處,包括 Rackspace、Amazon與Microsoft。所有通過Kinvey存儲的數據都會有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的伺服器,假如其中一兩個出現了故障,用戶的數據依然安然無恙。[3] 7、ExMobi ExMobi通過全面的數據集成技術和豐富的跨平臺客戶端展現能力,將業務系統快速、安全、高效的移植於移動終端。ExMobi從開發(IDE環境)、集成(IT系統對接、雲服務)、打包(各個操作系統的應用打包)、發佈(應用的運行)、管理(日誌管理,更新管理)上提供了一套完整的解決方案。並通過專業的培訓和支撐渠道為開發者提供可持續的學習和交流空間,掃除開發障礙。[4]