今天在知乎收到了这样一个问题,我以为这是一个很不错的疑虑,这个问题相信不少人都考虑过,可是除了在大厂的 “螺丝钉”(褒义) 岗位有机会在工做上深刻某个方向以外,不少时候中小型团队,特别是创业团队很难在工做上有这样的条件,由于平常工做可能都被业务包围,若是想要深刻某个方向,只能靠本身业余去坚持。前端
我算是业余坚持下的半个音视频开发和全职的大前端开发linux
这个一个很不错的方向,特别是在 2018 -2019 年的直播、短视频等风口让这个方向变得很火热,我算是半个音视频开发的从业者,由于 GitHub 开源的 CarGuo/GSYVideoPlayer 用户还很多,因此被逼着成了半桶水的音视频开发。git
将来 5G 时代音视频方向确定会继续红火。github
然而事实上一旦作了音视频开发,你就会发现音视频方向其实和 Android 没有太大的必然联系,由于音视频开发是服务于 Android ,而非用 Android 去开发音视频。安全
音视频开发首要的是须要学习 C++
,学习 FFMpeg
开源项目,了解音视频的编码协议、容器封装和网络协议,最后对于 Android 来讲就是 NDK 开发,而后还须要给 iOS 等其余平台音视频服务,由于若是音视频项目只服务于 Android 是不现实的,感兴趣的能够看看下面我写过的相关基础概念。网络
因此选择音视频开发就要让本身不局限于 Android ,而且这个方向会是偏低层的学习,因此会比较累可是技术会相对稳定。app
大前端是 Android 开发不可逃避的方向,由于随着 Android 开发和 iOS 开发红利的消失,整个市场招聘开始趋向稳定,现在 Android 和 iOS 的基础门槛已经不高,因此和前端融合是不可避免的节奏。框架
都是作 UI 和动画的,跨平台天然成了企业指望的选择:跨平台使得代码逻辑能够复用,减小各平台同一逻辑因人而异的开发成本。对于企业而言,一套业务逻辑能够在多处使用是最理想也是最保险的,同时也能够必定程度的优化作界面开发的人员。less
因此跨平台不算是一个方向,而是正常前端和客户端开发人员的能力拓展,若是继续从事作大前端的,就必须有心理准备:拥抱技术红利,拥抱技术更新,说人话就是“学不动也要学”,要保证本身的知识迁移能力与架构能力。(Cordova、uni-app、React-Native、Weex、Flutter、Kotlin-Compose、Swift 这些都只是开始)
可是事实上看着技术框架和技术路线不少,可是本质上思惟方式是通用的。
恰好我有一个 360 作安全方向的朋友,从他平常发的招聘信息比较少看到这个方面,从我理解上更可能是招牌 安全方向(逆向,渗透) 的相关人员,而后他可能对 Android 攻防比较了解,而不是从 Android 开发转过去,毕竟安全领域除了“社会攻防”外,更多的仍是网络协议、计算机原理、linux 安全等方面的运用。
由于关于这个我涉猎很少,没办法给出比较好的建议。
事实上这个方向除了大厂的超级 App,基本上在之后的中小型团队不会有,毕竟一个普通应用的搭建现状基本很成熟,好比 ViewModel + DataBinding + Realm + Dagger2 + Retrofit + Glide 就能够搭建出一套不错的应用开发,谷歌的 Jetpack 项目也相对成熟。
而对于大厂的超级 App ,由于涉及多部门开发,因此通常才会有基础架构搭建的,好比:作一些通用的组件池,通用的技术架构支撑,搭配各类监控产品和数据上报等功能,但这时候的 Andriod 开发也不仅是普通的 Android 应用架构开发,好比:
这些都离不开大前端的路线支持,因此将来 Android 应用的架构开发和大前端是一块儿发展的路线。
反而是面向 Android Framework 和 HAL 层的开发人员会有不同的选择,这类相关的从业者可能会参与到各类物联网智能设备上开发上。
Android 平台和 iOS 平台最不一样的就是它的开源和影响力,多年后的今天,Android 已经不只仅表明着手机平台,在电视、机顶盒、楼宇安防、自动售卖、广告展牌、智能家电、车载等领域都已渗透并精进,如今还从事单纯 App 的 Android 开发的反而很少,可是在以上领域继续耕耘 Android 的反而不少。
5G 时代下物联网领域颇有可能具有新的机会,华为的鸿蒙智慧屏、无人驾驶的车载平板、其余各种利用 Android 实现的无线智能平台,这都是 Android 开发者能够耕耘的机会。