APP的三種開發模式

轉載於http://pleasureswx123.github.io/2014/09/15/APP%E7%9A%84%E4%B8%89%E7%A7%8D%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8Fmd/html

APP的三種開發模式

開發者們都知道在高端智能手機系統中有兩種應用程序:html5

  1. 一種是基於本地(操做系統)運行的APP —-Native App;
  2. 一種是基於高端機的瀏覽器運行的App —-WebApp
    由於這些高端智能手機(Iphone、Android)的內置瀏覽器都是基於webkit內核的,因此在開發WEBAPP時,多數都是使用HTML5和CSS3技術作UI佈局。當使用HTML5和CSS3l作UI時,若仍是遵循着通常web開發中使用HTML4和CSS2那樣的開發方式的話,這也就失去了WEBAPP的本質意義了
  3. 一種是基於上兩種發展出來的產物 —-Hybrid App
    Hybrid App(混合模式移動應用)是指介於web-app、native-app這二者之間的app,兼具「Native App良好用戶交互體驗的優點」和「Web App跨平臺開發的優點」。

移動產品的實現方式主要有三種:git

  1. Native App;
  2. Web App;
  3. Hybrid App

目前移動互聯網基本採用了NativeAppWebAppHybridApp三種開發模式,很難說這三種模式那種更優越,目前的狀況能夠說是三分天下吧,不一樣的開發者能夠根據本身的實際狀況選擇不一樣的開發模式。談論那種模式最好實際上事很是無聊的事情。github

NativeApp指的是本地化應用,就是咱們從應用商店下載安裝的獨立應用

  1. 開發成本很是大。
    通常使用的開發語言爲JAVA、C++、Objective-C。
  2. 更新體驗較差、同時也比較麻煩
    每一次發佈新的版本,都須要作版本打包,且須要用戶手動更新(有些應用程序即便不須要用戶手動更新,可是也須要有一個噁心的提示)。
  3. 很是酷
    由於native app能夠調用IOS中的UI控件以UI方法,它能夠實現WebApp沒法實現的一些很是酷的交互效果
  4. Native app是被Apple承認的
    Native app能夠被Apple承認爲一款可信任的獨立軟件,能夠放在Apple Stroe出售,可是Web app卻不行。

開發成本太高跨平臺性很差是開發者們選擇放棄這種開發模式的重要緣由。開發語音主要採用Object-C、Java等語言。因爲我不是作Native端開發的,這裏很少說了。web

WebApp一般是指觸屏站,就是咱們經過手機瀏覽器訪問的Html5網站,Html5支持一些新標籤和腳本,能夠作出類原生應用的效果和動畫

  1. 開發成本較低
    使用web開發技術就能夠輕鬆的完成web app的開發
  2. 升級較簡單
    升級不須要通知用戶,在服務端更新文件便可,用戶徹底沒有感受
  3. 維護比較輕鬆
    和通常的web同樣,維護比較簡單,它其實就是一個站點

Webapp說白了就是一個針對Iphone、Android優化後的web站點,它使用的技術無非就是HTML或HTML五、CSS三、JavaScript,服務端技術JAVA、PHP、ASP。編程

HTML5技術的興起給Web App注入了新的生機。
Web App具備開發成本低週期短使用方便維護簡單等特色。
隨着HTML5被過分熱炒和實際開發中遇到的性能以及體驗問題,WebApp逐漸勢弱。
一樣,以AppStore爲首的App分發平臺固然是不但願webapp破壞本身創建的生態系統的。html5遲遲沒有得不到一個公認的標準,也阻礙着webapp的發展。可是這些都不足以阻礙webapp的發展。如今APP的數量已經達到數以百萬計,實際上用戶根本不須要這麼多的App,不少App被用戶下載後,一個月都不會被打開一次。
而webapp用戶根本不須要安裝,只須要打開手機瀏覽器,輸入網址或搜索目標,點擊便可到達想要的網頁,基本和PC互聯網的思路是一致的,這也說明百度一樣在移動入口上有這很大的優點。在NativeApp上用戶只有安裝了App,才能瀏覽,而webapp是直接經過手機瀏覽器爲入口,或者推送的信息爲入口,這麼看webapp在流量上是有很大的優點的。瀏覽器

可是目前webapp得不到很好的發展主要有如下幾個方面的緣由:微信

  1. 無有效且普遍的webapp發行渠道(NativeApp有AppStore等);
  2. webapp表現和體驗不佳(這點算硬傷吧);
  3. 適配難度(一套web很難兼容全部的手機,特別是國內某些自覺得很牛B的手機,大可樂算一個吧,哈哈);
  4. 配套的標準還沒有成熟(主要指html5吧)。

網站移動化是必然的,目前知道webapp比較好的解決方案有以下幾個:架構

  1. 雲適配 號稱引入一段神奇的代碼就能將PC網站移動化。陳本峯老師也是我學習的榜樣,html5佈道官。瞭解更多信息能夠連接到http://www.yunshipei.com/
  2. 百度site App 網址:http://siteapp.baidu.com/
  3. 還知道個作微站的網站,號稱把微信、微博入口都已打通,企業用戶營銷很好的平臺:http://www.weizhan360.com/

HybridApp是指混合模式應用,同時使用網頁語言與程序語言編寫,包含原生視圖和Web視圖兩種方式,使用方式和Native App一致,而又繼承了Web App實時更新開發成本低等優勢。

汽車有混合動力Hybrid,移動應用一樣也有混合模式。Hybrid App兼具「Native App良好用戶交互體驗的優點」和「Web App跨平臺開發的優點」。不少人不知道市場上一些主流移動應用都是基於Hybrid App的方式開發,好比國外有Facebook、國內有百度搜索等。但究竟什麼是Hybrid App?如何定義?app

  • 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,這種既有跨平臺開發週期短成本低的基因,又能發揮Native App體驗和性能的優點,HybridApp混合式移動應用開發逐漸成爲企業移動開發的首選。
Hybrid App一般是基於第三方跨平臺移動應用引擎框架進行開發,
在國內開發者中比較知名的有PhoneGap、Titanium和AppCan這些引擎框架通常使用HTML5和Javascript做爲編程語言,調用引擎封裝的底層功能如照相機、傳感器、通信錄、二維碼等。HTML5和Javascript只是做爲一種解析語言,真正調用的都是NativeApp同樣封裝的底層功能,這是和Web App的最大區別和不一樣。由於使用了瀏覽器技術,因此Hybrid App一般具備跨平臺的特性,而且開發成本和WebApp接近,開發效率也遠高於Native App

說實在的,從表面上看的話,很難區分一個App究竟是Native App仍是Hybrid App,但實際上咱們更多的是把Hybrid App當作是Webapp的一部分,由於他是一部分Native(比較少),絕大部分的web頁面(html5頁面)。

Hybrid App和Native App同樣都是須要用戶在各類App分發渠道上下載並安裝到手機上才能用的。Hybrid App的體驗固然是沒話說,比較棒的,有這Native App的所有優勢。html5很好的解決了跨平臺性的問題,也解決了開發成本太高的問題。

One Web more native 能夠很好的形容Hybrid App這種開發模式。

Hybrid App是如何實現網頁語言與程序語言的混合?誰佔主體?

Hybrid App一般分爲三種類型:多View混合型,單View混合型,Web主體型

從分析可見,Hybrid App中的Web主體型只要可以解決用戶體驗差的問題,就能夠變成最佳Hybrid App解決方案類型。

Hybrid App的瓶頸與將來

國內外Hybrid App的開發框架衆多。如何選擇又成爲一個難題。下面對開發者比較關心的集中知名跨平臺開發移動應用中間件進行列表和對比,以便選擇最適合您的移動應用中間件。

PhoneGap是相對比較早進入公衆視線的一種選擇。可是,開發者簡單的基於PhoneGap來開發移動應用確定會發現結果和Web App比較差的用戶體驗相似。這也是爲何基於PhoneGap有實用性的移動應用主要集中在iOS上。但是PhoneGap這種現狀弱化了HTML5的跨平臺價值。

AppCan在技術架構上和PhoneGap相似是Web主體型中間件,可是經過結合了一些原生交互效果可以達到iOS、Android平臺都比較一致的用戶體驗。可是相比PhoneGap的開源,AppCan相對封閉的路線顯得過於謹慎。

Titanium是一種基於翻譯機制的跨平臺中間件,可以開發出具備Native體驗的移動應用,可是由於翻譯機制的限制致使移動應用開發不能像真正的HTML5開發同樣靈活。哪怕一個按鈕也不能像普通HTML同樣來編寫,而必須按照Titanium約定的特定格式。

Hybrid App這個領域雖然還處於比較初期的階段,可是已經有不少優秀的公司和技術團隊在致力於跨平臺開發移動應用中間件技術的研究,給了開發者衆多選擇。開發者能夠根據實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現階段沒法解決的問題,或最終夭折。Hybrid App正在被愈來愈多的公司和開發者所認同,勢必會成爲新世界的王。

Web App、Hybrid App、Native APP對比

—- Web App(網頁應用) Hybrid App(混合應用) Native App(原生應用)
開發成本
維護更新 簡單 簡單 複雜
體驗
Store或market承認 不承認 承認 承認
安裝 不須要 須要 須要
跨平臺
HybridApp開發,現階段主流的平臺包括PhoneGap(Cordova),AppCan,appMobi,Titanium等,它們基於webkit開源內核,使用HTML5 標準開發,適配機型簡單,支持開發者自定義插件,並能很好的應用於商業,教育,娛樂等行業,成爲移動開發者的首選開發平臺。
相關文章
相關標籤/搜索