FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向

本文涉及的产品
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
简介: IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。

​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人工智能开发,不过这块与安卓开发隔得太远,就不做深入介绍啦。

目录
相关文章
|
14天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
40 19
|
14天前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
41 14
|
17天前
|
Java Linux 数据库
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。
|
15天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
在数字时代,掌握安卓应用开发技能是进入IT行业的关键。本文将引导读者从零基础开始,逐步深入安卓开发的世界,通过实际案例和代码示例,展示如何构建自己的第一个安卓应用。我们将探讨基本概念、开发工具设置、用户界面设计、数据处理以及发布应用的全过程。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在安卓开发的道路上迈出坚实的步伐。
29 5
|
14天前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
|
15天前
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
15天前
|
搜索推荐 前端开发 测试技术
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
|
18天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
15天前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
24 0
|
18天前
|
存储 监控 Java
探索安卓开发:从基础到进阶的旅程
在这个数字时代,移动应用已成为我们日常生活的一部分。对于开发者来说,掌握安卓开发不仅是技能的提升,更是通往创新世界的钥匙。本文将带你了解安卓开发的核心概念,从搭建开发环境到实现复杂功能,逐步深入安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的见解和技巧,帮助你在安卓开发的道路上更进一步。
19 0

热门文章

最新文章