hybrid app

来源:http://www.cnblogs.com/YangFuShun/archive/2016/01/15/5132982.html
-Advertisement-
Play Games

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]
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、git 上有常見的pull request 功能 2、pull request 的含義 解釋一: 有一個倉庫,叫Repo A。你如果要往裡貢獻代碼,首先要Fork這個Repo,於是在你的Github賬號下有了一個Repo A2。 然後你在這個A2下工作,Commit,push等。然後你希望原始倉...
  • 對於GCD中的同步任務、非同步任務的區別,之前有前輩們有這麼認為的:同步任務:不會開闢線程;非同步任務:會開闢新的線程,開闢線程的個數,視資源需求。後來部分人更新了微博簡書稱:同步任務、非同步任務的區別在於前者會阻塞主線程,活著不回阻塞主線程。一開始我也這麼認為,但是後來我寫Demo的時候我就糊塗,不知道...
  • 1、進入這個網站,註冊並且登錄 https://dt.testbird.com/login/2、選擇 雲手機 3、選擇需要租用的手機 4、點擊 遠程調試 5、在本地電腦的dos 命令視窗,輸入兩條 adb 命令提示符,沒有出錯的話,會提醒鏈接成功。6、在Android studio 裡面就可以運.....
  • 如圖是效果圖 我在下麵定義3個按鈕來實現3個fragment的切換(不過寫完後發現應該定義成RadioGroup的顏色好改變)通過這3個fragment來看看fragment的生命周期和切換時Fragment都會重新實例化 1 先看下第一種方法用的是FragmentTransaction andr....
  • 在用戶使用app過程中,會產生各種各樣的事件,iOS中的事件可以分為3大類型:UIKit可識別三種類型的輸入事件:觸摸事件 加速計事件 /運動事件遠程式控制制事件UIResponder - 響應者對象概念:在iOS中不是任何對象都能處理事件,只有繼承了UIResponder的對象才能接收並處理事件。成員...
  • KVC的使用通常情況下,我們都是通過屬性或者定義存取方法來對實例變數進行存取,但是除此之外,我們也可以通過Key-Value-Coding(KVC)鍵值編碼來存取的實例變數的值。使用KVC過程:首先,我們定義一個Person類,代碼如下:/**Person.h*/#import @interface...
  • 在info.plist文件中添加下麵是後臺播放音頻的完整測試代碼:引入文件//後臺播放音頻設置 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setActive:YES error:nil]; [sess...
  • 用linearlayout完成這樣的佈局效果,這樣的佈局還是比較常用的,具體的xml代碼如下: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...