91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

移動開發還有未來嗎?

發布時間:2020-06-27 15:36:08 來源:網絡 閱讀:314 作者:十年開發 欄目:移動開發

移動開發還有未來嗎?
作為一名資深的Android 開發者。從2017年下半年開始,就聽到各種言論,例如“Android 開發涼涼”、“移動端開發沒出路了趕緊轉行”、“要被XXX 替代了” 等等,充分反映了大家焦慮的心態。

移動端開發真的要涼涼了嗎?也經常有粉絲私信我,在群里聊起這個話題,今天我決定寫下自己的一些看法,供大家參考。

移動端開發的現狀

移動端開發的現狀是什么?我們可以從自己寫的代碼中尋找線索。以Android 為例,很多大公司的移動端開發者寫的最多的代碼是這樣的:

LinearLayout layout = new LinearLayout;

layout.addView(xxxx);

...

或者也許是這樣的:

public class XXXView extends RelativeLayout {

public XXXView(Context context) {

this(context, null);

}

public XXXView(Context context,

@Nullable AttributeSet attrs) {

this(context, attrs, 0);

}

public XXXView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

initView;

}

private void initView {

LayoutInflater.from(getContext).inflate(R.layout.xxxlayout, this, true);

...

}

public void setData(XXX xxx) {

...

}

又或者是對著xml 標簽做出各種騷操作——UI 開發。

沒錯,如今移動端技術棧已經愈發趨于成熟完善,對業務來說,就連大公司的工程師也是在做UI 的展示邏輯。大公司產品相對比較完善,后端管控了大部分業務邏輯,客戶端做的就是取到后端的數據,然后通過setText(xxx)展示出來,然后通過接口返回的Boolean 值來判斷View 顯示還是隱藏。

我聽到很多人說,工作幾年感覺自己沒什么提升,天天都在堆代碼,隨便找個剛畢業的學生也能分分鐘替代自己,于是就很焦慮。那對于工作幾年的人來說,要想盡可能不讓自己過早的被替代、被淘汰,就需要選一個有潛力的有前景的領域深挖。
移動開發還有未來嗎?

那么移動端開發的未來在哪里?

動態化

在聊動態化之前,我們先聊聊Android 的插件化。

前兩年,插件化火起來了。為什么火?因為可以實現Android 應用不發版本的同時動態上線需求,同時熱修復還可以動態的修復線上出現的bug。但是插件化存在最大的問題是什么呢?兼容性。Android 機型太多太復雜,插件化框架難免會涉及到系統API 的hook,兼容性問題就出現了,開發者會看到莫名其妙的錯誤上報上來卻束手無策。

隨著Android 版本的迭代更新,插件化這條路越來越不好走,Android P給了開發者們一個信號:別隨便hook 系統API 了,Google 要開始收口整頓了。插件化這條路注定無法一直走下去,于是開發者們另辟蹊徑。

最開始是繼續用H5 混合開發的方式,例如老牌Hybrid 框架Cordova,但是性能不盡人意。這時候Facebook 開發出了一個跨時代的框架:React-Native。它提供了一個全新的思路:通過jscore 進行js 解析,使用原生的View 進行渲染,提供橋機制調用原生的能力。

React-Native 是第一個真正的高性能的動態化框架,它的出現讓Web 前端和客戶端的界限迅速變得模糊。隨之而來的是各大公司的自研框架,例如阿里巴巴的Weex 和美團點評的Picasso 框架。React-Native 只提供了Android 和iOS 的雙端支持,Weex 擴展了思路,提供的Web 端的支持,一個是React 語法糖,一個是Vue 語法糖。Picasso 又不一樣,Picasso 是純TS,DSL 語法樹,寫法實在太簡單,又準備在三端的基礎上提供小程序端的支持。

2018年GMTC 大會上,Flutter 發布了第一個預覽版,阿里巴巴閑魚團隊已經在閑魚APP 中使用了Flutter 技術。Flutter四年前開始開發,直到去年才有第一個beta 版本。通過Dart 編寫APP,然后編譯成機器碼同時運行在Android 和iOS 上,做到了原生跨平臺,Hot Reload,性能很不錯,可定制性也非常強,連封裝的系統層Dart 代碼都能改。提供了Web、iOS、Android、React-Native 開發者學習Flutter 的入門文檔,也是去年移動端少數的幾個比較火的熱點之一。它的思路不同于React-Native,是一種全新的思路,目前我對Flutter 持樂觀態度。

支付寶的動態方式不同于以上所有,它是完全基于自己的H5 容器進行Hybrid 開發,不過由于內核也是自研的(UC 內核),所以性能各方面都比原生的WebView 好,支付寶里非常多的頁面都是基于H5 容器開發的,包括支付寶小程序,這也算是一種動態化的方式吧,只不過研發成本太高:自研WebView 內核。

目前來看,動態化的三駕馬車已經初步形成:

  • React-Native 為首的jscore(v8)橋通信動態化方案;

  • 自研WebView 內核,H5 容器化方案;

  • Flutter(我覺得Flutter 正在發力爭取第三駕馬車的位置)。

動態化改變了移動開發的方式,模糊了Web 前端和客戶端的界限,讓越來越多的人認識了什么是“大前端”。如果有經驗的開發者們對這個方向進行深入研究,五年內,應該不會被淘汰了(笑)。

移動端機器學習

毫無疑問,移動端機器學習從2017年年底就開始火起來了,TensorFlow 也推出了移動端框架,很多應用都開始在移動端部署機器學習模型,例如相機類應用(FaceU)、電商類應用(唯品會)等,包括離線的機器學習。

如果深挖這個方向,我覺得十年內不會被淘汰。當然了,難度也不小。
移動開發還有未來嗎?

AR & VR

從支付寶的AR 搶紅包、QQ 的AR 踢球等玩法被越來越多的人體驗,AR 走進了人們的視野。對于廣告引流玩法來說,AR 無疑是能帶來巨大收益的。

此前大眾點評親子上線了“親子奇妙日” 活動,就是基于大頭兒子小頭爸爸的AR 玩法。那么開發AR 引擎的移動開發者自然成了香餑餑,目前AR 主要應用的領域還是廣告變現,不過很多公司也找到了AR 的一些落地場景,比如賣家具的電商公司可以通過AR 技術讓用戶在購買之前就能看到實物在自己家里到底能不能放得下,這能極大的提升用戶的購買體驗。

如果是研究OpenGL、計算機圖形學的移動開發者,可以往AR 引擎開發方向發展,非常有前景。

VR 同理。

移動端音視頻

這個領域最火的產品當之無愧是抖音了,就連我自己都天天刷抖音。除了抖音,還有各大視頻應用,都需要音視頻開發領域的專業開發人員,圖像處理、濾鏡、裁剪等等騷操作都是需要專業的音視頻開發知識才能做出來的,研究OpenGL、計算機圖形學的移動開發者在這個領域也有很大的優勢。

據我所知,這方面人才現在缺口依然很大,各大公司求賢若渴,如果在這方面有經驗并且愿意深挖的同學,自然是各大公司的香餑餑啦。

移動端區塊鏈

區塊鏈,2018年最火的技術沒有之一。

從人人都在談比特幣到人人都在談區塊鏈,可以看出區塊鏈技術已經被越來越多人熟知。無數區塊鏈公司如雨后春筍般的冒出,連大公司們也按捺不住開始涉足區塊鏈領域。對于移動端來說,區塊鏈應用最多的還是數字錢包。但是未來移動端區塊鏈一定會有更多的落地應用,例如Status。區塊鏈去年大火,移動端的區塊鏈應用還沒開始火,但是也不遠了。

如果有移動開發同學對區塊鏈方向感興趣的,可以開始研究起來了。如果要學習智能合約開發的同學,我推薦一個非常好的網站:Cryptozombies,絕對是入門solidity 智能合約開發的精品。

目前移動端的區塊鏈人才還不多,各大公司也沒有在招,但是兩三年內,應該就會爆發了,現在還在探索落地場景的階段,也給了對區塊鏈技術感興趣的移動開發同學學習的時間。改變世界的技術了解一下?

移動基礎框架

UI 未來可能都會被動態化技術接管,但是移動基礎框架不會。但凡要開發一個APP,網絡請求、日志處理、數據庫處理、緩存、Push 等框架都是不可或缺的,這部分和UI 關系不大,又是APP 的命脈所在。

只要APP 存在,基礎框架就存在。有同學可能要說了,我用okhttp 分分鐘寫一個網絡請求出來,沒錯,這是okhttp 已經幫我們做好了很多事。什么是框架?用一句話總結,我的理解就是:

一種可以讓能力差別較大的開發者寫出功能、性能差不多的代碼的庫。

不知道大家能不能理解這種說法,我舉個例子:如果使用HttpUrlConnection 來寫網絡請求,可能不同能力的開發者寫出來的代碼不一樣,網絡請求的性能和效果也不一樣。但是如果使用了okhttp 庫,只要看一看okhttp 的文檔,新手和老手寫出來的代碼估計差不多,性能和效果也差不多,這就是框架做出的最大的貢獻。

在這些框架的基礎上,P5 寫的代碼可能和P6、P7 區別不會多大。然而,這些框架總要有人開發,開源的框架往往不能滿足公司業務的需求,需要自研基礎框架。尤其是BAT、TMD 六家公司,移動端框架有大部分都是自研的,越來越多的公司也開始自研,所以如果是在這個方向有經驗的移動開發者,在APP 被淘汰之前,應該都不會被淘汰。這方面對移動開發者的知識深度和廣度都要求相對較高,需要沉淀和學習。

Android 工具類應用

這個就比較特殊了,這類應用我舉個例子:360 手機助手。對于Android 用戶來說,清理內存、清理垃圾等已經成為了一種習慣,這方面應用的開發自然是不可少的,而且非常考驗對Android 知識的深度,你們懂得。

結語

上面七個移動端開發方向,是我總結出來的有潛力有前景的方向,各位移動開發同學可以參考,可以選擇一個方向進行深挖,相信一定會有收獲。

嘴上焦慮是沒有意義的,最好的辦法就是付出行動。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

伊金霍洛旗| 黄龙县| 彰化市| 临泉县| 栾川县| 九寨沟县| 涟源市| 七台河市| 靖州| 龙海市| 都兰县| 鄂托克前旗| 大姚县| 巴里| 肥西县| 六枝特区| 文化| 盐山县| 修水县| 梓潼县| 阿合奇县| 东宁县| 宜兴市| 蓝山县| 垫江县| 阿坝县| 辉县市| 平罗县| 长武县| 邵东县| 通山县| 鄂托克前旗| 六安市| 梁河县| 九江市| 三原县| 阿拉善盟| 龙里县| 大港区| 竹山县| 西城区|