-
1 # 冰糖加水
-
2 # zone346
我個人認為,短期內還是不會的。因為 h5 的使用者體驗還是相對比較差的,如果網路差的話載入時間會很長,沒有原生那麼流暢,這個問題在 BAT 系的一些 APP 上也會出現。而且在底層硬體呼叫方面原生 Android 還是王道,而 h5 就顯得捉襟見肘了。不過對於 h5 來說,快速開發訊息展示類的 APP 還是不錯的選擇,可以做到快速迭代和線上修復一些 bug 。
-
3 # zone775
先亮出我的觀點吧,不會。
首先,Android 有個強大的背景,谷歌爸爸,谷歌絕對不會讓自己的親兒子沒落,甚至被替代。當下,人工智慧盛行,手機將會是人工智慧的主要載體與使用場景之一,而且 TensorFlow Lite 已經可以在 Android 上跑了。人工智慧與完美結合也是近幾年會發生的事。
其次,原生 Android 互動流暢,這也是 h5 無法無法做到的。在一些互動性強的使用場景,h5 就顯得力不從心了。當然 h5 也不是一無是處,h5 之所以也受到青睞,主要是它可以快速迭代,開發相對簡單,一套程式碼匹配雙端(Android 與 iOS)。
最後,物聯網時代的到來,也為 Android 提供了使用場景,很多嵌入式的系統,也是 Android 施展拳腳的場地,例如:車載系統阿,智慧家居阿,這個領域是 h5 暫時無法與 Android 相提並論的地方。
最後的最後,我是 Android 開發者,我就覺得不會,就是這麼任性。
-
4 # 秋楓81075
這個問題好幾年前就有人這麼說了,幾年過去了,現在的Android還是活的好好的,個人認為,h5只能作為原生開發的一個補充,並不會被取代,首先從效能上來看,h5和原生開發相比,做同樣的一個功能,h5需要載入的資料量比原生的多很多,而且h5有時用起來並不流暢。其次雖然h5能快速開發和動態更新,這是h5的優點,正好彌補了原生開發的一些缺陷,但是h5的缺點也明顯,只能做一些頁面顯示的功能,一些跟系統相關的api還是沒法做,說到這裡可能有人會說:現在有很多框架,透過這些框架做出來app能透過h5呼叫系統的功能,但是這樣的話,就會造成編譯出來的包非常大,集成了一大堆沒用的東西,比如說我只想要個香蕉,但是你確給我一個猩猩,手裡拿著個香蕉,後面還跟著一片森林,森林裡還有各種動物……
-
5 # 業餘的程式設計師
不存在的!
我們就先來說說 H5 開發的優勢(以前上課老師說過,(認真臉)要表達一個觀點的時候可以使用先抑後揚的手法,意思就是說:我先讓你一步,我選擇後攻,因為後宮佳麗三千。。。)
H5 開發的優勢跨平臺。一次編寫,可在 Android 和 IOS 兩端同時執行。雖然說一次編寫可在不同平臺執行,但是相容性可就苦了前端開發小哥了。。。。。。。
熱更新。新增功能,修復 BUG ,使用者不需要更新 APP。有了熱更新,確實可以快速修復 BUG 了,但是,可能半夜被叫起來改 BUG,也還是苦了前端開發小哥了,。。。。。
開發快速。JS 相對於 Java 和 OC 確實開發速度上會稍微快一點,新功能要快速上線,又要苦了前端開發小哥了。。。。。
總結:什麼都好,就是苦了前端開發小哥。。。。。。
H5 的優勢已經說清楚了,下面再說一下 Android 原生開發相對 H5 開發 的優勢,你來我往嘛。
Android 原生開發的優勢效能高,介面流暢。原生開發由於使用本地語言開發,效率肯定要比用 H5 開發的介面效能高,因為 H5 頁面畢竟還要用 WebView (相當於瀏覽器)來載入,就相當於中間多了一個翻譯,效率不高。有人說使用 RN 效率可以跟原生媲美,我不知道 RN 在不在這個討論範圍,那也說一下吧。其實 RN 也是透過框架轉化成 原生元件 ,中間不用翻譯官了,但是這種轉化為了適應多種場景,往往會封裝很多東西,和做更多的相容性處理,效能也不比 原生開發 ,只是比 單純的 H5 效能好。
支援離線功能,快取處理。由於 H5 是載入在 WebView 裡面的對於網路是比較敏感的,在網路較差或者無網路的情況下載入不出來,使用者體驗差。(如果你要是說,把整個頁面都快取下載,那我也沒辦法)還有就是做一些快取功能的時候,H5 就顯得乏力了。
與其他 APP 或者系統互動更好。當需要和其他 APP 和系統互動的時候,H5 就基本上 GG 了。
H5 需要依賴原生。就如第一點說的,H5 說到底是執行在 WebView 裡面的,而瀏覽器又是哪裡來的呢?肯定是原生給你的啊!而且還要給你很多許可權和配置,否則,H5 什麼都幹不了。
總結:其實根本就不存在誰取代誰的問題,就像現在的經濟全球化一樣,你需要我,我需要你,我們手拉手,一起走,互助互補才是發展的硬道理,一起實現中華的偉大復興!呃呃呃,走錯片場了。。。。
H5 有 熱更新,跨平臺,快速開發的優點,原生開發有效能高,流暢,離線快取,與其他 APP 互動良好等強項,為何不結合起來呢?
在實際的應用中,往往是 原生開發 和 H5 相結合,優勢互補,給使用者帶來良好的體驗才是我們的目的。
開發2年後的薪資在北上廣深,兩年基本上有 1w 或者 1w+。二三線城市,也有 7、8k 吧,具體要看個人能力,能力強的 2w 也是有可能的。
是否轉方向這個也需要看你個人的志願,一般到了兩三年,都會進入一個瓶頸期,技術很難有較大的提升,但是熬過這個時期,你就會看到不同的天空。
或者,也可以嘗試轉方向,有了兩年的開發經驗,對於其他的語言或者開發方式的學習都會很快,畢竟很多計算機的東西是有共性的,但是,你也需要從頭開始。
書籍《Android開發藝術探索》
《深入理解Android核心設計思想》
《Android進階之光》
上面幾本書都是不錯的。
網站簡書,地址 :https://www.jianshu.com
掘金,地址:https://juejin.im
stackoverflow,地址:https://stackoverflow.com
大部分的問題都能在上面找到答案。
還有一個是 鴻洋 大神 自己搞的網站 ,玩Android ,是專門的 Android 技術網站
地址:http://wanandroid.com
後期學習兩年工作經驗之後的學習,我覺得主要是從 擴充套件廣度,挖掘深度 兩個方面入手。
鴻洋
郭霖
楊守樂
code 小生
Android 技術雜貨鋪
深度:這一塊,只能靠自己平時多留意一些知識點的共同性,多聯絡,多總結。看一些優秀的開源框架的原始碼和系統的部分原始碼,多思考其中的設計和實現思路。
-
6 # IMTechLee
H5是否會代替Android或IOS原生開發,這個問題隨著前端技術的發展一直被提出來,但是一直到現在,國內的大公司如BAT,或者國外的公司Google,FaceBook等都沒有出現應用開發是純H5實現的,再加之現在市場上Android或者IOS的工程師職位並沒有減少,反而還有很多公司招不到移動開發工程師的情況,所以,我這裡得出一個結論:Android開發暫時還不會被H5代替。
可能題主看到我加了一個暫時,之所以加上暫時,我個人認為因為技術的發展日新月異,或許兩三年後有相當完善的H5替代移動開發的解決方案出現也說不定,這裡所說的相當完善意味著前端實現的效果與原生實現效果已無明顯區別(在效能損耗和互動流暢性上都不相上下),因為當下已經有很多成熟的移動端跨平臺方案:如Google的Flutter,FaceBook的ReactNative,Alibaba的Weex等等。隨著前端技術的發展,可能5年十年後確實沒有了純原生開發的需求了。
針對題主的問題,我覺得題主真正關心的是Android這個行業是否能一直吃到老,如果不能該怎麼去學習以及如何去規劃職業的發展。就我個人經驗而言,我覺得Android不可能一直存在,在技術行業也沒有說一門技術吃到老的道理,早幾年Oracle在大型企業中一直使用著,但是現在連亞馬遜都宣佈將會徹底移除Oracle資料庫轉而使用其他資料庫代替,這裡面可能有技術原因也可能有商業原因,這不是我們去深究的,但是可以得出一個結論是,技術永遠是向前發展的,技術方向也不是固定的,但也是萬變不離其宗,一個好的從業者要學會去了解和學習這個行業新的技術才能保證一個自己職業或者技術能力上持久的生命力。
個人建議Android學習路徑
初級: https://developer.android.com/ 這是必須要上的網站,查api,看相關的api介紹,市面上大部門書籍裡面的知識都是這上面的
中級:學習一些api內部的原理性知識,推薦一本書<<Android開發藝術探索>>
高階: 學習Android Framework的知識,瞭解一下系統原始碼,如羅昇陽《Android系統原始碼情景分析》
無級:越到後面可能就沒有書籍或者教程可以教你,到這裡你會自主的去了解新的技術,新的知識,對架構,設計等等都會有自己的見解
-
7 # 騎士若不是
代替算不上,但是衝擊很大到是真的。
比較明顯的就是各大招聘平臺對於android開發的需求量和H5開發的需求量的此消彼長。
技術服務於需求。
H5的優勢在於跨平臺。伴隨著H5效能的提升,現在的處理速度和原生的處理幾乎無差。又因為開發成本低,開發週期短,越來越被更多的公司和開發者接受。
伴隨著H5可以做更多的事情,滿足更多的需要,H5的走勢在我看來會越來越火熱。
但是離代替還有些距離。
現在很多的app,還是會要求使用原生進行開發。譬如對安全性要求比較高的,或是帶有自己的一些演算法庫實現的。
-
8 # Xia焱
從APP 應用方面來說,H5取代Android原生我認為是極有可能的,比如現在的混合開發RN,在未來前端如果解決流暢性的問題,在應用方面是很有可能取代Android的原生。
從車載系統到智慧家居 這一塊我認為取代Android是不存在的。
-
9 # 海那邊
首先可以肯定的說Android開發不會被H5代替
它們兩者是共生關係,誰也取代不了誰,之所以有你說的這種感覺是因為在實際專案中業務需求方往往希望可以快速迭代開發某個功能並上線,快到什麼程度呢?巴不得今天上午提個需求,下午就上線最好。那這個時候很多公司就考慮使用H5來實現,因為這樣不需要稽核,做好了直接扔伺服器上使用者就可以用了,所以H5才這麼受追捧。
為什麼不會被替代?
上面提到的情景是真實專案的真實需求決定的,這樣做業務需求方是高興了,但是使用者可能就不爽了,不爽的主要原因是H5的體驗效果太差,最主要的表現就是用起來卡頓。比如一些動畫效果、比如頁面切換效果、比如進入頁面後資料載入效果等等,H5雖然也可以實現或者模擬類似的效果,但就是達不到原生應用那種絲滑般體驗效果。另外一些對硬體裝置等讀寫也必須用原生來實現。所以原生開發是不可能被替代的。
入門後後期發展方向
不得不承認單純的Android開發應用面其實是比較窄的。發展方向無外乎深入系統開發、應用開發這兩個大的方向。
系統開發比如修改Android原始碼,定製作業系統,為手機廠商定製開發等,這個要求就比較高了,需要深入到作業系統原理、編譯原理、裝置驅動、記憶體管理等等。
應用開發相對來說會跟簡單一些,更多的是一些業務需求及UI上的開發,說直白點就是直接開發使用者能用上並且透過視覺效果直觀的看到你做的東西,比如開發社交、遊戲、影音娛樂、工具效率等等APP。
資源
最好的資料肯定是官方的文件了,然後一些論壇,或者問答網站
stackoverflow.com
都是很好的學習資源。也可以加入一些群組、線上影片課程進行學習等等。總之,只要你精心專研總會得到回報的。
-
10 # 田先森文案
我的看法和理由
我認為android開發並不會被H5取代。
因為android app依賴於作業系統,很多效果和互動體驗都很好。
使用H5可以進行快速開發、可以進行快速迭代,並且節約成本。實際上體驗稍微差些。
從長遠的角度來看,主要的部分還是會使用android進行開發,結合H5輔助開發。
雖然現在很多的APP都使用H5開發,但是主流的還是使用Android原生的和H5結合進行開發的。尤其是主要的部分必然使用原生的來開發。
有些需要進行與andorid系統底層進行互動的時候,就必然使用Android原生,而不是使用H5。
現在做android最好也學一點H5的知識。對自己的職業生涯都是有幫助的。加油。
結語
-
11 # 嘟嘟黑科技
不管是Android還是iOS開發,目前幾年來看,都不會被H5替代。而且Android和iOS的程式設計師,高階的依然吃香,初級的供過於求。不太建議行外人士進入Android或iOS開發中來。
Android被H5代替,是個幻覺如果你只會Android端類似於新聞客戶端的開發,那麼確實會有很強烈的H5能替代Android的感覺。因為新聞客戶端只需要瀏覽,H5夠用了,載入HTML很方便,不需要Native程式碼更新,上線簡單,一套程式碼執行Android和iOS,成本低廉。
只要你開發Android程式2年起,你會發現H5的開發很受限,經常需要和原生程式碼打交道!
Android開發2年以上薪資及發展薪資情況看個人能力情況以及所處公司的城市平均工資情況。比如在一線北京深圳等地,2年以上的Android普遍月薪1萬+,能力強的能獨當一面或者升級專案經理,更高。在普通的城市比如西安、武漢等地,2年Android也可以拿到7-8K的樣子。
後期如何發展?2年的Android開發已經能夠獨立開發一些APP,解決問題的能力也還可以。那麼可以向中高階工程師發展,在Android&iOS開發領域,高階工程師一直都是稀缺的!
如何成為高階客戶端(Android&iOS)工程師?行業內對於高階的定義沒有統一的規範,大概可以定義為獨當一面的能力,解決問題的能力以及挑戰技術瓶頸和持續學習的能力。通俗點講,即可以獨立完成開發工作,解決難題,能快速學會新的技術並應用於當前的專案中,挑戰未知的坑。
如何學習?可以尋找到業內公認的大神的部落格進行關注學習,並嘗試實踐;對於平時自己寫的專案儘量追求完美,並嘗試寫部落格記錄,抽象出封裝好的程式碼進行Git管理。
H5有一個完全不能媲美Android或iOS原生的能力,就是2017年被炒得火熱的AI能力,Google在2018年的開發者大會上已經公開了TensorFlow Lite的版本,後面基於TensorFlow Lite的移動端機器學習開發也會慢慢火起來。
H5開發可以作為你開發Android或者iOS外的一種能力。Facebook的Reac-Native比較火,但其實是需要原生開發能力的,不然只會H5開發能力在最終的產品上線中會遇到各種各樣的問題。
-
12 # 駭客之家
分享駭客技術,程式設計知識,科技資訊
android開發被HTML5代替幾乎是不可能的,從HTML5正式標準出來之前,網上就一直有聲音說HTML5最終會替代原生開發(Android&iOS),一直到現在HTML5標準釋出這幾年來,HTML5框架倒是層出不窮,瀏覽器核心修改了一版又一版,效能提升了一個又一個檔次,最終一執行緒序員的感覺依然是原生和HTML5混合開發的結論。
很多HTML5框架聲稱和原生體驗差不多,但是實際上還是有差距的。
有兩個主要問題:
1.效能不如原生開發效果好。
2.有些效果和功能實現不了,必須用原生開發。
效能問題如支付寶用了較多的HTML5來開發,在低配手機上是比較卡的,用原生開發的應用就沒有那麼卡。採用HTML5技術的優點是更新方便,但是對效能要求高,不經常變動的頁面還是採用原生開發比較好。
android系統是由Google開發的,Google每年都會發布新的版本,帶來一些新的特性,最新版本android 9.0 也要在今年上半年釋出了。android系統本身雖然存在一些問題,但是Google也在不斷的完善android系統。如:之前推出的Material Design,對android UI設計有了很大的改善,很大幅度的提升了使用者體驗。Material Design的UI效果和動畫互動不是HTML5所能替代的。這些還是用原生開發最好。
總結:
android開發被HTML5代替是不可能的,大的趨勢是採用原生和HTML5混合開發。
-
13 # upKevin
反問:手機能取代電腦?
android和html5的設定應該是互相輔助的!誠然的說,html5的推出,確實在世界範圍內過得很不錯的反響,答者本人也同贊!
因為切身經歷過多次混合開發(android+ios+html5),所以還是有實際發言權的。h5確實做到了一端多用,使得androidApp和iosApp可共用一套頁面,來處理業務邏輯!看似有效提高了開發效率,實際上並沒有… 因為用html5處理業務邏輯是件比較困難的實情!用者自明
且目前形勢下,h5很多業務邏輯的實現、展現需要藉助原生系統、軟體才可以,所以如開始所說,相互輔助!都是自家兄弟!
回覆列表
目前在做 Android 端開發,從做 Android 開發開始就一直有人說 Android 原生會被 H5 替代,但是我目前還沒發現 H5 開發能完全勝過原生開發的地方,一般會進行混合開發。
近幾年培訓機構培訓每年都會培訓出來一大批初級工程師,導致市場初級工程師供大於求,不想14年之前那麼缺,當然高階的現在每個公司都缺。應屆生可以下考慮校招。
學習建議看 Android 官方文件,網站可以逛逛 GitHub 。