天天看點

移動開發 Native APP、Hybrid APP和Web APP介紹

快速區分定義:

Native App

       以基于智能手機本地作業系統如IOS、Android、WP并使用原生程式(SDK)編寫運作的需要使用者安裝使用的第三方應用程式;

Web APP

        以HTML+JS+CSS等WEB技術程式設計,代碼運作在移動端浏覽器中,通過該移動端浏覽器來調用Device API(取決于HTML5未來的支援能力)的不需要使用者安裝的應用程式;

Hybrid App

       同時使用網頁語言(Web技術)與程式語言(Java、Objective-C等)開發,通過應用商店區分移動作業系統分發,需要使用者安裝使用的移動應用。

【轉載使用,請注明出處:http://blog.csdn.net/mahoking/article/details/30235243】

介紹了解:

Web App、Hybrid App、Native App對比

移動開發 Native APP、Hybrid APP和Web APP介紹

Native App

    Native App 該部分介紹參看【快速差別定義】

Web App

    Web App 是基于HTML5标準開發的,Web App的出現得益于各大浏覽器廠商對HTML5标準的支援。

    目前主流作業系統iOS、Android以及Windows Phone的浏覽器都對于html5大部分特性的支援也更加突顯HTML5在未來移動裝置端的地位。衆所周知,HTML5不僅僅給我們帶來了更多語義化的标簽,還有canvas繪圖、音頻視訊、本地存儲、離線應用、地理位置定位等新特性。

【注】該部分詳細資訊參閱http://www.w3school.com.cn/html5/

Native App的優勢:

1、優秀的使用者體驗和華麗的互動操作,能夠針對不同平台提供不同使用者體驗;

2、可不受網絡速度限制,節省帶寬成本;

3、可通路本地硬體裝置和資源;

4、盈利模式明朗。

Native App的劣勢:

1、不同平台之間的移植麻煩;

2、維持多個版本的成本比較高;

3、需要通過第三方稽核;

4、盈利需要與第三方分成。

    針對Native App的不足,Web App很好了彌補了這些劣勢,開發商隻需了解HTML5、CSS3、js以及Device API即可完成應用在多終端裝置和平台的運作,很好的保證了應用跨平台的一緻性,相對于Native App開發成本更低,同時更新維護更容易,使用者幾乎沒有安裝成本,也更加自由和開放。但任何新技術總是有利有弊,Web App其自身也會遇到在使用者體驗、UI效果及調用本地裝置和資源的相關問題。

Hybrid App

Hybrid App通常分為三種類型:多View混合型,單View混合型,Web主體型。 

多View混合型: 

    即Native View和Web View獨立展示,交替出現。目前常見的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、國内的AppCan和Rexsee都屬于Web主體型移動應用中間件。其中Rexsee不支援跨平台開發。appMobi和PhoneGap除基礎的底層能力更多是通過插件(Plugins)擴充的機制實作Hybrid。而AppCan除了插件機制,還提供了大量的單View混合型的接口來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。[紅色部分的有争議,待完善。]

【摘自】http://www.iteye.com/news/25442  更多資訊請檢視此頁。

【轉載使用,請注明出處:http://blog.csdn.net/mahoking/article/details/30235243】

參考文獻:

1、http://www.w3school.com.cn/html5/

2、http://www.iteye.com/news/25442