當前位置:首頁 » 網頁前端 » web和原生有什麼區別
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web和原生有什麼區別

發布時間: 2023-01-09 18:02:08

㈠ 原生app和webapp的區別

原生app和webapp的區別為:來源不同、開發成本不同、流暢度相對不同。

一、來源不同

1、原生app:原生app是與移動設備所安裝的操作系統所使用的同一種編程語言開發的APP。

2、webapp:webapp是由html5所做的網站通過一些打包平台或者使用工具打包而成的軟體。

二、開發成本不同

1、原生app:原生app開發成本高,需要使用單獨的開發工具進行開發。

2、webapp:webapp開發成本低,不需要使用單獨的開發工具進行開發。

三、流暢度相對不同

1、原生app:原生app完美適配移動設備,流暢度相對較高。

2、webapp:webapp兼容適配移動設備,流暢度相對較低。

㈡ h5做app和原生app有什麼區別

一、功能更強大

從以上定義中可以看出,原生APP是系統性的應用程序,可以地用手機終端的硬體設備,比如語音、簡訊、GPS、藍牙、重力感應和攝像頭等,但是webAPP是不可以做到這些的。所以如果你想做一個可擴展性強,而且後期功能不斷完善的APP,一定要考慮原生的。 二、 載入速度更快

剛我們有提到原生APP是由 「雲伺服器數據+APP應用客戶端」 」兩部分構成,APP應有所有的UI元素、數據內容、邏輯框架都是安裝在手機里的。所以用戶在使用APP的時候,不需要重新載入數據,因為這些內容都安裝在手機中了,雖然第一次安裝的時候有點復雜,但是在實際使用會方便很多。

濟南APP開發定製

但是web APP打開每一個頁面,都需要重新載入,雖然現在網路情況很好了,但是在實際中可能會有各種問題,比如流量用完了、所在區域網路不好或出了問題,就很大可能出現載入慢或者載入不出來的問題,載入多了很容易出現卡死錯亂的情況,用戶的體驗就會很差。因此考慮到用戶體驗和載入速度方面,原生APP的性能要遠遠優於web。

第三:穩定性更好

目前市場的web版的APP多為模板,這種模板價格便宜,但是功能無法拓展,而且隨著市場上瀏覽器、技術的進步,會逐步出現各種問題,穩定性根本無法保證。相比而言原生的APP技術更加成熟,而且功能可以拓展性更強。做個簡單的比喻,我們有一套房子,這個房子可以考慮自己建設,這個過程中我可以決定建幾層、建成什麼樣的戶型等等,但如果其買別人做好的,那就只能從已經有的中選擇。如果遇到網路不好的情況可能就像等期房一樣,只大體知道是啥樣的,但具體的得等網路好了才能看到。

㈢ h5開發和原生app開發以及web開發有什麼區別呢

一、開發方面

原生App

⊙ 每一種移動操作系統都需要獨立的開發項目【點擊查看APP開發的真正報價】

⊙ 每種平台都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等

⊙ 需要使用各自的軟體開發包,開發工具以及各自的控制項


移動Web App

⊙ 因為運行在移動設備的瀏覽器上,所以只需要一個開發項目

⊙ 這種應用可以使用HTML5,CSS3以及JavaScript以及伺服器端語言來完成(PHP,Ruby on Rails,Python)

⊙ 這里可沒有標準的SDK,基本任意選擇別忘了有一些跨平台的開發工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。


二、能力方面

原生App

⊙ 能夠與移動硬體設備的底層功能,比如個人信息,攝像頭以及重力加速器等等

移動Web App

⊙ 只能使用有限的移動硬體設備功能。

三、獲取方法
原生App

⊙ 直接下載到設備

⊙ 以獨立的應用程序運行(並不需要瀏覽器)

⊙ 用戶必須手動去下載並安裝這些原生App

⊙ 有一些商店與賣場來幫助用戶尋找你的App,目前app市場不計其數


移動Web App

⊙ 從移動設備上的瀏覽器訪問

⊙ 不需要安裝額外的軟體

⊙ 軟體更新只需要伺服器就夠了

⊙ 因為現在沒有什麼商品或賣場提供這種App,所以如何搜索這些移動Web App相當不簡單。四、版本控制

原生App

⊙ 用戶可以自由地選擇是否更新軟體版本,所以會出現不同用戶同時使用不同版本的情況移動Web App

⊙ 所有的用戶都是用同樣的版本五、優勢

原生App⊙ 比移動Web App運行快

⊙ 一些商店與賣場會幫助用戶尋找原生App

⊙ 官方賣場的應用審核流程會保證讓用戶得到高質量以及安全的App

⊙ 官方會發布很多開發工具或者人工支持來幫助你的開發移動Web App

⊙ 跨平台開發

⊙ 用戶不需要去賣場來下載安裝App

⊙ 任何時候都可以發布App,因為根本不需要官方賣場的審核

⊙ 如果你已經有了一個Web App,你可以使用 responsive web design來輔助改進六、缺陷

原生App

⊙ 開發成本高,尤其是當需要多種移動設備來測試時

⊙ 因為是不同的開發語言,所以開發,維護成本也高

⊙ 因為用戶使用的App版本不同,所以你維護起來很困難

⊙ 官方賣場審核流程復雜且慢,會嚴重影響你的發布進程移動Web App

⊙ 無法使用很多移動硬體設備的獨特功能

⊙ 要同時支持多種移動設備的瀏覽器讓開發維護的成本也不低

⊙ 如果用戶使用更多的新型瀏覽器,那問題就更不好處理了

⊙ 對於用戶來說,這種App很難被用戶發現。

想要了解更多有關APP開發的相關信息,推薦咨詢豬八戒網。豬八戒網有千萬服務商為企業、公共機構和個人提供定製化的解決方案,將創意、智慧、技能轉化為商業價值和社會價值。2011年豬八戒網獲得IDG投資並被評選為中國2011年度「最佳商業模式十強」企業;專業性值的信賴。

㈣ 微信小程序出來了,原生 App 和 Web App有什麼區別

原生 App 是為了實現某項功能,針對特定設備設計的產品,他們需要安裝到設備上使用,通常能都調用設備上的其他硬體功能,我們通過App Store或者各大安卓應用市場下載的App均屬於原生 App范疇;而Web App直接利用設備上的瀏覽器訪問,不需要下載安裝,實現了跨平台。就目前而言原生 App可以最大程度的對手機硬體資源進行利用,在性能、交互、設計、展現效果上遠遠超過Web App的軟體和服務,但是由於開發成本低、發布周期短、維護簡單等優勢,也不乏一些創業者通過這種輕量級的應用進行產品快速的市場驗證。

㈤ 現在開發app是web還是原生

昆明天度APP開發模式通常分為Web APP與Native APP原生模式兩種,這兩種模式均各自有自己的優勢,到底是採用Native App開發還是採用Web App開發一直是業界爭論的焦點,但是隨著HTML5的發展及雲服務普及,採用HTML5進行Web App開發正在成為一種趨勢,用戶可以根據應用特點和需求進行選擇,亦可選擇兩者混合模式: Native App開發 Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要採用不同的語言和框架進行開發,該模式通常是由「雲伺服器數據+APP應用客戶端」兩部份構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。 Web App開發 Web App開發即是一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平台的優勢,該模式通常由「HTML5雲網站+APP應用客戶端」兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數據則是每次打開APP的時候,去雲端取數據呈現給手機用戶。 原生APP開發及Web APP開發模式的區別 Web APP需開發「html5雲網站」和「APP客戶端」,昆明天度網路公司總結這類型APP應用呈現以下特點: (1)每次打開APP,都要通過APP框架向雲網站取UI及數據; (2)手機用戶無法上網則無法訪問APP應用中的數據。 (3)框架型的APP無法調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等) (4)框架型APP的訪問速度受手機終端上網的限制,每次使用均會消耗一定的手機上網流量; (5)框架型APP應用的安裝包小巧,只包含框架文件,而大量的UI元素、數據內容剛存放在雲端; (6)APP用戶每次都可以訪問到實時的最新的雲端數據; (7)APP用戶無須頻繁更新APP應用,與雲端實現的是實時數據交互; 適用企業:電子商務、金融、新聞資訊、企業集團需經常更新內容的APP應用。 Native App(原生型APP)需要開發「雲伺服器數據中心」和「APP客戶端」,昆明天度網路公司總結這類型的APP應用呈現以下特點: (1)每次獲取最新的APP功能,需要升級APP應用; (2)原生型APP應用的安裝包相對較大,包含UI元素、數據內容、邏輯框架; (3)手機用戶無法上網也可訪問APP應用中以前下載的數據。 (4)原生型的APP可以調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等) (5)APP應用更新新功能,涉及到每次要向各個應用商店進行提交審核。 適用企業:游戲、電子雜志、管理應用、物聯網等無需經常更新程序框架的APP應用。 到底該如何選擇Web App和Native App開發模式 移動Web無所不在,移動Web是目前唯一的支持各種設備訪問的平台,與桌面Web一樣,移動Web支持各種標準的協議。移動Web也是唯一一個可供開發者發布移動應用的平台,它將各種移動交互與桌面任務有效地連接了起來;而開發Native App可以充分利用設備的特性,而這一點往往是Web瀏覽器做不到的,所以對一個產品本身而言,Native App是最佳的選擇。下面幾節將討論一下Native App的一些主要功能。 什麼時候應該選擇Native App 1.為應用收費 沒有任何地方規定開發者不能對一個移動Web App收取使用費,但是由於某些原因,人們常常認為不能或是不應該對一個Web App收取費用。由於歷史原因,導致移動設備上付費服務遭遇兩大阻力: 2.付款方式 在移動設備上輸入信用卡號相當麻煩,而且在許多老式設備上也沒有安全保障。一種典型的方式是,如果你需要對你的應用收費,你可以與運營商達成協議,讓運營商代為為你的服務收費。這也意味著,你需要和多個運營商達成合作。這通常是首選的方法,因為許多手機用戶可能根本就沒有信用卡,比如青少年。 另一種方法是將用戶的信用卡信息保存在一個安全的網站上。用戶可以通過登錄到該網站購買應用服務。這個過程不算特別理想,因為這意味著用戶不能直接通過他們的移動設備購買服務了。 3.強制分成 移動運營商是會提成的。App無論是通過運營商還是通過移動設備發布,他們都為應用提供了一套收費機制。這些運營商和移動設備將會提取部分收益,然後將剩餘的部分交給應用開發商,這也意味著,開發人員必須遵守他們的市場規則。適應運營商的市場規則通常是非常困難的,需要投入大量的人力資源。相比而言,移動設備的市場規則則簡單許多,但是也存在不少的困難。 妨礙運營商和移動設備開發商利益的應用以及服務都將受到阻擾。過去,那些不靠運營商和移動設備開發商運作的網站如果收入過於顯眼的話,都逃脫不了被關閉的命運,但是最近,這樣的事情鮮少發生了。 如果你想為你的Native App收費,那麼你就必須接受這個現實——你必須遵守別人的市場規則,還得放棄部分收益。 4.開發游戲 如果你是想開發一個移動游戲(移動游戲是移動市場上最大的一塊),那麼你需要開發一個Native App。游戲對資源的佔用很大,並且需要使用許多設備API或平台API。雖然,現在有幾款完全使用Web技術開發的游戲佔有了一定的市場份額,但是和Native App市場的佔有情況相比,還是微不足道的。游戲用戶對應用的視覺和操作效果要求很高。移動Web雖然提供了一些模擬體驗,但還遠遠不能滿足用戶的需求。 在開發移動游戲時,你需要慎重考慮你的應用需要支持哪些平台。幸運的是,現在有許多工具能夠幫助你將你的游戲推向多個平台,但是完成這些工作,還是需要花費大量的人力和物力。 5.使用定位功能 下一個功能就是定位功能,可以通過GPS或者是信號檢測確定用戶當前的位置信息。以前只能通過Native App的APIs查看用戶的位置信息,但現在大多數主流移動瀏覽器上都嵌入了W3C Geolocation API。像iPhone或Android這樣安裝了WebKit的設備,或是配置了Opera或Mozilla瀏覽器的設備,都可以獲取用戶的位置信息。 我相信定位功能會為Web技術帶來許多全新的應用。如果能夠合理利用Web瀏覽器,Web開發商就能使用用戶的位置信息和其他內容開發出更加有趣的應用。雖然這在技術上沒有太大的困難,但卻受到隱私保護條例的限制。我們將Web瀏覽器當做是用戶進入World Wide Web的入口。加入定位功能,意味著在網站中引入了一些敏感信息,這有可能導致嚴重的後果。但是位置感知應用中顯示的位置信息必須經過用戶的授權,用戶當然有權禁止應用發布自己的位置信息。 6.使用攝像頭 攝像頭可以為你的應用提供豐富的可能性。以往移動MMS(Multimedia Messaging Service)被用於處理移動照片。換言之,你拍了一張照片後,需要使用MMS將它傳送給一個伺服器,伺服器對照片做出相應的處理,並將處理完成的結果通知給你。這個過程是非常耗時的,而且相當復雜,也沒有可靠性保障。 通過訪問攝像頭,Native App開發者能夠簡化拍照的過程。用戶可以直接在客戶端對照片做一些簡單的處理,只有在有需要的時候才將照片上傳給伺服器,而且是通過可靠的HTTP傳輸。W3C正在開發一個訪問攝像頭的API,但現在還沒有將這部分工作正式整合到瀏覽器中。 在許多類型的移動Apps中,攝像頭是非常有用的,比如快拍應用、短片拍攝應用等等,攝像頭可以用來捕捉許多重要的瞬間。不久的將來,我們可以看到——只要通過攝像頭拍攝某個標識,應用程序就能自動完成對標識上的語言轉換工作——這個技術在日本已經開始流行起來了。 7.使用感應器 現在越來越來越多的移動設備上都新增了感應器功能,該裝置可以感知設備的物理速度以及重力,並將感知的數據結果傳送給設備。這個裝置常被用來感應設置是否被翻轉,應用根據接受到的信息自動調節畫面的方向。 感應器可以用來幫助用戶提升與設備交互時的真實感;大多數移動設備都是手持的,應用能夠根據設備的方向調整內容畫面,比如翻轉屏幕,或是檢測物理移動,並能據此猜測用戶所處的環境。舉一個簡單的例子:比如用戶正在走路,那麼感應器能夠檢測到一個輕緩的移動或是速度,這時可以為用戶提供一個大字體的用戶界面,從而使得用戶更容易看清屏幕上的內容。 然而,開發者也不能過分依賴感應器,因為感應器無法區分究竟哪些交互是有意的,而哪些是沒有意義的。每個移動交互都需要通過「傳輸測試」。設計你的交互時必須考慮用戶在一個擁擠的汽車或是火車上的場景。考慮一下如果用戶正身處擁擠的地鐵或是正在駕車時,你的應用能否正確處理用戶搖晃移動設備的動作。通常,大多數開發者都沒有考慮這些因素。確保為每個任務設計一個備用方案以處理特殊場景中的移動交互。 8.訪問文件系統 如果你的應用需要將數據保存在本地,那麼你需要開發一個Native App。比如你要保存用戶的地址簿、電話或E-mail信息,或是保存從其他設備上獲取的數據。 訪問文件系統常常會涉及到安全和用戶隱私保護的問題。惡意應用程序可能會修改或是刪除你的移動設備上的數據。一個攜帶病毒的應用程序可以利用移動設備上的關系網將病毒擴散到許多其他的手機上,在採用移動應用認證機制以前,這種事情是常常發生的。 另一方面,移動設備正變得越來越私人化,移動設備上保存了大量用戶的個人信息,以及用戶的朋友信息和商業信息。針對這些私人信息開發應用是一個不錯的想法。但是這也存在一定的風險,使用保存在移動設備上的數據可以為用戶提供更加有針對性的服務。 開發者必須謹記,只有在獲得用戶的授權後才能訪問用戶的私人數據。我們看到許多應用在沒有得到用戶授權的情況下使用了大量的用戶私人數據,而被誤認為是垃圾信息或是釣魚應用,即使這些應用原本是在提供一些非常有用的服務。人們對你的應用的誤解將會影響到你的服務的推廣,如果運營商收到過多關於你的應用的投訴,那麼你的服務可能將被終止,甚至會牽連其他的應用。 訪問文件系統時至關重要的一點就是在沒有獲得用戶授權的情況下,不要訪問任何用戶的私人數據。而這一點,往往被大多數應用忽略了。W3C正在為移動開發商開發相關的標准API,但目前該工作尚未完成。 9.離線用戶 最後一個需要開發Native App的理由就是,用戶有可能是離線的或者無法接入移動網路。這在城市可能很少發生,即使是在農村,網路的覆蓋也已經逐步普及了。但是短暫的網路連接中斷還是時常發生的,你的應用程序應該考慮如何處理這種情景。 想想用戶通常在什麼時候,在哪裡會使用你的App。如果是一個移動游戲,那麼用戶很可能在飛機上使用這個App。跟蹤地圖應用常在偏遠且網路覆蓋不佳的地方使用。移動旅遊向導常在一個國外的網路中訪問,往往需要支付漫遊和國際網路費用。這時,應用程序最好能夠為用戶提供離線服務,保證用戶在不接入網路的情況下,仍然能享受同等的服務。 現在支持HTML5的瀏覽器也能實現離線訪問功能,但對用戶來說可能不太明顯。隨著越來越多的瀏覽器都開始支持離線訪問,應用需要明確地告訴用戶網路連接中斷時,他們仍然可以訪問移動Web Apps。 Native Apps常常假設網路連接是可靠的。App通常只考慮了網路狀況良好的情景,想當然地認為網路是封閉的,並且網速足夠快。移動設備從網路良好的環境突然進入一個網路糟糕的環境並不少見。Native Apps應該在網路狀況最差的情況下測試。比如用戶啟動任務時可能還是全信號覆蓋,而在任務結束時可能已經完全沒有網路信號了。 用戶在安裝Native Apps時,根本不會考慮是在線訪問還是離線訪問——他們期望的是不管在任何狀況下,Native Apps都能正常工作。而這也是開發者的職責。 什麼時候應該選擇Web App 只要你的應用程序不滿足之前提到的Native App條件之一,那麼你就沒有必要開發一個Native App,而應該選擇開發一個Web App。正如文章之前提到的,我是一個Native App的擁護者,我認為Native App有許多優秀的特質,並且具有很大的市場潛力,但是Web Apps是唯一一個經久不衰的移動內容、服務、應用開發平台。 Native App並不能明顯地為用戶提供更好的服務;它反而會增加項目的成本,減少了應用發布的渠道,增加了App升級的復雜度,削弱了開發者對應用的控制和利潤,並且可能會給設備帶來麻煩。Native App可以為開發者帶來短期的效益,但這是有一定風險的,甚至可能會影響到移動市場的可持久發展。 移動Web App的優勢在前文中已經提到過了。如果上一節提到的幾點功能是促成你選擇Native App的唯一原因,那麼如果能夠在移動瀏覽器上屏蔽這些障礙,你是否還會堅持選擇Native App呢?Palm的webOS已經著手解決了上述的部分問題。他們基於WebKit構建了一個全移動操作系統,將手機變成了一個Web瀏覽器。所謂的「Native Apps」實際上就是一個Web Apps。 PhoneGap也是一個類似的項目,這個開源項目用於幫助開發者在iPhone、Android以及BlackBerry設備上開發Native Apps,並且能夠模擬設備上的功能(如定位功能和文件系統)供Web Apps調用。這些代碼可以在各個設備的應用商店中發布並且出售,但是他們使用的通用代碼和設計是可以共享的。由於開發的是一個Web App,開發者可以為低端的移動瀏覽器開發一個簡化版的應用。只用開發一次,就可以部署在多個平台上了, 對於那些有著豐富的移動開發經驗的程序員來說,一提到「要開發一個功能豐富的應用」時,可能首先想到的就是Native App。雖然在很多設備上,這一想法仍然適用,但是現在移動Web Apps上也提供了足夠豐富的功能介面供開發者調用。這使得Web App不僅可以像Native App一樣被設計得功能豐富界面絢麗,而且還能在各個平台上遷移,甚至不用修改一行代碼。 現在在移動設備開發中,移動Web Apps的創新進入了前所未有的高潮時期。但更重要的是,這是有史以來第一次,移動設備開發商決定共同制定一個移動Web開發的標准,就像是桌面Web上的標准一樣。不僅如此,那些支持移動Web App創新功能的設備或是支持第三方瀏覽器的移動設備都受到消費者的歡迎。

㈥ H5和原生APP之間的區別

實際上他們的底層都是一樣的。
H5寫的APP是基於html、js等語言編寫的。原生APP用原生的語言與java、c等編寫的。
H5寫的APP調用機子的一些設備時仍是需要通過底層介面實現的。H5寫的APP在不同系統的機子上兼容性更好。
原生APP調用一些介面的速度一般比H5的快,不過現在智能機處理速度都很快,因此用戶基本上都看不出來。

㈦ 如何選擇Web APP與Native App原生開發模式的區別,APP開發模式比較

APP開發模式通常分為Web APP與Native APP原生模式兩種,這兩種模式均各自有自己的優勢,到底是採用Native App開發還是採用Web App開發一直是業界爭論的焦點,但是隨著HTML5的發展及雲服務普及,採用HTML5進行Web App開發正在成為一種趨勢,用戶可以根據應用特點和需求進行選擇,亦可選擇兩者混合模式:

Native App開發

Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機操作系統要採用不同的語言和框架進行開發,該模式通常是由「雲伺服器數據+APP應用客戶端」兩部份構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。

Web App開發

Web App開發即是一種框架型APP開發模式(HTML5 APP 框架開發模式),該開發具有跨平台的優勢,該模式通常由「HTML5雲網站+APP應用客戶端」兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數據則是每次打開APP的時候,去雲端取數據呈現給手機用戶。

原生APP開發及Web APP開發模式的區別

Web APP需開發「html5雲網站」和「APP客戶端」,昆明天度網路公司總結這類型APP應用呈現以下特點:

(1)每次打開APP,都要通過APP框架向雲網站取UI及數據;

(2)手機用戶無法上網則無法訪問APP應用中的數據。

(3)框架型的APP無法調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等)

(4)框架型APP的訪問速度受手機終端上網的限制,每次使用均會消耗一定的手機上網流量;

(5)框架型APP應用的安裝包小巧,只包含框架文件,而大量的UI元素、數據內容剛存放在雲端;

(6)APP用戶每次都可以訪問到實時的最新的雲端數據;

(7)APP用戶無須頻繁更新APP應用,與雲端實現的是實時數據交互;

適用企業:電子商務、金融、新聞資訊、企業集團需經常更新內容的APP應用。

Native App(原生型APP)需要開發「雲伺服器數據中心」和「APP客戶端」,昆明天度網路公司總結這類型的APP應用呈現以下特點:

(1)每次獲取最新的APP功能,需要升級APP應用;

(2)原生型APP應用的安裝包相對較大,包含UI元素、數據內容、邏輯框架;

(3)手機用戶無法上網也可訪問APP應用中以前下載的數據。

(4)原生型的APP可以調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等)

(5)APP應用更新新功能,涉及到每次要向各個應用商店進行提交審核。

適用企業:游戲、電子雜志、管理應用、物聯網等無需經常更新程序框架的APP應用。

到底該如何選擇Web App和Native App開發模式

移動Web無所不在,移動Web是目前唯一的支持各種設備訪問的平台,與桌面Web一樣,移動Web支持各種標準的協議。移動Web也是唯一一個可供開發者發布移動應用的平台,它將各種移動交互與桌面任務有效地連接了起來;而開發Native App可以充分利用設備的特性,而這一點往往是Web瀏覽器做不到的,所以對一個產品本身而言,Native App是最佳的選擇。下面幾節將討論一下Native App的一些主要功能。

什麼時候應該選擇Native App

1.為應用收費

沒有任何地方規定開發者不能對一個移動Web App收取使用費,但是由於某些原因,人們常常認為不能或是不應該對一個Web App收取費用。由於歷史原因,導致移動設備上付費服務遭遇兩大阻力:

2.付款方式

在移動設備上輸入信用卡號相當麻煩,而且在許多老式設備上也沒有安全保障。一種典型的方式是,如果你需要對你的應用收費,你可以與運營商達成協議,讓運營商代為為你的服務收費。這也意味著,你需要和多個運營商達成合作。這通常是首選的方法,因為許多手機用戶可能根本就沒有信用卡,比如青少年。

另一種方法是將用戶的信用卡信息保存在一個安全的網站上。用戶可以通過登錄到該網站購買應用服務。這個過程不算特別理想,因為這意味著用戶不能直接通過他們的移動設備購買服務了。

3.強制分成

移動運營商是會提成的。App無論是通過運營商還是通過移動設備發布,他們都為應用提供了一套收費機制。這些運營商和移動設備將會提取部分收益,然後將剩餘的部分交給應用開發商,這也意味著,開發人員必須遵守他們的市場規則。適應運營商的市場規則通常是非常困難的,需要投入大量的人力資源。相比而言,移動設備的市場規則則簡單許多,但是也存在不少的困難。

妨礙運營商和移動設備開發商利益的應用以及服務都將受到阻擾。過去,那些不靠運營商和移動設備開發商運作的網站如果收入過於顯眼的話,都逃脫不了被關閉的命運,但是最近,這樣的事情鮮少發生了。

如果你想為你的Native App收費,那麼你就必須接受這個現實——你必須遵守別人的市場規則,還得放棄部分收益。

4.開發游戲

如果你是想開發一個移動游戲(移動游戲是移動市場上最大的一塊),那麼你需要開發一個Native App。游戲對資源的佔用很大,並且需要使用許多設備API或平台API。雖然,現在有幾款完全使用Web技術開發的游戲佔有了一定的市場份額,但是和Native App市場的佔有情況相比,還是微不足道的。游戲用戶對應用的視覺和操作效果要求很高。移動Web雖然提供了一些模擬體驗,但還遠遠不能滿足用戶的需求。

在開發移動游戲時,你需要慎重考慮你的應用需要支持哪些平台。幸運的是,現在有許多工具能夠幫助你將你的游戲推向多個平台,但是完成這些工作,還是需要花費大量的人力和物力。

5.使用定位功能

下一個功能就是定位功能,可以通過GPS或者是信號檢測確定用戶當前的位置信息。以前只能通過Native App的APIs查看用戶的位置信息,但現在大多數主流移動瀏覽器上都嵌入了W3C Geolocation API。像iPhone或Android這樣安裝了WebKit的設備,或是配置了Opera或Mozilla瀏覽器的設備,都可以獲取用戶的位置信息。

我相信定位功能會為Web技術帶來許多全新的應用。如果能夠合理利用Web瀏覽器,Web開發商就能使用用戶的位置信息和其他內容開發出更加有趣的應用。雖然這在技術上沒有太大的困難,但卻受到隱私保護條例的限制。我們將Web瀏覽器當做是用戶進入World Wide Web的入口。加入定位功能,意味著在網站中引入了一些敏感信息,這有可能導致嚴重的後果。但是位置感知應用中顯示的位置信息必須經過用戶的授權,用戶當然有權禁止應用發布自己的位置信息。

6.使用攝像頭

攝像頭可以為你的應用提供豐富的可能性。以往移動MMS(Multimedia Messaging Service)被用於處理移動照片。換言之,你拍了一張照片後,需要使用MMS將它傳送給一個伺服器,伺服器對照片做出相應的處理,並將處理完成的結果通知給你。這個過程是非常耗時的,而且相當復雜,也沒有可靠性保障。

通過訪問攝像頭,Native App開發者能夠簡化拍照的過程。用戶可以直接在客戶端對照片做一些簡單的處理,只有在有需要的時候才將照片上傳給伺服器,而且是通過可靠的HTTP傳輸。W3C正在開發一個訪問攝像頭的API,但現在還沒有將這部分工作正式整合到瀏覽器中。

在許多類型的移動Apps中,攝像頭是非常有用的,比如快拍應用、短片拍攝應用等等,攝像頭可以用來捕捉許多重要的瞬間。不久的將來,我們可以看到——只要通過攝像頭拍攝某個標識,應用程序就能自動完成對標識上的語言轉換工作——這個技術在日本已經開始流行起來了。

7.使用感應器

現在越來越來越多的移動設備上都新增了感應器功能,該裝置可以感知設備的物理速度以及重力,並將感知的數據結果傳送給設備。這個裝置常被用來感應設置是否被翻轉,應用根據接受到的信息自動調節畫面的方向。

感應器可以用來幫助用戶提升與設備交互時的真實感;大多數移動設備都是手持的,應用能夠根據設備的方向調整內容畫面,比如翻轉屏幕,或是檢測物理移動,並能據此猜測用戶所處的環境。舉一個簡單的例子:比如用戶正在走路,那麼感應器能夠檢測到一個輕緩的移動或是速度,這時可以為用戶提供一個大字體的用戶界面,從而使得用戶更容易看清屏幕上的內容。

然而,開發者也不能過分依賴感應器,因為感應器無法區分究竟哪些交互是有意的,而哪些是沒有意義的。每個移動交互都需要通過「傳輸測試」。設計你的交互時必須考慮用戶在一個擁擠的汽車或是火車上的場景。考慮一下如果用戶正身處擁擠的地鐵或是正在駕車時,你的應用能否正確處理用戶搖晃移動設備的動作。通常,大多數開發者都沒有考慮這些因素。確保為每個任務設計一個備用方案以處理特殊場景中的移動交互。

8.訪問文件系統

如果你的應用需要將數據保存在本地,那麼你需要開發一個Native App。比如你要保存用戶的地址簿、電話或E-mail信息,或是保存從其他設備上獲取的數據。

訪問文件系統常常會涉及到安全和用戶隱私保護的問題。惡意應用程序可能會修改或是刪除你的移動設備上的數據。一個攜帶病毒的應用程序可以利用移動設備上的關系網將病毒擴散到許多其他的手機上,在採用移動應用認證機制以前,這種事情是常常發生的。

另一方面,移動設備正變得越來越私人化,移動設備上保存了大量用戶的個人信息,以及用戶的朋友信息和商業信息。針對這些私人信息開發應用是一個不錯的想法。但是這也存在一定的風險,使用保存在移動設備上的數據可以為用戶提供更加有針對性的服務。

開發者必須謹記,只有在獲得用戶的授權後才能訪問用戶的私人數據。我們看到許多應用在沒有得到用戶授權的情況下使用了大量的用戶私人數據,而被誤認為是垃圾信息或是釣魚應用,即使這些應用原本是在提供一些非常有用的服務。人們對你的應用的誤解將會影響到你的服務的推廣,如果運營商收到過多關於你的應用的投訴,那麼你的服務可能將被終止,甚至會牽連其他的應用。

訪問文件系統時至關重要的一點就是在沒有獲得用戶授權的情況下,不要訪問任何用戶的私人數據。而這一點,往往被大多數應用忽略了。W3C正在為移動開發商開發相關的標准API,但目前該工作尚未完成。

9.離線用戶

最後一個需要開發Native App的理由就是,用戶有可能是離線的或者無法接入移動網路。這在城市可能很少發生,即使是在農村,網路的覆蓋也已經逐步普及了。但是短暫的網路連接中斷還是時常發生的,你的應用程序應該考慮如何處理這種情景。

想想用戶通常在什麼時候,在哪裡會使用你的App。如果是一個移動游戲,那麼用戶很可能在飛機上使用這個App。跟蹤地圖應用常在偏遠且網路覆蓋不佳的地方使用。移動旅遊向導常在一個國外的網路中訪問,往往需要支付漫遊和國際網路費用。這時,應用程序最好能夠為用戶提供離線服務,保證用戶在不接入網路的情況下,仍然能享受同等的服務。

現在支持HTML5的瀏覽器也能實現離線訪問功能,但對用戶來說可能不太明顯。隨著越來越多的瀏覽器都開始支持離線訪問,應用需要明確地告訴用戶網路連接中斷時,他們仍然可以訪問移動Web Apps。

Native Apps常常假設網路連接是可靠的。App通常只考慮了網路狀況良好的情景,想當然地認為網路是封閉的,並且網速足夠快。移動設備從網路良好的環境突然進入一個網路糟糕的環境並不少見。Native Apps應該在網路狀況最差的情況下測試。比如用戶啟動任務時可能還是全信號覆蓋,而在任務結束時可能已經完全沒有網路信號了。

用戶在安裝Native Apps時,根本不會考慮是在線訪問還是離線訪問——他們期望的是不管在任何狀況下,Native Apps都能正常工作。而這也是開發者的職責。

什麼時候應該選擇Web App

只要你的應用程序不滿足之前提到的Native App條件之一,那麼你就沒有必要開發一個Native App,而應該選擇開發一個Web App。正如文章之前提到的,我是一個Native App的擁護者,我認為Native App有許多優秀的特質,並且具有很大的市場潛力,但是Web Apps是唯一一個經久不衰的移動內容、服務、應用開發平台。

Native App並不能明顯地為用戶提供更好的服務;它反而會增加項目的成本,減少了應用發布的渠道,增加了App升級的復雜度,削弱了開發者對應用的控制和利潤,並且可能會給設備帶來麻煩。Native App可以為開發者帶來短期的效益,但這是有一定風險的,甚至可能會影響到移動市場的可持久發展。

移動Web App的優勢在前文中已經提到過了。如果上一節提到的幾點功能是促成你選擇Native App的唯一原因,那麼如果能夠在移動瀏覽器上屏蔽這些障礙,你是否還會堅持選擇Native App呢?Palm的webOS已經著手解決了上述的部分問題。他們基於WebKit構建了一個全移動操作系統,將手機變成了一個Web瀏覽器。所謂的「Native Apps」實際上就是一個Web Apps。

PhoneGap也是一個類似的項目,這個開源項目用於幫助開發者在iPhone、Android以及BlackBerry設備上開發Native Apps,並且能夠模擬設備上的功能(如定位功能和文件系統)供Web Apps調用。這些代碼可以在各個設備的應用商店中發布並且出售,但是他們使用的通用代碼和設計是可以共享的。由於開發的是一個Web App,開發者可以為低端的移動瀏覽器開發一個簡化版的應用。只用開發一次,就可以部署在多個平台上了,

對於那些有著豐富的移動開發經驗的程序員來說,一提到「要開發一個功能豐富的應用」時,可能首先想到的就是Native App。雖然在很多設備上,這一想法仍然適用,但是現在移動Web Apps上也提供了足夠豐富的功能介面供開發者調用。這使得Web App不僅可以像Native App一樣被設計得功能豐富界面絢麗,而且還能在各個平台上遷移,甚至不用修改一行代碼。

㈧ 嵌入已有的 Web 頁面的「Web」小程序和使用微信小程序框架開發的「原生」小程序相比,有哪些區別呢

在這之前,如果有人問我,在微信中做一個產品,是用小程序還是 Web 頁面 (嚴謹,既不是 HTML5 更不是 H5…) 的時候,我會這么說:

  • 產品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

  • 營銷上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

  • 關於後一點,朋友圈分享現在普遍會用海報來做,在這點上 Web 和小程序的能力其實是一樣的,都是只能幫你保存圖片到相冊,再請用戶手動發送到朋友圈。而小程序獨有的發現 - 小程序、搜索框快捷方式等對用戶回訪特別重要的入口,Web 頁面是不能使用的。

    那麼,昨天的發布意味著什麼?簡單地說,小程序的開發成本有了很大的下降。

    微信小程序剛剛上線的時候,由於小程序使用類似 HTML、CSS 和 JavaScript 等 Web 語言的方式進行開發,讓一些媒體誤以為小程序就是 Web 開發,歡呼將「迎來 Web 開發的春天」。我自己的第一份工作就是 Web 開發工程師,Web 開發入門確實比較容易;可是盡管小程序使用了 Web 語言,那隻是語法上的一致,整個開發模式完全不同,更接近於原生 App 的開發而不是 Web。打個比方,對在看這篇文章的大多數人來說,讀中文要比讀英文更容易,但假如你看不懂英文版的《量子力學導論》,翻譯成中文版你也不一定能看懂。開發小程序,需要有專門的、獨立於 Web 團隊之外的團隊,按小程序的規范重新設計、重新開發,不能將已有的產品直接遷移過來。

    可以理解微信當初做這個決定,是希望開發者按照微信的要求,為微信的用戶重新去思考、設計一套全新的用戶體驗,而不是將已有的 Web 頁面搬進來。歷史上,包括 Microsoft 的 Windows Phone 平台、Google 的 Chrome Packaged App 都冒過類似的險,而其實 Apple 也做過類似的決定——Steve Jobs 2010 年 4 月親筆寫過一篇文章,解釋為何 iPhone 不支持 Flash (Thoughts on Flash),其中最重要的原因是,Apple 不希望第三方開發者將已有的產品直接搬過來,而是希望開發者能直接在 iOS (當年還叫 iPhone OS) 進行開發,為 iPhone 的用戶提供最好的體驗。這些決定賭的是,新平台 (小程序或 iOS) 帶來的商業上的好處,最終會讓開發者們願意付出這個成本。

    那時候的 iPhone 還很弱小,但後來的歷史證明 Steve Jobs 賭對了——Adobe 公司今年 7 月宣布,將在 2020 年最終停止 Flash 的更新和分發。

    微信,則在昨天支持了開發者直接嵌入已有網頁。

    所以,如果你已經有一個網站,可以直接在小程序中套個殼,把網站中的 Web 頁面搖身一變成一個小程序。至於這和直接分發 Web 頁面有什麼區別——

  • 產品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。

  • 營銷上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。

  • 細心的你可能已經注意到了,上面這兩條並沒有任何變化…對,在小程序的用法上其實沒有任何變化,只是開發成本下降了。

    那麼,在今天之後,使用微信小程序框架開發的「原生」小程序,和嵌入已有的 Web 頁面的「Web」小程序,在用戶感受上會有什麼區別呢?

  • 「原生」小程序,整個小程序是提前下載的,不會有 Web 頁面打開時的頁面載入感。我們過去的可用性研究表明,這是用戶對一個界面是「Web」還是「原生」的最主要判斷標准。對於偏工具型的小程序,「原生」的感受應該會更好。

  • 「原生」小程序對體驗的控制更完整,自己要做的事情也更多。例如 Web 頁面中用戶可以選擇頁面上的文字復制,而在「原生」小程序界面中,這是需要單獨添加的功能。

  • 「原生」小程序提供了一些專屬的控制項和 APIs(介面),如展示群信息、發送推送等,這些只有使用小程序框架開發才能使用。

  • 所以,如果需要和微信生態整合得更緊密,可以使用「原生」方式開發;如果追求快速遷移已有 Web 產品,嵌入 Web 頁面更快。

㈨ 原生APP和Web APP的區別

html5封裝的app與原生態app有什麼區別呢?
html5又和app有什麼區別呢?

為什麼大型網路公司還是傾向於推廣原生態app呢?

html5是有跨平台的優勢,但是為什麼還是不溫不火,或者我們仍稱之為輕應用app呢?

查找了相關的資料,梳理了一下,發現有如下區別:

1.html5的app如輕型小炮,原生態app如正規大炮,html5實現的功能有限,只能實現一些輕型的交互場景,而app則可以完美解決。

2.html5雖然可以跨平台,可是瀏覽器有個載入速度,對於用戶體驗上說,有個載入的等待,就比如你用qq瀏覽器打開網路,和直接使用網路app是兩種體驗。瀏覽器打開網路,還得有個載入,而網路app則ang的出下了輸入框界面。

3.html5的app對於導航來說,目前有個弊端。而原生態app則在頁底固定懸浮著導航菜單。我給截圖,大家可以看看區分:看我紅線畫圈和藍色畫圈的區別。
4.html5 app也有自己的優勢,比如有的app頁面想要分享出來,則採用html5
app。也比如滴滴打車集成在微信里一樣,如果手機中沒有滴滴打車的app,則直接可以在默認瀏覽器上載入出來,進行打車。對於公司整體的運營來說不可少。
html5 app在設計時需要注意的一些要點,我也簡單概括了一下:

1)各手機瀏覽器的兼容測試

2)底層服務的調取(能調取,但只有當其是核心功能時才保留 eg:新浪、美團等皆去掉了頭像上傳功能)

3)注意離線數據存儲,減少數據請求頻率。

4)考慮保存用戶的哪些數據:設置、個人數據、閱讀錨點、跳出頁面等。【這點一般說的就是導航菜單】

5)避免動效與瀏覽器的交互沖突

6)按順序 非同步載入eg: 騰訊視頻

㈩ web app與原生app有哪些交互設計區別

從使用場景上,Web App用戶面臨比原生APP用戶更嚴峻的問題:

1、頁面跳轉更加費力,不穩定感更強

思考點:如何減少跳轉(扁平結構、頁面布局技巧),增加數據及展示的流暢流程及穩定性(技術)

2、更小的頁面空間(由於瀏覽器的導航本身佔用一部分屏幕空間),更大的信息記憶負擔

移動設備的屏幕要小得多。這種如同透過門縫進行的閱讀增加了認知的負擔。人腦的短期記憶是不穩定的,用戶在滾動屏幕的過程中需要臨時記憶的信息越多,他們的表現就會越差。——《貼心設計:打造高可用性的移動產品》

思考點:排版更清晰、信息更簡練 (可在原生APP基礎上去掉一些豐富、復雜的視覺表現)

3、導航不明顯,原有底部導航消失,有效的導航遇到挑戰

思考點:如何有效的提供導航?有哪些形式?

4、交互動態效果收到限制,影響一些頁面場景、邏輯的理解。

思考點:比如登錄注冊流程的彈出、完成及異常退出,做好文字提示。