Hybrid APP介绍
生活随笔
收集整理的這篇文章主要介紹了
Hybrid APP介绍
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
“云”時代的來臨正在改變App和運營團隊之間的關(guān)系,一場不能避免的變革正在進行。鑒于移動終端的局限性,移動終端上的APP由本地化應(yīng)用(Native App),到混合型應(yīng)用(Hybrid APP),再到基于WEB的應(yīng)用Web App,這一連串的變化都源于技術(shù)的更新和市場的需要[1]。
Hybrid App是指介于web-app、native-app這兩者之間的app,它雖然看上去是一個Native App,但只有一個UI WebView,里面訪問的是一個Web App,比如街旁網(wǎng)最開始的應(yīng)用就是包了個客戶端的殼,其實里面是HTML5的網(wǎng)頁,后來才推出真正的原生應(yīng)用。再徹底一點的,如掌上百度和淘寶客戶端Android版,走的也是Hybrid App的路線,不過掌上百度里面封裝的不是WebView,而是自己的瀏覽內(nèi)核,所以體驗上更像客戶端,更高效。
汽車有混合動力Hybrid,移動應(yīng)用同樣也有混合模式。Hybrid App(混合模式移動應(yīng)用)兼具“Native App良好用戶交互體驗的優(yōu)勢”和“Web App跨平臺開發(fā)的優(yōu)勢”。很多人不知道市場上一些主流移動應(yīng)用都是基于Hybrid App的方式開發(fā),比如國外有Facebook、國內(nèi)有百度搜索等。但究竟什么是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就是一個移動應(yīng)用
2、both browser-supported language and computer language:同時使用網(wǎng)頁語言與程序語言編寫
3、available through application distribution platforms:通過應(yīng)用商店進行分發(fā)
4、a target device:區(qū)分目標(biāo)平臺
5、install to run:用戶需要安裝使用
綜合一下就是:“Hybrid App同時使用網(wǎng)頁語言與程序語言開發(fā),通過應(yīng)用商店區(qū)分移動操作系統(tǒng)分發(fā),用戶需要安裝使用的移動應(yīng)用”。總體特性更接近Native App但是和Web App區(qū)別較大。只是因為同時使用了網(wǎng)頁語言編碼,所以開發(fā)成本和難度比Native App要小很多。因此說,Hybrid App兼具了Native App的所有優(yōu)勢,也兼具了Web App使用HTML5跨平臺開發(fā)低成本的優(yōu)勢
3、WeX5
WeX5采用混合應(yīng)用(hybrid app)開發(fā)模式, UI體系完全基于w3c的html5+css3+js;引入jquery和bootstrap并對移動做了底層優(yōu)化,效率和性能接近原生應(yīng)用。WeX5本機API Framework采用phonegap(cordova)框架。[5]
4、APICloud
APICloud是一款“云端一體”的移動開發(fā)平臺,信仰“云端一體”的理念,重新定義了移動應(yīng)用開發(fā)。APICloud為開發(fā)者從“云”和“端”兩個方向提供API,簡化移動應(yīng)用開發(fā)技術(shù),讓移動應(yīng)用的開發(fā)周期從一個月縮短到7天。APICloud由“云API”和“端API”兩部分組成,可以幫助開發(fā)者快速實現(xiàn)移動應(yīng)用的開發(fā)、測試、發(fā)布、管理和運營的全生命周期管理。
5、PhoneGap
PhoneGap是一個免費且開源的開發(fā)環(huán)境,使開發(fā)者可以開發(fā)出在Android、Palm、黑莓、iPhone、iTouch及iPad等設(shè)備上運行的App。其使用的是HTML和JavaScript等標(biāo)準(zhǔn)的Web開發(fā)語言。開發(fā)者使用PhoneGap進行開發(fā),可調(diào)用加速計、GPS/定位、照相機、聲音等功能。
PhoneGap還提供Adobe AIR App以及在線的培訓(xùn)課程,幫助開發(fā)者了解原生API并在他們自己的平臺上開發(fā)移動App。 6、NativeScript NativeScript是使用移動平臺的 JavaScript 引擎來進行跨平臺開發(fā)。邏輯部分自然無需多說,關(guān)鍵在于如何使用平臺特性。NativeScript是通過反射得到所有平臺 API,預(yù)編譯它們,然后將這些 API 注入到 JavaScript 運行環(huán)境,接下來在 Javascript 調(diào)用后攔截這個調(diào)用,并運行 native 代碼。NativeScript是使用大量 web 開發(fā)的技巧來進行 app 開發(fā),因為工具鏈和語言都非常熟悉受到了很多前端開發(fā)者的歡迎。 7、Kinvey Kinvey同樣是一個為移動應(yīng)用開發(fā)者提供后臺創(chuàng)建服務(wù)的平臺。Kinvey強調(diào)加速移動應(yīng)用開發(fā)與銷售的“即取即用”理念。Kinvey的中間層與數(shù)據(jù)層均托管在多個云服務(wù)提供商處,包括 Rackspace、Amazon與Microsoft。所有通過Kinvey存儲的數(shù)據(jù)都會有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服務(wù)器,假如其中一兩個出現(xiàn)了故障,用戶的數(shù)據(jù)依然安然無恙。[6] 8、ExMobi ExMobi通過全面的數(shù)據(jù)集成技術(shù)和豐富的跨平臺客戶端展現(xiàn)能力,將業(yè)務(wù)系統(tǒng)快速、安全、高效的移植于移動終端。ExMobi從開發(fā)(IDE環(huán)境)、集成(IT系統(tǒng)對接、云服務(wù))、打包(各個操作系統(tǒng)的應(yīng)用打包)、發(fā)布(應(yīng)用的運行)、管理(日志管理,更新管理)上提供了一套完整的解決方案。并通過專業(yè)的培訓(xùn)和支撐渠道為開發(fā)者提供可持續(xù)的學(xué)習(xí)和交流空間,掃除開發(fā)障礙
興起原因
編輯 Hybrid App的興起是現(xiàn)階段移動互聯(lián)網(wǎng)產(chǎn)業(yè)的一種偶然。移動互聯(lián)網(wǎng)的熱潮刮起后,眾多公司前赴后繼的進入。但是很快發(fā)現(xiàn)移動應(yīng)用的開發(fā)人員太少,所以導(dǎo)致瘋狂的人才爭奪。市場機制下移動應(yīng)用開發(fā)人才的待遇扶搖直上,最終變成眾多企業(yè)無法負擔(dān)養(yǎng)一個具備跨平臺開發(fā)能力的專業(yè)移動應(yīng)用開發(fā)團隊。而HTML5的出現(xiàn)讓W(xué)eb App露出曙光,HTML5開發(fā)移動應(yīng)用的跨平臺和廉價優(yōu)勢讓眾多想進入移動互聯(lián)網(wǎng)領(lǐng)域的公司開始心動。可是當(dāng)下基于HTML5的Web App更是霧里看花,在用戶入口習(xí)慣、分發(fā)渠道和應(yīng)用體驗這三個核心問題沒解決之前,Web App也很難得以爆發(fā)。正是在這樣是機緣巧合下,基于HTML5低成本跨平臺開發(fā)優(yōu)勢又兼具Native App特質(zhì)的Hybrid App技術(shù)殺入混戰(zhàn),并且很快吸引了眾人的目光。大幅的降低了移動應(yīng)用的開發(fā)成本,可以通過現(xiàn)有應(yīng)用商店模式發(fā)行,在用戶桌面形成獨立入口等等這些,讓Hybrid App成為解決移動應(yīng)用開發(fā)困境不錯的選擇,也成為現(xiàn)階段Web App的代言人。Hybrid App像刺客一樣,在Native App和Web App混戰(zhàn)之時,偶然間的在移動應(yīng)用開發(fā)領(lǐng)域占有了一席之地。分類
編輯 Hybrid App按網(wǎng)頁語言與程序語言的混合,通常分為三種類型:多View混合型,單View混合型,Web主體型。多View混合型
即Native View和Web View獨立展示,交替出現(xiàn)。2012年常見的Hybrid App是Native View與WebView交替的場景出現(xiàn)。這種應(yīng)用混合邏輯相對簡單。即在需要的時候,將WebView當(dāng)成一個獨立的View(Activity)運行起來,在WebView內(nèi)完成相關(guān)的展示操作。這種移動應(yīng)用主體通常是Native App,Web技術(shù)只是起到補充作用。開發(fā)難度和Native App基本相當(dāng)。單View混合型
即在同一個View內(nèi),同時包括Native View和Web View。互相之間是覆蓋(層疊)的關(guān)系。這種Hybrid App的開發(fā)成本較高,開發(fā)難度較大,但是體驗較好。如百度搜索為代表的單View混合型移動應(yīng)用,既可以實現(xiàn)充分的靈活性,又能實現(xiàn)較好的用戶體驗。Web主體型
即移動應(yīng)用的主體是Web View,主要以網(wǎng)頁語言編寫,穿插Native功能的Hybrid App開發(fā)類型。這種類型開發(fā)的移動應(yīng)用體驗相對而言存在缺陷,但整體開發(fā)難度大幅降低,并且基本可以實現(xiàn)跨平臺。Web主體型的移動應(yīng)用用戶體驗的好壞,主要取決于底層中間件的交互與跨平臺的能力。國外的appMobi、PhoneGap和國內(nèi)的WeX5、AppCan和Rexsee都屬于Web主體型移動應(yīng)用中間件。其中Rexsee不支持跨平臺開發(fā)。appMobi和PhoneGap除基礎(chǔ)的底層能力更多是通過插件(Plugins)擴展的機制實現(xiàn)Hybrid。AppCan除了插件機制,還提供了大量的單View混合型的接口來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。而WeX5則在揉合PhoneGap和Bootstrap等主流技術(shù)的基礎(chǔ)上,對性能進一步做了深度優(yōu)化,不但完全具備Native App對本地資源的調(diào)用能力,性能體驗也不輸原生;WeX5所開發(fā)出來的app具備完全的跨端運行能力,可以無需任何修改直接運行在各種前端環(huán)境上。 從分析可見,Hybrid App中的Web主體型只要能夠解決用戶體驗差的問題,就可以變成最佳Hybrid App解決方案類型。多主體共存型(靈活型)
這是一種新型的開發(fā)模式,即支持Web主體型的應(yīng)用,又支持以Native主體的應(yīng)用,也支持兩者混合的開發(fā)模式。比如kerkee框架[2],它具有跨平臺、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規(guī)范化、具有Debug環(huán)境、徹底解決跨域問題等特點。用戶體驗與Native App媲美。功能方面,開發(fā)者可隨意擴展接口。未來發(fā)展
編輯 國內(nèi)外Hybrid App的開發(fā)框架眾多。如何選擇又成為一個難題。下面對開發(fā)者比較關(guān)心的集中知名跨平臺開發(fā)移動應(yīng)用中間件進行列表和對比,以便選擇最適合您的移動應(yīng)用中間件。 PhoneGap是相對比較早進入公眾視線的一種選擇。但是,開發(fā)者簡單的基于PhoneGap來開發(fā)移動應(yīng)用肯定會發(fā)現(xiàn)結(jié)果和Web App比較差的用戶體驗類似。這也是為什么基于PhoneGap有實用性的移動應(yīng)用主要集中在iOS上。可是PhoneGap這種現(xiàn)狀弱化了HTML5的跨平臺價值。 Titanium是一種基于翻譯機制的跨平臺中間件,能夠開發(fā)出具有Native體驗的移動應(yīng)用,但是因為翻譯機制的限制導(dǎo)致移動應(yīng)用開發(fā)不能像真正的HTML5開發(fā)一樣靈活。哪怕一個按鈕也不能像普通HTML一樣來編寫,而必須按照Titanium約定的特定格式。 Salama是全新研發(fā)的一套Hybrid APP和云端服務(wù)整合的開發(fā)套件。在終端,一共有三種開發(fā)模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,需要追求終端速度和顯示效果的開發(fā)者,可以在不改變原有的構(gòu)架思路的前提下進行開發(fā)。在JS模式下,所有的畫面顯示及業(yè)務(wù)邏輯均由JS程序?qū)崿F(xiàn),對于原來的基于WEB的開發(fā)者,只要熟悉JS、CSS、HTML的前端工程師就可以輕松構(gòu)建自己的應(yīng)用。在高度混合模式下,原生和HTML5可以隨意組合,可以為開發(fā)者在進行大型商業(yè)軟件開發(fā)的過程中提供最高的性價比。不僅如此,在云端Salama還提供了一整套云服務(wù),涵蓋了業(yè)務(wù)處理、數(shù)據(jù)庫操作、文件等資源的存儲分發(fā)等服務(wù)。Salama已經(jīng)為多家公司提供了方案,知名客戶有TOSHIBA-AIRCON、GEDORE等品牌商,同時也在Salama平臺上構(gòu)造了Ishow企業(yè)電子目錄產(chǎn)品服務(wù)。 WeX5具備單View的性能特點,相比PhoneGap、Bootstrap有大幅度性能提升,同時也是以Html5、Javascript、Css3為技術(shù)基礎(chǔ)的Web型App框架;WeX5框架按照Apache協(xié)議將所有源代碼進行了開源,技術(shù)和模式上顯得很開放。 Kerkee是一個多主體共存型Hybrid框架,具有跨平臺、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規(guī)范化、集成云服務(wù)、具有Debug環(huán)境、徹底解決跨域問題。[2] AppCan在技術(shù)架構(gòu)上和PhoneGap類似是Web主體型中間件,但是通過結(jié)合了一些原生交互效果能夠達到iOS、Android平臺都比較一致的用戶體驗。與Phonegap支持單一webview使用div為單位開發(fā)移動應(yīng)用不同。AppCan支持多窗口機制,讓開發(fā)者可以像最傳統(tǒng)的網(wǎng)頁開發(fā)一樣,通過頁面鏈接的方式靈活的開發(fā)移動應(yīng)用。基于這種機制,開發(fā)者可以開發(fā)出大型的移動應(yīng)用,而不是只能開發(fā)簡易類型的移動應(yīng)用。[3] Hybrid App這個領(lǐng)域雖然還處于比較初期的階段,但是已經(jīng)有很多優(yōu)秀的公司和技術(shù)團隊在致力于跨平臺開發(fā)移動應(yīng)用中間件技術(shù)的研究,給了開發(fā)者眾多選擇。開發(fā)者可以根據(jù)實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現(xiàn)階段無法解決的問題,或最終夭折。Hybrid App正在被越來越多的公司和開發(fā)者所認同,勢必會成為新世界的王。 Web App、Hybrid App、Native APP對比| ? | Web App(網(wǎng)頁應(yīng)用) | Hybrid App(混合應(yīng)用) | Native App(原生應(yīng)用) |
| 開發(fā)成本 | 低 | 中 | 高 |
| 維護更新 | 簡單 | 簡單 | 復(fù)雜 |
| 體驗 | 差 | 中 | 優(yōu) |
| Store或market認可 | 不認可 | 認可 | 認可 |
| 安裝 | 不需要 | 需要 | 需要 |
| 跨平臺 | 優(yōu) | 優(yōu) | 差 |
hybrid app開發(fā)工具
編輯 AppCan AppCan是國內(nèi)Hybrid App混合模式開發(fā)的倡導(dǎo)者,AppCan應(yīng)用引擎支持Hybrid App的開發(fā)和運行。并且著重解決了基于HTML5的移動應(yīng)用"不流暢"和"體驗差"的問題。使用AppCan應(yīng)用引擎提供的Native交互能力,可以讓HTML5開發(fā)的移動應(yīng)用基本接近Native App的體驗。[3] AppCan作為中國Hybrid混合應(yīng)用開發(fā)、移動平臺、移動云平臺的倡導(dǎo)者和領(lǐng)導(dǎo)者,以“免費+開源+開放”的互聯(lián)網(wǎng)模式,為廣大開發(fā)者提供一站式的移動應(yīng)用開發(fā)支持服務(wù)。[4]與此同時,從移動應(yīng)用開發(fā)、管理、運營、安全四個方面,為各級政府和企事業(yè)單位,構(gòu)建運營一體化的企業(yè)移動平臺,企業(yè)通過個性化的移動運營門戶,增強客戶服務(wù)品質(zhì),提升整體經(jīng)營管理水平。 現(xiàn)在,正益移動AppCan行業(yè)解決方案已成功應(yīng)用于金融、航空、政府、石化、傳媒等領(lǐng)域,客戶包括東方航空、國家電網(wǎng)、中化集團、泰康人壽、新華社等眾多大型企業(yè),贏得了市場廣泛認可,是國內(nèi)企業(yè)移動信息化領(lǐng)域的龍頭企業(yè)。[4] 1、Appcelerator Appcelerator的Titanium開發(fā)平臺使開發(fā)者可以通過HTML、PHP、JavaScript、Ruby、Python等Web編程語言開發(fā)手機、平板和桌面的原生App。其優(yōu)勢在于它可以讓用戶輕松地訪問超過300個API以及定位信息。 此外,Appcelerator提供針對特定行為或事件定制的統(tǒng)計。App的數(shù)據(jù)既可儲存在云端,也可儲存在設(shè)備上。 2、Kerkee Kerkee是一個多主體共存型Hybrid框架,具有跨平臺、用戶體驗好、性能高、擴展性好、靈活性強、易維護、規(guī)范化、集成云服務(wù)、具有Debug環(huán)境、徹底解決跨域問題。[2] 從開發(fā)者角度來說,它支持三種的團隊開發(fā)模式: 針對Web開發(fā)者: 這種模式其中的一個場景是:只會Web開發(fā),卻不會Native開發(fā)的開發(fā)者提供了一系列的平臺型接口。這種方式具有開發(fā)周期短,跨平臺等優(yōu)點。 針對Native開發(fā)者 : 這種開發(fā)模式的其中一個場景是:Native開發(fā)者想要截獲Web頁面的數(shù)據(jù)或者對數(shù)據(jù)進行自己的處理,或者Web頁面中的行為進行修改。在這個時候,Kerkee框架將會為他們帶來便利。 針對Web開發(fā)者和Native團隊共同合作的開發(fā)團隊 : 對于這種模式的團隊,kerkee框架具體更開放更透明的協(xié)作,并且嚴(yán)格地隔離各自職責(zé)。各得Web團隊和Native團隊把主要精力定位到各自的模塊上,有利于各自的模塊優(yōu)化到極致。PhoneGap還提供Adobe AIR App以及在線的培訓(xùn)課程,幫助開發(fā)者了解原生API并在他們自己的平臺上開發(fā)移動App。 6、NativeScript NativeScript是使用移動平臺的 JavaScript 引擎來進行跨平臺開發(fā)。邏輯部分自然無需多說,關(guān)鍵在于如何使用平臺特性。NativeScript是通過反射得到所有平臺 API,預(yù)編譯它們,然后將這些 API 注入到 JavaScript 運行環(huán)境,接下來在 Javascript 調(diào)用后攔截這個調(diào)用,并運行 native 代碼。NativeScript是使用大量 web 開發(fā)的技巧來進行 app 開發(fā),因為工具鏈和語言都非常熟悉受到了很多前端開發(fā)者的歡迎。 7、Kinvey Kinvey同樣是一個為移動應(yīng)用開發(fā)者提供后臺創(chuàng)建服務(wù)的平臺。Kinvey強調(diào)加速移動應(yīng)用開發(fā)與銷售的“即取即用”理念。Kinvey的中間層與數(shù)據(jù)層均托管在多個云服務(wù)提供商處,包括 Rackspace、Amazon與Microsoft。所有通過Kinvey存儲的數(shù)據(jù)都會有四種方式備份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服務(wù)器,假如其中一兩個出現(xiàn)了故障,用戶的數(shù)據(jù)依然安然無恙。[6] 8、ExMobi ExMobi通過全面的數(shù)據(jù)集成技術(shù)和豐富的跨平臺客戶端展現(xiàn)能力,將業(yè)務(wù)系統(tǒng)快速、安全、高效的移植于移動終端。ExMobi從開發(fā)(IDE環(huán)境)、集成(IT系統(tǒng)對接、云服務(wù))、打包(各個操作系統(tǒng)的應(yīng)用打包)、發(fā)布(應(yīng)用的運行)、管理(日志管理,更新管理)上提供了一套完整的解決方案。并通過專業(yè)的培訓(xùn)和支撐渠道為開發(fā)者提供可持續(xù)的學(xué)習(xí)和交流空間,掃除開發(fā)障礙
總結(jié)
以上是生活随笔為你收集整理的Hybrid APP介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IT 技能发展:10 大基本 IT 技能
- 下一篇: java随机数使用技巧(超简单)