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