Android开发Android开发经验谈Android技术知识

Android 开发之路

2019-09-26  本文已影响0人  小小小小怪兽_666

因负责团队的管理工作,日常中也会接触面试工作,深切地感受到这两年移动开发潮的落幕,几个知名的培训机构(厦门,甚至福州)不再对移动开发招生,另外需求方也在减少,从原生的开发转向其他渠道分流。无论是准备入行或刚刚入行,还是比较资深的开发者,对于移动开发职业的未来,都有一些迷茫、一些焦虑。怀疑的声音渐渐大起来,“现在学习移动开发还有前景吗?”“移动开发还有什么可以研究的?”。

一、引言

移动互联网的发展不知不觉已经十多年了,“移动开发” 也已经变成了 “人工智能(AI)”。移动开发的光环和溢价开始慢慢消失,已经不再是“风口上的猪”,并且正在向 AI、区块链等新的领域转移。可以说,国内移动互联网的红利期已经过去了,现在是增量下降、存量厮杀,从争夺用户到争夺时长。比较明显的是手机厂商纷纷互联网化,与传统互联网企业直接竞争。另外一方面,过去渠道的打法失灵,小程序、快应用等新兴渠道崛起,无论是手机厂商,还是各大 APP 都把出海摆到了战略的位置。

从技术的角度来看,去年(2018)移动端的技术变革也有点缓慢。大前端的概念虽然说了很久也很多,但 RN(React Native)、H5 的效果依然不尽人意。在插件化热潮之后,前年的 Kotlin 之后,去年讲得比较多的还是 Flutter。

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

二、发展方向

或许是移动互联网这个大环境变了,推动我们不得不跟着转变。移动端的招聘量变少,但中高端的职位却没少,这说明行业只是变得成熟规范起来了。竞争激烈,但产品质量与留存变得更加重要,我们进入了技术赋能业务的时代。大前端正在跨平台,移动开发者的未来更可能是跨终端,产品、运营、数据分析、后端等。

移动开发还可以做些什么?整体来说,主要包括以下三个部分 (注:60% 是 Android 相关的,40% 是可以跨平台的)。

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

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

我认为,移动开发不等于 APP 开发,所有新的技术浪潮其实都可以融入到移动开发的体系里,比如 IoT、音视频、边缘计算、VR/AR等。我们要做的,只是打好基础,随时准备战斗。其次,从心态上,我觉得我们千万不要把时间浪费在纠结问题上,而是应该放在解决问题上。拥抱变化,才能拥有未来!

三、户体验和应用质量

对于如今的移动开发,大家讲的最多的还是用户体验和应用质量。除了内存优化、弱网络优化,想做一款高质量的应用还远远不止这些。

3.1 从应用交付的流程说起

打造一款高质量的应用很难,我们可以先从哪里入手做些什么呢?怎样在每个步骤做好“质检”呢?这就要从应用交付的流程说起。在我看来,一个应用至少会经过开发、编译 CI、测试、灰度和发布这几个阶段。每个阶段需要关注什么问题呢?

3.2 移动 APM 质量平台

在应用交付的这几个阶段中,我们对高质量的目标和实现方式是否一样呢?开发阶段有开发人员,可能希望采集尽可能多的数据;测试阶段有测试人员,可能更针对实验室环境或与竞品对比进行测试;灰度和发布阶段可能也有人跟进,策略会相对保守一些。很明显,不同阶段我们对高质量的目标跟手段可能不太一样。

APM 的全称是“Application Performance Management”,即应用性能管理。大厂一般都有这个流程且投入还不少,但小厂就比较少人去关注,一般只关注项目周期。不过对于开发人员来讲,我们依然要关注这些技术点,Google也发力 Android Vitals 监控,新增了耗电、权限管理模块。年一过,平台上有几个应用因为权限(电话的权限问题)被平台移除。

那么 APM 质量平台究竟有着什么样的魅力呢?

那这个质量平台需要关注哪些问题呢?这需要看我们用户关心什么问题。有的问题可能是致命的,像崩溃、卡死、白屏。另一大类问题就是性能问题,安装包大小、启动、耗时、内存、耗电、流量都是这一个范畴。由于 Android 版本的碎片化和国内 Android 生态的乱象,或者换句话说,“Android 开发者很苦,国内的 Android 开发者更苦”。

一个全面而强大的 APM 质量平台会是我们坚实的后盾。当然对于大多数中小开发者来说,建议还是选择成熟的第三方服务。不过我们需要明确一点,虽然移动 APM 质量平台可以帮助我们快速发现和定位问题,但是监控并不能保证实现高质量,这里最关键的永远是人,而不是系统。

第一个例子

在工作中可能总能遇到这样的场景,反馈问题三连击:“是我的问题吗?”“能复现吗?”“你的测试靠谱吗?”。虽然通过 APM 质量平台可以减少推卸责任,但有些人的做法通常还是发现空指针加一个判空,发现并发问题加一个锁。这里的空指针真正原因是什么?这里判空了后面的逻辑是否还会运行正常?有没有更加好的方法或架构可以避免这个问题?我们真正应该反问的是这三个问题,把 “质量观” 深入骨髓,真正去想要得到个人成长,深挖背后的原因。

第二个例子

现在许多人都对问题无法忍受,或者说是老板无法忍受的时候才去开启各种优化专项,但事后又不了了之。我们很多时候都在用战术的勤奋掩盖战略的懒惰,性能优化的关键在于如何解决存量问题,同时快速发现增量问题。APM 质量平台只可以协助我们,并不能解决组织内部的心态问题。

四、总结

实话讲,我们在小公司很少有机会学习这些东西,确实如此,个人与公司一起成长是最快速,也是非常难得的事情,但并不一定人人都会有这样的机会。自已也可以花时间去研究,让我们在解决问题的过程中获得成长。

关于我

更多信息可以点击关于我 , 非常希望和大家一起交流 , 共同进步

上一篇下一篇

猜你喜欢

热点阅读