Android开发经验谈程序员互联网科技

2019年移动开发,我的求变之路

2019-04-04  本文已影响65人  wingjay

人和人的差距,是下班后的 4 小时拉开的。

读者们,早上好,我是 wingjay。

上一篇文章里,我提到了要如何去找到属于自己的技术方向,不要成为追涨杀跌的“散户程序员”,而要坚持“价值投资”,相信移动端背后的价值和潜力,长期持有,保持成长

今天这篇文章,我会分享下从我个人角度出发,是准备如何规划2019年的技术方向,供读者参考。

本期福利:本人收集了一些2019年移动技术方向学习资料,涉及「动态化」、「移动端架构」、「端智能」等,文末查看获取方式。

我的2019移动技术规划

下面结合下 2019 年的一些不错的移动开发方向,来谈一下个人今年的技术规划作为参考。

1. 动态化

目前移动开发领域,动态化方案主要分成三类:

增强 H5 容器,基于 WebView,这种方案应用最广,成本相对最低;再加上国内自研的 WebView 内核如 UC 内核、X5 内核,可以实现较高稳定性和较低的平台差异化;近两年火热的微信/支付宝小程序目前也是采用这种方案;

基于 JsCore 进行 JS 与 Native 通信,进而实现动态化;以 React Native、Weex 为代表。它和WebView 方案的区别是:前者使用 Native View 作渲染层,而后者通过 WebCore 解析 Html、Css 来实现渲染,前者的性能更优;

Flutter 方案,它抛弃了 Js,由于它和 Native 频繁的通信导致性能下降,而是采用支持 AOT(提前编译)的 Dart,后者在运行时速度更快,而 JS 是 JIT,即运行时才编译;另外 Flutter 直接采用 Skia 渲染引擎,跳过了 JS 和 Native View 的频繁交互,直接用 Dart 进行渲染,性能好很多。

动态化一直是移动应用追求的热点,无论何时推出新的动态化方案,都会是大家热议的话题,这也充分说明了这项技术对于各种业务类型的重要价值,值得大家长期投入时间进行研究学习。

2. 移动端架构

我知道大多数同学的日常开发还是集中在业务开发上面,更多的是要么是开发 UI 页面或自定义 View,要么是封装一些第三方框架如 OkHttp 来做一些轻度定制。可惜的是,这样的开发经历算不上太多的亮点,尤其当你工作了三年甚至更长,这些反而会成为你的缺陷:纯业务开发、缺乏技术深度

因此,我一直鼓励读者去深入学习移动端架构,不仅能够扩大你的知识面,更能够培养你的技术深度、思维的密度,能够考虑一套稳定的架构能够在各种各样复杂的场景下都要能够运行。而且,在移动端架构方面,很多大厂有数年的积累,我们可以通过去深入研究他们开源的技术框架和体系进行学习,有了这些研究,未来如果想进大厂就职,一定会是水到渠成的事情

这里列一下架构的点供参考,后续可做相关研究学习:

跨平台网关系统:例如微信的Mars,采用C++实现,内部封装长连接、弱网优化、加密验签、流量管理等通用化技术,产出的代码可以同时应用于多端,包括移动端、PC端等;

高性能日志采集系统:能够在不占用过多CPU、IO等资源的前提下,尽可能多地将运行日志存储落盘,即时系统发生崩溃也要保证数据的完整性、安全性等,最后要能够对数据进行压缩甚至分片上报,或者通过长连接手动捞取;

限于篇幅这里不列举太多,感兴趣的读者可以文末查看本人的小专栏《亿级 Android 架构》,分析当前大厂如阿里、腾讯、美团等内部研发演进的 Android 框架,此不赘述。

3. 端智能(移动端+AI)

这个可能有的读者了解不太多,这个领域是近两年开始逐步火起来的。基本的思路就是将 AI 算法的运行直接从拥有庞大计算能力的服务集群里,直接搬到 CPU 等资源有限的移动端,从而实现更高的实时性,促成算法实时落地生效

基本流程就是在服务端进行大数据训练,计算出一套可运行数学模型,压缩下发到移动端;移动端实时采集当前用户的数据,输入到该数学模型里经过运算,立即获取结果。

端智能和常规 AI 相比的好处有:

实时性:无需将数据上传至后端再等结果返回,如前几年的 Prisma App,将照片变成油画的过程是漫长的,如果它能实现端智能,那就算没有网络都能快速转换照片;

个性化:这几年的推荐算法都是希望实现高度个性化,如果有了端智能的技术,就无需把你的浏览记录上传到后端去分析,而是可以在你一边看,一边本地就能立即计算出你的喜好,并为你快速排序、选择你感兴趣的内容;

数据隐私:很多App会大量采集用户数据上报到后台进行用户画像分析,但在端智能下,完全可以对用户数据进行实时计算,提取特征,再把特征数据上报即可,无需上传用户真实数据。

18年阿里内部专门成立了一个端智能团队,致力于研究端上AI的业务落地,目前已有的两大场景:

视觉:这个在音视频场景下应用广泛,如抖音里的人脸识别、支付宝的扫福、淘宝的拍立淘等都是这几年大家都接触过的端智能技术;

数据:这一块就是在端上实时采集用户使用数据,立即可以作出一些推荐决策,而无需把数据上传后台再去计算,省去这个漫长过程,实时的智能推荐往往比常规的推荐会更有奇效。

4. 其他

上面三点是本人今年会主要研究的方向,未来也会在小专栏公众号持续输出个人的学习心得和体会,感兴趣的朋友可以持续关注。

如果你有疑惑或者想要表达的,欢迎在留言区一起交流。

除了上面三点,还有一些其他的方向可供参考:

音视频技术:这两年抖音及一些陌生人社交产品,主打的都是音视频实时体验,吸引了非常多的年轻用户,相信这个方向会持续很长时间,毕竟音视频所能承载的内容和娱乐性远比文字、图片要多。因此,可以考虑将音视频作为长期投入的技术点,当然,这种过度深入的技术点的坏处就是,因为过度专业化,在就业时可选择范围比较窄,只能选择音视频方向的企业;

VR & AR:随着5G的逐步推进,相信VR & AR 的大规模应用不会很远了,感兴趣的读者可以提前布局起来,研究研究 Apple 和 Google 推出的 AR 相关的开发工具,后面肯定会有一批公司成长起来;

移动端区块链:区块链经历过了前几年狗血的剧情,现在也开始真正逐步落地,区块链本质上是一项创新的技术,与移动端的结合也有非常大的想象空间。

写作、阅读、投资

2019年,除了技术的不断探索,个人还会将业余时间投入在三个方面:

1. 写作

从入行以来,本人就一直热爱写作,文字的形式能够存留时间最久,也能持续不断被人所阅读,产生价值。更重要的是,保持写作不仅能让自己反省所学习的知识,也能够加深自己对某件事物的认知,毕竟很多东西只有在写的时候才会发现自己思维的缺陷和漏洞。

今年,我会持续在小专栏公众号两个平台上写作,前者以技术深度为主,后者以技术广度和个人思考为主。感兴趣的读者可以在文末查看并订阅我的小专栏。

2. 阅读

想要不断的输出优质内容,就必须要不断的自我输入新知识。这不仅是对内容本身、对读者的尊重,也是对自我成长的要求。

阅读方面主要是以技术文章+书籍为主,会保持每周一定的阅读量,未来会在公众号里,和大家分享我推荐的书单和一些阅读心得。

当然可能有的人会问我时间不够,其实我会在每天下班后,抽出两到三个小时来进行阅读、写作,常常会持续到深夜甚至一两点,不过这样的学习并不会觉得累或者之类的,更多的是成长和踏实。

3. 投资

投资理财恐怕是很多年轻人缺乏的一项技能,因为从小他们灌输的思想是省钱,把钱存银行才安全,买定期才踏实。但实际上,中国从08年开始,为了应对金融危机而推出的 4 万亿大水漫溉计划,已经让人命币贬值得非常严重。很多人抱怨房价上涨,但实际上,如果你具备投资理财的思维,在当时推出 4 万亿计划时就应该想办法把钱放入房地产来保值了。

当然,时机错过了就是错过了,不要觉得理财投资离你很远,当你在头疼房价高企时,你已深陷其中。

这里做个小预言,去年底 A 股大跌,而今年又开始回升,有人认为这不过是短暂回暖,私认为,中国有可能要迎来真正的长牛,类似美国从80年开始持续到现在的超级大长牛市。坐等打脸~。

培养理财投资思维最好的是在十年前,其次是现在。而今年我会空出一定的时间来学习经济、金融和理财,我一直相信,金融和互联网是黄金搭档,而一个既懂技术、又理解金融的人一定会有更广阔的发展空间。

一个人的财富是他个人认知的体现。2019年,突破技术,提高认知。

适应、突破、逆风成长

时代在变化,技术也在不断更迭。作为当今时代的一名技术人员,我们首先要学会适应变化,而不是被变化所淘汰。要不断去关注变化,同时作出反应。要敢于跳脱自己的舒适圈,突破自己的瓶颈,不断寻求新的技术成长点,在寒冬时期也保持学习、保持冷静,逆风成长。

欢迎关注我的公众号:「wingjay」,和我一起,逆风向上👆。

谢谢。

----

公众号:wingjay

人和人的差距,是下班后的 4 小时拉开的。

长期输出有价值内容,更重要的是,原创文章末尾会有随机抽奖哟

----

资料福利获取:在本微信公众号「wingjay」内回复关键字「2019」即可获取,该资料会持续更新;另外,回复关键字「小专栏」可获得《亿级 Android 架构》专栏信息。

更多文章:

Android 技术的下半场

技术生涯里,大厂履历意味着什么?

移动开发的罗曼蒂克消亡史?不存在的。

Android 架构之长连接技术

上一篇下一篇

猜你喜欢

热点阅读