
                            
                            因收到Google相关通知，网站将会择期关闭。相关通知内容
                            
                            
                            00 开篇词 焦虑的移动开发者该如何破局？
                            最近半年，常常有人问我两个问题：“现在学习移动开发还有前景吗？”“移动开发还有什么可以研究的？”。这两个问题其实对应着同一个现象，无论是准备入行或刚刚入行，还是比较资深的开发者，对于移动开发职业的未来，都有一些迷茫、一些焦虑。为什么会这样？

现在想想，移动互联网的发展不知不觉已经十多年了，Mobile First也已经变成了AI First。换句话说，我们已经不再是“风口上的猪”。移动开发的光环和溢价开始慢慢消失，并且正在向AI、区块链等新的领域转移。移动开发的新鲜血液也已经变少，最明显的是国内应届生都纷纷涌向了AI方向。

可以说，国内移动互联网的红利期已经过去了，现在是增量下降、存量厮杀，从争夺用户到争夺时长。比较明显的是手机厂商纷纷互联网化，与传统互联网企业直接竞争。另外一方面，过去渠道的打法失灵，小程序、快应用等新兴渠道崛起，无论是手机厂商，还是各大App都把出海摆到了战略的位置。

从技术的角度来看，今年移动端的技术变革也有点缓慢。大前端的概念虽然说了很久也很多，但React Native、PWA（Progressive Web App）的效果依然不尽人意。在插件化热潮之后，移动端的精品文章开始变少。去年“安利”完Kotlin之后，今年讲得比较多的还是Flutter。

这么看来，移动开发的前景不明朗，再加上竞争激烈以及技术变革放缓，我们感到迷茫、焦虑似乎就不难理解了。

带着同样的焦虑，2017年年底我选择离开了微信，目前在某知名互联网企业负责海外产品的技术工作。

回想一下自己的过去，经历了搜狗手机输入法用户从一千万到一亿，也见证了微信用户从一亿到十亿的增长。在快速成长的同时，让我感到更加快乐的是对社区还是做出了那么一点贡献。写了一些文章，建立并运营了WeMobileDev公众号，输出了一些技术干货和思考；拥抱了开源，Tinker、Mars、WCDB相继开源，特别是Tinker作为腾讯在GitHub的第一个开源产品，让我体会到了开源的魅力。

在进入新工作环境的这大半年里，我遇到了一些困难，也接受了很多新的挑战。慢慢明白，或许是移动互联网这个大环境变了，推动我们不得不跟着转变。移动端的招聘量变少，但中高端的职位却多了起来，这说明行业只是变得成熟规范起来了。竞争激烈，但产品质量与留存变得更加重要，我们进入了技术赋能业务的时代。大前端正在跨平台，移动开发者的未来更可能是跨终端，产品、运营、数据分析、后端，技多不压身。

那企业需要什么样的移动开发人才？移动开发还可以做些什么？我希望通过这个专栏来回答你这两个问题。专栏里，我会结合业界的现状，讲讲国内外各大公司的尝试，以及他们的发展方向。我会尽量少放源码，侧重结合工作上的实践经验，分享一些疑难问题的解决思路。整体来说，主要包括以下三个部分 （注：60%是Android相关的，40%是可以跨平台的）。

1. 高质量开发。在如今的竞争态势下，保证产品的基础用户体验尤为重要。最近国内外各大公司，对APM性能监控系统也越来越重视。我挑选了崩溃、内存、卡顿、启动、I/O、存储、网络、耗电、渲染、安装包体积等比较常见的关键点，为你全面梳理性能优化的经验技巧与方向，帮你学会如何解决已知的存量问题，同时也能及时发现增量问题。

2. 高效开发。持续交付、DevOps近年在国内非常火热，我们都在寻找内部突破，提升效率。一个应用从想法到成品，需要经历开发、编译CI、测试、灰度、发布等多个阶段，那怎样提升各个阶段的效率，也是你我比较关心的话题。跨平台开发可能是解决开发阶段的一个答案，动态部署可能是发布阶段的一个答案。头条和快手如何做到数据驱动式的开发，怎样才是高效的运营，在这个模块，我将围绕这些内容一一展开。

3. 架构演进。“君有疾在腠理，不治将恐深”，对于一个应用来说，架构一定是核心中的核心。在这个模块，我会讲到Google的一些架构演进，例如Android P、App Bundle、虚拟机、耗电等，也会讲到移动网络架构的一些选择，跨平台开发、动态化实践等热点知识。

在我看来，如今的移动开发开始冷下来了，或者有人说开始进入移动互联网的下半场了。其实，对于我们开发人员来说，不管是下半场还是上半场，我们重要的是要把技术做好做精做深。是的，现在移动开发已经不再是风口，但是，这并不是说移动开发已经被淘汰，而是说移动开发的发展进入了成熟期，就像Web技术一样。

如果说现在，你还只是能做好产品给过来的“需求”，我认为这是远远不够的。作为一个移动开发工程师，你我都需要深耕细作，都需要有工匠精神，把已有的事情从好做到更好。因为在迈向更好的过程中，你必然需要学习底层原理，你必然需要拓展知识面，你必然需要结合其他的技术，有了这么多必然，你也必然会变得更强。

所以，我在这里回答我一开始提出的那个让人焦虑的问题。首先，我认为，移动开发不等于App开发，所有新的技术浪潮其实都可以融入到移动开发的体系里，比如IoT、音视频、边缘计算、VR/AR，我们要做的，只是打好基础，随时准备战斗。其次，从心态上，我觉得我们千万不要把时间浪费在纠结问题上，而是应该放在解决问题上。“王者荣耀”“吃鸡”并不能解决我们的焦虑，拥抱变化，才能拥有未来，让我们共勉。

最后，我和极客时间一起，为你准备了丰厚的学习大礼包，听说礼包里面有GMTC大会的门票哦。今天先卖个关子，我会在下一节“导读”里给你揭晓。

希望通过这个专栏，可以在这个节骨眼上，给你一些启发和帮助。



                        
                        
                            