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

原生app和前端差異

發布時間: 2022-09-10 08:37:07

Ⅰ 為何感覺做網頁的不多但是前端卻比安卓ios的需求大

因為現在網頁開發人員已經不再單純的只開發網頁

在Web2.0時代

前端開發人員都是往大前端方向發展

HTML CSS JS只是基本功

還得需要會Vue React Angular三大框架

小程序和Web APP開發

服務端的NodeJS

前端工程化Webpack gulp

gitlab github等

還有MongoDB Redis等資料庫

前端是越來越復雜了

並不是傳統意義的前端只做界面

現在簡單的CURD都是前端自己完成

後端更多的是做數據相關的工作

一個非常好的問題。題主說的前端應該是包含了H5跨平台開發的「大前端」。

一,大前端
隨著移動互聯網的發展,前端開發成為重點。移動端有多個平台,Android,iOS,微信小程序,還有重任在肩的華為鴻蒙,為了支持這些平台和系統,越來越多的應用開始使用H5跨平台架構,這時有個新名詞叫做「大前端」。

為了滿足實際業務需求,現在軟體系統的功能和架構都日趨復雜:多層架構,數據中台,動靜分離,微服務、集群化部署,自動化運維,等等。曾經總結過這么一個現象:

早期的小型團隊,前端手忙腳亂,需求易變,盯著頁面整天改來改去。

成熟穩定的團隊,後端比較忙,持續不斷的開發新功能。

從實際情況看,前端工程師數量比較多。

二,H5跨平台開發
這時的H5開發已經不單單是網頁開發了,而是前端應用開發。具體到H5 Hybrid架構,常用三劍客:HTML, css, JavaScript

1) HTML和css是頁面設計 ,沒有代碼邏輯

2) JavaScript編程 ,還有其它衍生語言,比如常用的TypeScript

JavaScript是一種腳本語言,由解釋器載入執行,常用在網頁前端動態展示、和服務後端交互等場景。

3)常用框架

有很多成熟的框架可用,比如JQuery, AngularJS,React,還有前後端都跑通的NoteJS

三,Android,iOS原生開發
這是幾年前的一個話題了,中間經歷了很多波折,當2012年Facebook宣布放棄H5轉向原生開發的時候,似乎已經有了階段性定論。然而隨著微信還有H5技術、開發框架的快速發展,天平又再次偏向了H5。

目前來看,「大前端」H5跨平台開發工程師的需求數量,遠多於Android、iOS原生開發的需求。

只能說你這個感覺偏差非常大!

web 層面的前端開發人員比原生 app 的開發人員數量上多了很多。拋開 web 其原有的領域不說,現在很多 Android 和 ios 的開發都採用了 hybird 技術,一種原生和 web 混合的開發手段。

很重要的一個原因就是 web 的開發部署周期非常迅速,而 native app 掛到市場後都會有一個審核過程,現在互聯網企業對產品的設計規劃變化非常多,特別是 Apple store 的審核時長較長,跟不上頻繁的迭代開發而產生的更新,所以就有了將更新評率較高的部分分離出來用 web 技術來實現的這種變通手段。

這樣一來,web 前端的技術人員又覆蓋了一部分原本不是他領域內的工作。

其實前端這幾年火爆的發展還是源於對軟體開發團隊的配置以及成本投入的需求,目前web前端開發已經占據軟體開發招聘市場很大的比例了!

接下來給大家談談web前端發展迅速的主要原因:

互聯網企業屬於創投類比較青睞的項目,當你有一個很好的idea的時候,只需要一定的啟動資金,將你的idea落地為互聯網產品,藉此去吸引一定的流量,有了流量之後就可以找風投進行入股,在資本介入之後就會有非常迅速的發展,甚至還有上市的可能,風投只要在眾多的投資項目中有少量成功的案例,那麼就可以賺的盆滿缽滿,這也是互聯網成為這些風險投資資金的蓄水池。

至於互聯網產品的流量入口就很多了,例如:有的用戶從電腦端網路訪問、有的用戶從手機網路訪問、有的用戶會從微信小程序訪問、有的會下載官方推薦的APP、有的用戶使用安卓系統、有的用戶使用的是iOS,無論哪種方式都會產生很大的可能性,其背後都是一類用戶的訪問習慣,而作為產品必須尊重每一種習慣,否則將會丟失一部分的客戶群體,對於一個起步階段的互聯網產品來說,丟失的任何一個用戶都是不可接受的失敗,必須使出渾身解數來迎合用戶,增加產品粘合度以及用戶的體驗度。

面對如此多的流量入口,對於早期尚未拿到風投的創業型互聯網公司來說,軟體開發團隊的工資將占據整個項目啟動資金很大的比例,以至於很多項目還沒搞出來上線就已經over了或者項目草草上線之後發現運營的資金也是捉襟見肘,導致了整體項目的失敗!

這類公司已經功成名就,各自在自己的領域已經是大象般的存在了,資金勢力雄厚、技術能力與產品也已經非常成熟,前端軟體開發的任務也從早期搶市場,誰先上線誰就贏得先機,轉型向產品維護以及功能的迭代更新,所以工作量也會大幅下降,自然招聘量也會隨之降低,而且未來面對新的產品開發也會不斷的嘗試新的技術來滿足團隊優化的目的。

對於外包公司來說承接的項目會比較雜、業務類型也是多種多樣的,所以如果一個前端團隊可以解決來自iOS、安卓、pc端的所有需求那將是再好不過的選擇了,既節約了成本,又可以提升開發效率並能整合團隊資源何樂而不為!

對於非IT類企業來說,這類企業主營業務不是IT產業類,對軟體的需求就是滿足企業本身管理與生產的信息化,所以不可能在IT團隊的投入上有著過高的追求,如果自身的IT能力即可以滿足日常的生產與管理,又可以在商業上有所建樹那將是非常完美的選擇,目前的前端框架完全可以滿足這類企業在軟體界面端開發的所有需求,也是得到企業青睞的原因所在!

做網頁的需求量是做安卓、iOS原生前端頁面的需求的百倍都不止,你的感覺沒錯。

而你覺得做網頁的不多也很正常,因為藉助於前端UI框架、開源項目、工程構建、組件化等,現在前端更側重於JavaScript工程構建,很少吭哧吭哧寫頁面了。

前端開發除了有傳統的網站PC頁面、朋友圈的網頁、小程序以外,還在不斷滲透它的影響力和擴大它的勢力范圍,比如:

1、跨多端,安卓、iOS、Windows、Mac、Linux等很多應用都開始採用hybrid的方式來開發,甚至直接用JavaScript生成;

2、前端SaaS、PaaS服務,隨著雲計算的發展,將人工智慧、大數據等做成第三方服務的公司越來越多,這個趨勢在美國比較明顯,中國也在跟進,而很多服務都是線上服務,比如線上Office、線上PS、線上OA平台、線上大數據展示平台、線上表格、低代碼等,將服務線上化已經是大勢所趨,而所謂線上就是基於瀏覽器,而只要基於瀏覽器就是前端開發。

基本所有企業都有操作系統吧!都是前端開發!你平時用的app,也基本都是前端開發的。那種活動啥的,全是前端

對於題主的提問,其實回答很簡單,不需要虛頭巴腦說前端各種華麗花哨的,我就反問題主,安卓ios只做移動端應用,而web前端做的是跨平台應用,現在單把移動應用拿出來單說,由於原生應用開發周期長,更新審核繁瑣,很多原生應用的內容都是web寫的,安卓iOS相當於做了個框,可以理解為內嵌一個瀏覽器,這樣一對比,量級就明顯了,另外現有各平台的小程序都是前端從業者,還需要列舉更多嗎

app很多都是前台做的,原生的都很少工作量了。還有各種微信,支付寶,美團,等等小程序的前端都是給網頁前台做

Ⅱ HTML5和原生APP優缺點大對比,世界究竟是誰的

隨著HTML5和Node.js的流行,Javascript這門在互聯網初期就已誕生的語言正迸發出勃勃生機,Javascript將前端和後端開發統一起來,「一切皆為JS」看起來只是時間的問題。唯一的障礙是在移動端,因為無論是Android還是iOS平台,當前仍是原生應用大行其道。HTML5曾經被寄予厚望過,但是以Facebook為代表的一批公司在移動端對HTML5技術進行實踐的心酸血淚史表明,HTML5可以是原生應用開發的一種有效補充,但遠不足以替代原生。但是現在,隨著iMAG.js的漸漸流行,這種狀況正在發生改變。
iMAG.js是國內的愛碼哥移動平台推出的Javscript移動跨平台開發框架,它的特點簡單高效,同時又功能強大,可以用Javascript來替代原生開發。iMAG.js的原理和在伺服器端運行的Node.js有些相似,都是封裝了Javascript引擎,用Javascript去調用底層的API介面。不同的是因為移動應用的控制項主要是UI模塊、用戶交互界面開發,iMAG.js為此引入了XML模板技術,XML和Javascript結合,這樣很適合手機界面的展示。
H5開發的web APP和原生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 與 移動Web App:您如何選擇?
所以在你准備做移動App時,你應該先問問自己以下幾個問題:

1. 你的應用是否需要使用某些設備的特殊功能,比如攝像頭,攝像頭閃光燈或者重力加速器
2. 你的開發預算是多少?
3. 你的應用是否一定需要網路
4. 你的應用的目標硬體設備是所有的移動設備還是僅僅只是一部分而已
5. 你自己已經熟悉的開發語言
6. 這個應用對於性能要求是否苛刻
7. 如何靠這個應用贏利

Ⅲ 使用H5開發的App和原生App有什麼區別

1.H5的性能很差,一般經常改的地方可以用H5,比如論壇,咨詢之類的,而且限制也是很大,很多效果是沒辦法做到的。GUI框架的WebView普遍是這樣的。如果一個APP全部由H5來做(不太可能,送審很可能被拒),那麼會顯得非常卡。

2.用iOS SDK,如果實現熱更新是比較麻煩的。對於論壇,咨詢這種模塊,動不動就改版,做起來比較頭疼,用H5就很合適了。尤其在APP跨安卓和iOS的時候,這類模塊如果直接用H5,那麼就很容易共用。




Ⅳ 為什麼web app比原生APP體驗要差

首先對比一下web app和原生APP
一、功能上
原生APP是一個系統性的應用程序,而Web APP更多是頁面展示類的APP。
原生APP可以調用手機終端的硬體設備(語音、攝像頭、簡訊、GPS、藍牙、重力感應等),Web APP則不可以。
二、載入速度上
原生APP, 訪問的時候,不需要重新下載載入。
而Web APP每打開一個頁面,都需重新載入,訪問速度受手機終端上網的限制,每次使用均會消耗一定的手機上網流量,載入速度慢。
三、穩定性
市場的web版的APP多為模板,穩定性根本無法保證。
原生的APP的技術更加成熟,而且功能可以拓展。
綜上所述,web app比原生APP體驗要差,原生app的優勢明顯優於web app,因此在選擇app開發公司時,要注意這點,好的app開發公司都會採用原生app製作app軟體。

Ⅳ H5和原生APP之間的區別

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

Ⅵ H5實現APP和原生方式有多大差距,多少坑

H5開發的web APP和原生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很難被用戶發現

Ⅶ web app和 原生app的區別

web app和原生app有三種區別:

1.開發方面有區別:

(1)原生APP:每一種移動操作系統都需要獨立的開發項目,iphone版本、Ipad版本、安卓版本。每種平台都需要獨立的開發語言。Java(Android), Objective-C(iOS)等等。需要使用各自的軟體開發包,開發工具以及各自的控制項。

(2)開發成本高、開發速度慢、維護成本高。三個平台(IOS、安卓、windows)的規則、推廣、運營都不相同。官方應用商店對APP上線審核流程比較復雜而且很慢,會嚴重影響APP的發布上線。

(3)Web App :因為運行在移動設備的瀏覽器上,所以只需要一個開發項目。可以通過HTML、 CSS或者JavaScript來進行Web APP的開發。開發成本低、開發速度快。

2.功能有區別:

(1)原生App:原生APP是一個系統性的應用程序,可以類比於電腦上的軟體。原生app可以調用移動終端的硬體設備, 比如:麥克風、攝像頭、簡訊、GPS、藍牙、重力感應等。實現功能豐富

(2)Web App:Web APP可以類比於電腦上的網頁。Web APP更多是頁面展示類的APP。只能使用有限的移動硬體設備功能。更多用於頁面展示,側重於簡單的交互,無法使用很多硬體設備獨特的功能。

4.版本控制有區別:

(1)原生App:用戶可以自由地選擇是否更新軟體版本,所以會出現不同用戶同時使用不同版本的情況。同時也會導致維護成本比較高。使用舊版本的用戶無法體驗新版本的完整功能。

(2)Web App:所有的用戶都是用同樣的版本,所有用戶獲得的功能都是相同的。版本更新比較方便,直接在伺服器側更新數據即可。一個功能做好了就能上線,一天更新幾十次都毫無壓力。如果客戶端只是個瀏覽器,那一切都會變得很簡單。

(3)另外web統一性高,跨平台適用時開發量少。由於其入口不明顯(瀏覽器導航或者隨意點擊鏈接進入),讓用戶記住的門檻也隨之拔高,每次推廣導入的流量都可能淪為一次性努力,用戶留存率低。

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

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

Ⅸ 移動前端開發和web前端開發有什麼區別

移動前端開發和 Web 前端開發的區別是:
1、前端是相對比較大的概念,一般是指用戶能夠看到、直接接觸的界面都算是前端,比如iOS界面,安卓界面,網頁界面,PC/Mac桌面軟體的界面。最常見的是Web前端,也就是針對於網頁端開發的工作。

2、Web App即Web application,也就是以瀏覽器作為客戶端的軟體。例如,用桌面客戶端來收發郵件,但也可以直接用瀏覽器登陸gmail或者QQ郵箱,直接使用網頁版的軟體來使用。總之就是使用網頁版代替本地軟體。
Mobile Web App就是在手機端打開的Web App。例如Gmail的移動端軟體

3、目前,移動客戶端的開發主要包括三種類型:
Native App(原生APP):也就是完全使用移動設備系統語言寫的客戶端。iOS系統就是使用Objective-C語言來編寫本地應用,也可以使用蘋果於2014年蘋果開發者大會上發布的SWIFT語言;Android平台就是使用Java語言來開發。原生APP就是從界面到交互都是使用官方標准語言來編寫,效率和穩定性都是最好的,但欠缺靈活性。
Web App:這個就是在移動瀏覽器里打開的,使用Web前端開發語言HTML CSS JavaScript來開發的,基本上就是個網頁,
Hybrid App:主要使用HTML5實現。一般使用Native語言實現一個容器,然後使用HTML CSS JS來實現用戶界面和交互。這樣方式既克服了Web App容器暴露偏底層的介面這樣的問題,同時比起原生的開發靈活性要高。這樣就更新可以更方便快捷,也不依賴於市場。例如,豌豆莢其實是個PC端的hybrid app 。
對於以上三種開發方式的比較和分析搜索引擎裡面有太多的內容了,這里也就不再贅述了。

4、移動端網頁布局方法與pc的差異。
主要是css方面,外加如何做到同一url,不同客戶端展現不一致的做法,俗稱pc和mobile都兼容。還有會說一下rem的相關用法和一段比較經典的rem.js

最後總結一下:
其實這兩者最顯著的區別就是,web app是不依賴於具體的設備的,通用性較強,只要手機或PC有相應內核的瀏覽器就基本OK。而mobile的app則依賴於具體的設備,一旦更換設備,需要重新下載才能繼續使用。
移動前端開發 主要來說的是Native Client的開發Android為Java,iOS為Objective-C,然後么HTML5應用號稱跨平台其實差異很大。
Web前端開發么基本上就是HTML JavaScript CSS,不過有些人把Servelt/JSP, PHP,Ruby,Python,C#之類的只要關繫到頁面的也叫做Web前端開發。
app是應用,每個操作系統有專門的開發工具和語言
web是網頁,使用html+css+js,有工具可以生成轉化為app,不過效果一般