下面探討下安卓程式設計師還能在哪些方面進階修煉,主要有以下三個方向。
一、縱向鑽研谷歌爸爸推出的最新技術
谷歌就是安卓的爹,只要谷歌不倒,安卓開發就不會倒。今年的谷歌開發者大會都放到北京舉辦了,可見爸爸真的非常疼咱們愛咱們。
爸爸每段時間就推出新款Android的預覽版、測試版和穩定版,各種新特性就像擠牙膏似的總也擠不完,咱們就慢慢吮吸總也吸不完。
爸爸每段時間就推出新款Android Studio的Alpha版、Beta版、Canary版,然後還有Release版,這些ABC加上R版本,如此順口方便咱們細嚼慢嚥。
爸爸推出了Kotlin語言,誰讓當年採用Java語言的爸爸吃了官司呢?既然爸爸吃了Java官司,那麼咱們趕緊把Kotlin囫圇吞下去。
爸爸推出了Flutter跨平臺框架,即使爸爸裁了FuchsiaOS團隊,裁了Python團隊,連Go團隊的技術負責人都一腳踢飛,但仍然保留著Flutter和Dart團隊,所以咱們要放下顧慮,繼續無腦向Flutter衝呀。
爸爸推出了Jetpack和Compose套件,這些年來Jetpack和Compose不斷推陳出新,可見爸爸唯恐咱們餓了沒東西啃,所以咱們年年啃月月啃。
該方向的學習難度係數為★★★,保飯碗指數為★★。理由:爸爸的App開發技術都是公開的,而且簡單易學門檻低。
嗯,學習Jetpack套件與最新的Android開發推薦這本書《Android Studio開發實戰:從零基礎到App上線(第3版)》,該書基於Android12和Android Studio Dolphin,介紹了包含DataStore、Room、RecyclerView、ViewPager2、WorkManager、Glide、CameraX、ExoPlayer等等在內的Jetpack套件。
二、橫向擴充安卓開發的新功能新應用
除了谷歌爸爸推出的元件庫,還有其他專業領域的第三方庫,能夠實現與眾不同的新功能。
比如初級安卓只會呼叫HTTP的POST介面,但是物聯網方面更需要Socket通訊與藍芽通訊,那麼SocketIO、WebSocket、Bluetooth LE就是必須掌握的。具體參見《Android Studio開發實戰:從零基礎到App上線(第3版)》一書的“13.4 即時通訊”和“17.3 低功耗藍芽”。
又如初級安卓只會使用畫布Canvas和畫筆Paint作圖,但是AI視覺方面更需要三維製圖和動態追蹤,那麼OpenGL、OpenGL ES、OpenCV就是必須掌握的。具體參見《Android App開發進階與專案實戰》一書的“5.1 OpenGL”、“5.2 OpenGL ES”和“12.2 基於計算機視覺的人臉識別”。
再如初級安卓只會透過VideoView和ExoPlayer播放影片,但是音影片方面更需要實時互動和動態剪輯,那麼WebRTC、FFmpeg、RTMP/SRT(直播協議)就是必須掌握的。其中WebRTC的App開發參見《Android Studio開發實戰:從零基礎到App上線(第3版)》一書的“20.2 給App整合WebRTC”,FFmpeg的App開發參見《FFmpeg開發實戰:從零基礎到短影片上線》一書的“第12章 FFmpeg的移動開發”,手機App的直播技術參見之前的文章《利用RTMP協議構建電腦與手機的直播Demo》和《利用SRT協議構建手機APP的直播Demo》。
該方向的學習難度係數為★★★★,保飯碗指數為★★★。理由:以上技能涉及電腦科學的專業領域知識,具備一定的技術門檻。
嗯,學習音影片和FFmpeg程式設計技術推薦這本書《FFmpeg開發實戰:從零基礎到短影片上線》,該書詳細介紹瞭如何在Windows系統和Linux系統分別搭建FFmpeg的開發環境,第12章還介紹瞭如何透過Android Studio+FFmpeg開發手機App。
三、開啟思路邁向Android+N的新天地
除了常見的App應用開發之外,安卓與其他行業結合還能產生更多的就業崗位。
比如Android+汽車行業就產生了車機開發,那要學習車載系統Automotive OS,以及外景系統EVS、娛樂系統IVI等等。其中Automotive OS是谷歌爸爸基於AOSP開發的,目前已經迭代到了Automotive OS 14。
又如Android+遊戲行業就產生了手遊開發,那要學習Unity3D、Cocos2d-x、Unreal4、CryEngine3等遊戲引擎。其中Unity3D是國外研發的歷史悠久遊戲引擎,而Cocos2d-x是國產的後起之秀遊戲引擎。
再如Android+安全行業就產生了網安開發,那要學習逆向工具Frida、系統框架工具LSPosed、全域性注入管理工具RxPosed、脫抽取殼工具dumpDex、自定義APK模組載入器HideApk,以及逆向觀測技術jvmti、Native層觀測技術gdbinjec等等.
該方向的學習難度係數為★★★★★,保飯碗指數為★★★★。理由:以上屬於細分行業的專門技能,獨特的行業經驗擁有高門檻。
嗯,學習Android原生App的安全和逆向技術推薦這本書《Frida Android SO逆向深入實踐》,該書詳細介紹瞭如何使用Frida揭示原生App的逆向、分析和破解之奧秘,還探討了ARM/ELF的檔案格式和反編譯工具IDA。
更多詳細的FFmpeg開發知識參見