FFmpeg開發筆記(四十七)寒冬下安卓程式設計師的幾個技術轉型發展方向

aqi00發表於2024-08-17
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人工智慧開發,不過這塊與安卓開發隔得太遠,就不做深入介紹啦。

相關文章