IT寒冬之下,程式員這個職業不再像以往那麼吃香,尤其是APP開發的門檻越來越高,使得安卓程式員不得不求變,如果不在技術上及時轉型提高,逆水行舟未來不可期呀。 有鑒於此,博主整理了幾個可供安卓程式員的技術轉型發展方向,供大家參考。 1、繼續深耕Android的應用開發 谷歌爸爸是安卓的爹,要想繼續吃 ...
IT寒冬之下,程式員這個職業不再像以往那麼吃香,尤其是APP開發的門檻越來越高,使得安卓程式員不得不求變,如果不在技術上及時轉型提高,逆水行舟未來不可期呀。
有鑒於此,博主整理了幾個可供安卓程式員的技術轉型發展方向,供大家參考。
1、繼續深耕Android的應用開發
谷歌爸爸是安卓的爹,要想繼續吃安卓這口飯,就要抱緊谷歌爸爸的大腿。
爸爸每年都對Android和AndroidStudio升級換代,咱們馬上研究Android1x的新特性,鑽研AndroidStudio的新功能。
爸爸說要把APP的開發語言從Java換成Kotlin,咱們馬上學習Kotlin編程,什麼KTX擴展庫咬牙啃下。
爸爸推出了Jetpack套件意圖一統安卓常用組件庫,咱們馬上引入Jetpack的諸多工具包,學他個天昏地暗。
爸爸推出了Flutter框架準備打造無所不能的跨端開發環境,咱們馬上絞盡腦汁開乾Flutter,連同Dart語言一起乾。
爸爸推出了Compose項目要重構安卓界面控制項,咱們馬上熬夜通宵拿下Compose,只為體驗那般絲滑的吹噓快感。
總之,咱們唯谷歌爸爸馬首是瞻,只要爸爸搞出什麼新東西,咱們赴湯蹈火在所不辭,務必要第一時間嘗鮮。
嗯,學習APP的Kotlin編程推薦這本書《Kotlin從零到精通Android開發》。學習Jetpack套件與最新的Android開發推薦這本書《Android Studio開發實戰:從零基礎到App上線(第3版)》,該書基於Android12和Android Studio Dolphin,介紹了包含DataStore、Room、RecyclerView、ViewPager2、WorkManager、Glide、CameraX、ExoPlayer等等在內的Jetpack套件。
2、深入挖掘Android的底層框架
首先下載谷歌爸爸提供的AOSP源碼,國內各家手機廠商(遙遙領先除外)的安卓系統統統基於AOSP,甭管他什麼砰的一聲OS,別管他什麼摸的一下OS,只要看它開機畫面有沒有“Powered by Android”,有這個開機文字就是谷歌爸爸賞飯吃。
然後編譯調試下載了的AOSP源碼,認真閱讀數億行的AOSP源碼,在這個時間就是金錢的年代,要是啃完這浩如煙海的AOSP源碼,還沒有兩鬢銀絲,也沒有風華絕頂,那您肯定是萬里挑一的天才!
一旦學成安卓的底層框架,那就如虎添翼,什麼手機OS、平板OS、車機OS、智能電視OS等等統統拿下,馬上練就“人-車-家(閉環)”的蓋世神功。
3、豎向鑽研轉型做Java後端開發
眼見APP開發的蛋糕越來越小,安卓程式員總想跳出圍城外面看看。雖然Java需求同樣不振,但是好在盤子大,機會仍然比APP開發多。
正好APP開發傳統使用Java編程,安卓程式員轉向Java後端無需學習新語言。可是這些年Java也在不斷迭代,光光大版本就有Java8、Java11、Java17三個,這幾個大版本的眾多新特性足夠讓安卓程式員喝幾壺了的。
不過後端開發僅僅也用Java而已,開發環境和開發框架與安卓相比截然不同。Java後端的開發環境採用IEDA,開發框架採用Springboot+MyBatis,更大型的框架要用SpringCloud。什麼Eclipse、什麼SSH早就落伍了,趕緊扔掉,現在都是202x年了。
嗯,學習後端的Java編程推薦這本書《好好學Java:從零基礎到項目實戰》,該書講述了Java8和Java11的新特性,且基於IDEA開發環境講解,同時介紹了Java程式如何操作MySQL資料庫。
4、橫向拓展轉型做大前端開發
習慣了做APP界面開發,安卓程式員對其他前端技術比如H5也屢有涉獵,因為都是控制項來控制項去,無需關心後端紛繁複雜的業務邏輯,可以節省不少腦細胞。
Web前端的編程語言首選JavaScript,簡稱JS,前端的開發引擎主要有Node.js和Vue.js,開發環境採用VS Code,另外別忘了Web網頁的標記語言HTML5。
除了Web前端之外,各大公司還推出了自己的前端開發框架,比如騰訊的微信小程式、華為的鴻蒙APP等等。
微信小程式採用TypeScript編程,TypeScript基於JavaScript加以擴展,簡稱TS。小程式有專門的開發環境叫做微信開發者工具。
鴻蒙APP採用ArkTS編程,ArkTS是HarmonyOS應用開發語言,基於TypeScript加以擴展。鴻蒙APP有專門的開發環境叫做DevEco Studio。
5、邁開大步轉型做C/C++底層開發
移動互聯網已成昨日黃花,產業互聯網才是八九點鐘的朝陽。看看TIOBE編程語言排行榜,Java語言早已落後於C/C++,甚至Java的熱度只有C/C++的一半不到。
然而安卓程式員跨界直接轉C/C++頗有難度,為了更加平滑地轉型C/C++編程,可以考慮從音視頻開發著手。
正好Android開發有個重要分支叫做Android音視頻,涉及到WebRTC、FFmpeg等開源框架。其中WebRTC主要用於視頻通話,而FFmpeg主要用於音視頻播放、音視頻編輯等等。
谷歌爸爸提供了APP專用的WebRTC庫,直接引入App工程就行。而FFmpeg採用C語言編寫,需要通過NDK才能集成到App工程。《FFmpeg開發實戰:從零基礎到短視頻上線》一書的第12章詳細介紹瞭如何給App工程集成FFmpeg庫,可供參考。
把FFmpeg學得差不多了,再來研究直播系統的相關技術,比如流媒體伺服器SRS、ZLMediaKit,又如電腦端的直播推流工具OBS Studio,手機端的直播推流工具RTMP Streamer、SRT Streamer等等,有關直播系統的詳細技術可參考系列文章《FFmpeg開發筆記全目錄(FFmpeg開發實戰詳解,含直播系統的搭建過程)》。
在學習研究FFmpeg等開源框架的時候,相信您已經逐漸掌握了C/C++編程,那麼加把勁用上C++的桌面開發環境Qt,產業互聯網正在向您招手啦。
嗯,學習App的WebRTC編程推薦這本書《Android Studio開發實戰:從零基礎到App上線(第3版)》,該書第20章詳細介紹了WebRTC的服務端搭建和客戶端集成過程,並演示了實戰項目“仿微信的視頻通話”。
嗯,學習FFmpeg編程技術推薦這本書《FFmpeg開發實戰:從零基礎到短視頻上線》,該書詳細介紹瞭如何在Windows系統和Linux系統分別搭建FFmpeg的開發環境,第11章還介紹瞭如何通過Qt+FFmpeg開發桌面程式。
除了上面五個發展方向之外,還可以考慮Python人工智慧開發,不過這塊與安卓開發隔得太遠,就不做深入介紹啦。