<address id="bjbhz"><dfn id="bjbhz"><output id="bjbhz"></output></dfn></address><address id="bjbhz"><dfn id="bjbhz"></dfn></address>
        <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

        <sub id="bjbhz"><var id="bjbhz"><mark id="bjbhz"></mark></var></sub>
          <sub id="bjbhz"><var id="bjbhz"></var></sub>
          <sub id="bjbhz"><var id="bjbhz"><ins id="bjbhz"></ins></var></sub>

          <address id="bjbhz"><var id="bjbhz"></var></address>
          <address id="bjbhz"><dfn id="bjbhz"></dfn></address>

          <address id="bjbhz"><listing id="bjbhz"><ins id="bjbhz"></ins></listing></address>

            <thead id="bjbhz"></thead>

          2019年Android开发的未来发展方向该如何走?

          作为一名资深的Android 开发者。从2017年下半年开始,就听到各种言论,例如“Android 开发凉凉”、“移动端开发没出路了赶紧转行”、“要被XXX 替代了” 等等,充分反映了大家焦虑的心态。

          移动端开发真的要凉凉了吗?也经常有粉丝私信我,在群里聊起这个话题,今天我决定写下自己的一些看法,供大家参考

          移动端开发的现状

          移动端开发的现状是什么?我们可以从自己写的代码中寻找线索。以Android 为例,很多大公司的移动端开发者写的最多的代码是这样的:

          LinearLayout layout = new LinearLayout;
          layout.addView( xxxx );
          ...

          或者也许是这样的:

          public class XXXView extends RelativeLayout {
              public XXXView( Context context )
              {
                  this(context, null);
              }
              public XXXView( Context context,
                      @Nullable AttributeSet attrs )
              {
                  this(context, attrs, 0);
              }
              public XXXView( Context context, @Nullable AttributeSet attrs, int defStyleAttr )
              {
                  super(context, attrs, defStyleAttr);
                  initView;
              }
              private void initView {
                  LayoutInflater.from( getContext ).inflate( R.layout.xxxlayout, this, true );
                  ...
              }
              public void setData( XXX xxx )
              {
                  ...
              }

          又或者是对着xml 标签做出各种骚操作——UI 开发。

          没错,如今移动端技术栈已经愈发趋于成熟完善,对业务来说,就连大公司的工程师也是在做UI 的展示逻辑。大公司产品相对比较完善,后端管控了大部分业务逻辑,客户端做的就是取到后端的数据,然后通过setText(xxx)展示出来,然后通过接口返回的Boolean 值来判断View 显示还是隐藏。

          我听到很多人说,工作几年感觉自己没什么提升,天天都在堆代码,随便找个刚毕业的学生也能分分钟替代自己,于是就很焦虑。那对于工作几年的人来说,要想尽可能不让自己过早的被替代、被淘汰,就需要选一个有潜力的有前景的领域深挖。

          2019年Android开发的未来发展方向该如何走?

          那么移动端开发的未来在哪里?

          动态化

          在聊动态化之前,我们先聊聊Android 的插件化。

          前两年,插件化火起来了。为什么火?因为可以实现Android 应用不发版本的同时动态上线需求,同时热修复还可以动态的修复线上出现的bug。但是插件化存在最大的问题是什么呢?兼容性。Android 机型太多太复杂,插件化框架难免会涉及到系统API 的hook,兼容性问题就出现了,开发者会看到莫名其妙的错误上报上来却束手无策。

          随着Android 版本的迭代更新,插件化这条路越来越不好走,Android P给了开发者们一个信号:别随便hook 系统API 了,Google 要开始收口整顿了。插件化这条路注定无法一直走下去,于是开发者们另辟蹊径。

          最开始是继续用H5 混合开发的方式,例如老牌Hybrid 框架Cordova,但是性能不尽人意。这时候Facebook 开发出了一个跨时代的框架:React-Native。它提供了一个全新的思路:通过jscore 进行js 解析,使用原生的View 进行渲染,提供桥机制调用原生的能力。

          React-Native?是第一个真正的高性能的动态化框架,它的出现让Web 前端和客户端的界限迅速变得模糊。随之而来的是各大公司的自研框架,例如阿里巴巴的Weex?和美团点评的Picasso?框架。React-Native?只提供了Android 和iOS 的双端支持,Weex?扩展了思路,提供的Web 端的支持,一个是React 语法糖,一个是Vue 语法糖。Picasso?又不一样,Picasso?是纯TS,DSL 语法树,写法实在太简单,又准备在三端的基础上提供小程序端的支持。

          2018年GMTC 大会上,Flutter?发布了第一个预览版,阿里巴巴闲鱼团队已经在闲鱼APP 中使用了Flutter技术。Flutter四年前开始开发,直到去年才有第一个beta 版本。通过Dart 编写APP,然后编译成机器码同时运行在Android 和iOS 上,做到了原生跨平台,Hot Reload,性能很不错,可定制性也非常强,连封装的系统层Dart 代码都能改。提供了Web、iOS、Android、React-Native?开发者学习Flutter 的入门文档,也是去年移动端少数的几个比较火的热点之一。它的思路不同于React-Native,是一种全新的思路,目前我对Flutter?持乐观态度。

          支付宝的动态方式不同于以上所有,它是完全基于自己的H5 容器进行Hybrid 开发,不过由于内核也是自研的(UC 内核),所以性能各方面都比原生的WebView 好,支付宝里非常多的页面都是基于H5 容器开发的,包括支付宝小程序,这也算是一种动态化的方式吧,只不过研发成本太高:自研WebView 内核。

          目前来看,动态化的三驾马车已经初步形成:

          • React-Native?为首的jscore(v8)桥通信动态化方案;
          • 自研WebView 内核,H5 容器化方案;
          • Flutter(我觉得Flutter 正在发力争取第三驾马车的位置)。

          动态化改变了移动开发的方式,模糊了Web 前端和客户端的界限,让越来越多的人认识了什么是“大前端”。如果有经验的开发者们对这个方向进行深入研究,五年内,应该不会被淘汰了(笑)。

          移动端机器学习

          毫无疑问,移动端机器学习从2017年年底就开始火起来了,TensorFlow 也推出了移动端框架,很多应用都开始在移动端部署机器学习模型,例如相机类应用(FaceU)、电商类应用(唯品会)等,包括离线的机器学习。

          如果深挖这个方向,我觉得十年内不会被淘汰。当然了,难度也不小。

          2019年Android开发的未来发展方向该如何走?

          AR & VR

          从支付宝的AR 抢红包、QQ 的AR 踢球等玩法被越来越多的人体验,AR 走进了人们的视野。对于广告引流玩法来说,AR 无疑是能带来巨大收益的。

          此前大众点评亲子上线了“亲子奇妙日” 活动,就是基于大头儿子小头爸爸的AR 玩法。那么开发AR 引擎的移动开发者自然成了香饽饽,目前AR 主要应用的领域还是广告变现,不过很多公司也找到了AR 的一些落地场景,比如卖家具的电商公司可以通过AR 技术让用户在购买之前就能看到实物在自己家里到底能不能放得下,这能极大的提升用户的购买体验。

          如果是研究OpenGL、计算机图形学的移动开发者,可以往AR 引擎开发方向发展,非常有前景。

          VR 同理。

          移动端音视频

          这个领域最火的产品当之无愧是抖音了,就连我自己都天天刷抖音。除了抖音,还有各大视频应用,都需要音视频开发领域的专业开发人员,图像处理、滤镜、裁剪等等骚操作都是需要专业的音视频开发知识才能做出来的,研究OpenGL、计算机图形学的移动开发者在这个领域也有很大的优势。

          据我所知,这方面人才现在缺口依然很大,各大公司求贤若渴,如果在这方面有经验并且愿意深挖的同学,自然是各大公司的香饽饽啦。

          移动端区块链

          区块链,2018年最火的技术没有之一。

          从人人都在谈比特币到人人都在谈区块链,可以看出区块链技术已经被越来越多人熟知。无数区块链公司如雨后春笋般的冒出,连大公司们也按捺不住开始涉足区块链领域。对于移动端来说,区块链应用最多的还是数字钱包。但是未来移动端区块链一定会有更多的落地应用,例如Status。区块链去年大火,移动端的区块链应用还没开始火,但是也不远了。

          如果有移动开发同学对区块链方向感兴趣的,可以开始研究起来了。如果要学习智能合约开发的同学,我推荐一个非常好的网站:Cryptozombies,绝对是入门solidity 智能合约开发的精品。

          目前移动端的区块链人才还不多,各大公司也没有在招,但是两三年内,应该就会爆发了,现在还在探索落地场景的阶段,也给了对区块链技术感兴趣的移动开发同学学习的时间。改变世界的技术了解一下?

          移动基础框架

          UI 未来可能都会被动态化技术接管,但是移动基础框架不会。但凡要开发一个APP,网络请求、日志处理、数据库处理、缓存、Push 等框架都是不可或缺的,这部分和UI 关系不大,又是APP 的命脉所在。

          只要APP 存在,基础框架就存在。有同学可能要说了,我用okhttp 分分钟写一个网络请求出来,没错,这是okhttp 已经帮我们做好了很多事。什么是框架?用一句话总结,我的理解就是:

          一种可以让能力差别较大的开发者写出功能、性能差不多的代码的库。

          不知道大家能不能理解这种说法,我举个例子:如果使用HttpUrlConnection 来写网络请求,可能不同能力的开发者写出来的代码不一样,网络请求的性能和效果也不一样。但是如果使用了okhttp 库,只要看一看okhttp 的文档,新手和老手写出来的代码估计差不多,性能和效果也差不多,这就是框架做出的最大的贡献。

          在这些框架的基础上,P5 写的代码可能和P6、P7 区别不会多大。然而,这些框架总要有人开发,开源的框架往往不能满足公司业务的需求,需要自研基础框架。尤其是BAT、TMD 六家公司,移动端框架有大部分都是自研的,越来越多的公司也开始自研,所以如果是在这个方向有经验的移动开发者,在APP 被淘汰之前,应该都不会被淘汰。这方面对移动开发者的知识深度和广度都要求相对较高,需要沉淀和学习。

          Android 工具类应用

          这个就比较特殊了,这类应用我举个例子:360 手机助手。对于Android 用户来说,清理内存、清理垃圾等已经成为了一种习惯,这方面应用的开发自然是不可少的,而且非常考验对Android 知识的深度,你们懂得。

          结语

          上面七个移动端开发方向,是我总结出来的有潜力有前景的方向,各位移动开发同学可以参考,可以选择一个方向进行深挖,相信一定会有收获。

          嘴上焦虑是没有意义的,最好的办法就是付出行动。

          Android学习PDF+架构视频+面试文档+源码笔记

          在这里我也分享一份自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

          如果你有需要的话,可以点赞,然后加入Android开发交流群(820198451)免费领取

          image

          image

          相关文章
          相关标签/搜索
          管家婆香港2018年资料四肖期期准铁算盘4887开奖结果四肖三期内必出刘伯温6374cm刘伯温168最快开奖现场开马开奖结果天天彩票 定陶县| 安国市| 启东市| 广州市| 霸州市| 钦州市| 鹰潭市| 汕尾市| 临西县| 澎湖县| 忻州市| 济源市| 永福县| 南漳县| 肥西县| 河池市| 昆山市| 建湖县| 菏泽市| 武夷山市| 宜兴市| 文安县| 马边| 顺平县| 晋中市| 正镶白旗| 滦南县| 佛坪县| 盐边县| 精河县| 三亚市| 东阳市| 临沂市| 利川市| 屯昌县| 新绛县| 尚义县| 桃园县| 庄浪县| 龙泉市| 镇江市| 西畴县| 缙云县| 荃湾区| 远安县| 正宁县| 手游| 菏泽市| 洞口县| 福鼎市| 鄂伦春自治旗| 罗平县| 钟祥市| 泰来县| 宣恩县| 墨江| 呈贡县| 吕梁市| 遂平县| 习水县| 缙云县| 双峰县| 威信县| 遵义市| 四川省| 连平县| 蕉岭县| 长海县| 金昌市| 田东县| 贺兰县| 龙海市| 台江县| 定兴县| 华容县| 龙山县| 来凤县| 贵港市| 廉江市| 兴安盟| 子洲县| 永平县| 泊头市| 荆州市| 灌阳县| 通渭县| 包头市| 龙胜| 忻城县| 大足县| 博罗县| 惠东县| 深圳市| 沁源县| 子长县| 渑池县| 翁牛特旗| 车致| 开封市| 永昌县| 永新县| 临高县| 金川县| 美姑县| 上思县| 广水市| 辽阳县| 确山县| 扎兰屯市| 明溪县| 沧源| 黔江区| 海城市| 嵊州市| 恩平市| 英德市| 连平县| 台山市| 阳新县| 京山县| 宁夏| 桂林市| 武义县| 城步| 鄢陵县| 曲麻莱县| 仁布县| 武邑县| 商洛市| 南康市| 岚皋县| 锡林郭勒盟| 淮滨县| 泽库县| 洛宁县| 阿尔山市| 白玉县| 峡江县| 静海县| 罗定市| 武威市| 托克托县| 开原市| 微山县| 原阳县| 临颍县| 余干县| 卢湾区| 宁蒗| 康平县| 堆龙德庆县| 巨野县| 苍梧县| 福贡县| 太仆寺旗| 班玛县| 宜宾县| 仁寿县| 绿春县| 花莲市| 江源县| 额济纳旗| 老河口市| 台湾省| 济源市| 高碑店市| 沧源| 广东省| 库车县| 杭州市| 开江县| 呼图壁县| 鹤壁市| 宁远县| 江都市| 晋城| 建平县| 弥渡县| 清新县| 辰溪县| 顺义区| 遂昌县| 福建省| 天等县| 紫阳县| 健康| 从江县| 乌什县| 鄂尔多斯市| 广宗县| 汉源县| 灵丘县| 合川市| 定兴县| 石狮市| 上蔡县| 佛坪县| 海原县| 女性| 深圳市| 汕尾市| 彝良县| 庆阳市| 长沙县| 邓州市| 宁海县| 竹北市| 华坪县| 齐齐哈尔市| 克东县| 金塔县| 开鲁县| 平南县| 共和县| 翼城县| 永安市| 庆元县| 哈尔滨市| 于田县| 黄冈市| 珲春市| 镇康县| 昌乐县| 图木舒克市| 资阳市| 阿坝| 鄂州市| 平原县| 阿坝| 邵阳市| 和政县| 会宁县| 自治县| 罗江县| 双牌县| 乾安县| 包头市| 建水县| 平原县| 繁峙县| 罗江县| 弥渡县| 南投县| 正定县| 金华市| 广宗县| 虹口区| 南和县| 新源县| 万山特区| 台东市| 青阳县| 革吉县| 扎兰屯市| 山东省| 霍城县| 北宁市| 田阳县| 铜梁县| 时尚| 定远县| 长丰县| 杭州市| 城步| 广饶县| 奇台县| 浦县| 湖口县| 临夏市| 临澧县| 元谋县| 卓资县| 麻城市| 河北区| 东光县| 沙雅县| 炎陵县| 五大连池市| 普陀区| 安溪县| 博湖县| 绥宁县| 丹阳市| 吴忠市| 清远市| 福海县| 利辛县| 枝江市| 五河县| 泰州市| 广灵县| 澄江县| 婺源县| 蚌埠市| 隆化县| 岳阳县| 全椒县| 祁连县| 临猗县| 凌云县| 岚皋县| 甘南县| 分宜县| 沾化县| 壤塘县| 武冈市| 金沙县| 会泽县| 舞阳县| 石楼县| 高邑县| 开阳县| 镇宁| 芮城县| 武汉市| 无极县| 拜泉县| 南部县| 呼图壁县| 博湖县| 宁蒗| 新乡县| 双鸭山市| 新竹市| 灵武市| 沅江市| 松原市| 西吉县| 阿巴嘎旗| 界首市| 钦州市| 增城市| 兴海县| 大邑县| 安阳县| 梧州市| 比如县| 台中县| 张掖市| 天等县| 新蔡县| 商洛市| 庆元县| 玉溪市| 齐河县| 尼木县| 乳源| 三穗县| 华池县| 瑞丽市| 寻甸| 远安县| 修水县| 井冈山市| 城固县| 炉霍县| 安阳市| 收藏| 白山市| 九寨沟县| 温泉县| 呼和浩特市| 栾川县| 湘潭市| 思南县| 定结县| 宁陕县| 大理市| 德化县| 武平县| 财经| 泰宁县| 女性| 正阳县| 固阳县| 上饶县| 南充市| 东乌珠穆沁旗| 四子王旗| 关岭| 黑水县| 乐山市| 武胜县| 海南省| 孝义市| 遵义市| 桓台县| 五常市| 潞西市| 阳信县| 喀什市| 辽阳县| 禹城市| 九龙城区| 乌拉特后旗| 石首市| 扶风县| 革吉县| 克拉玛依市| 分宜县| 鹰潭市| 砀山县| 体育| 辽中县| 隆安县| 交口县| 清涧县| 河津市| 福安市| 南阳市| 金川县| 泊头市| 绥滨县| 金湖县| 阜平县| 天气| 绍兴市| 英吉沙县| 敦化市| 长子县| 通海县| 体育| 汤原县| 湖口县| 福海县| 怀宁县| 安化县| 南澳县| 商丘市| 济南市| 东乡县| 扎鲁特旗| 揭西县| 永丰县| 图片| 宣城市| 贺兰县| 舞钢市| 通道| 克什克腾旗| 广东省| 千阳县| 高雄县| 广河县| 吉木萨尔县| 阜宁县| 翁牛特旗| 苍山县| 金塔县| 鄂托克前旗| 虞城县| 乌海市| 盐边县| 江达县| 沈阳市| 滕州市| 珠海市| 云安县| 高雄县| 定兴县| 乌鲁木齐市| 广丰县| 饶河县| 卢龙县| 嘉峪关市| 嘉荫县| 柯坪县| 林口县| 改则县| 芜湖市| 台北市| 中阳县| 仙桃市| 华宁县| 奇台县| 乐东| 丰城市| 方城县| 汤阴县| 大同市| 应用必备| 监利县| 许昌县| 扶风县| 黑水县| 化德县| 南昌县| 平远县| 博湖县| 顺平县| 桦南县| 乌审旗| 缙云县| 嫩江县| 融水| 安丘市| 乌兰察布市| 徐州市| 伊宁市| 朝阳县| 中山市| 莎车县| 固安县| 商丘市| 青州市| 林周县| 红原县| 临夏市| 桓仁| 鄢陵县| 韶山市| 乐平市| 屏边| 磐安县| 浑源县| 简阳市| 杭锦后旗| 上蔡县| 怀柔区| 高安市| 资兴市| 远安县| 大关县| 绥中县| 迁安市| 丽江市| 大悟县| 星子县| 尚志市| 宁蒗| 上饶县| 乳源| 会昌县| 永登县| 陆河县| 新疆| 建德市| 竹溪县| 秦安县| 林周县| 延安市| 西安市| 清涧县| 贵港市| 都昌县| 勐海县| 江都市| 宜良县| 手机| 崇文区| 鄂州市| 万州区| 紫云| 安泽县| 苍南县| 余江县| 通城县| 来凤县| 黑山县| 资讯| 永胜县| 扶沟县| 邢台市| 黔江区| 公安县| 吴堡县| 霍山县| 万盛区| 定结县| 阳城县| 揭东县| 武城县| 烟台市| 垦利县| 和龙市| 陵川县| 天峻县| 开江县| 明光市| 伊宁市| 顺昌县| 田阳县| 芦山县| 宁武县| 富阳市| 南召县| 津市市| 沙湾县| 黄大仙区| 尚志市| 会宁县| 洛南县| 溆浦县| 太康县| 乐清市| 寻乌县| 隆化县| 永城市| 海林市| 洛南县| 正定县| 龙岩市| 合阳县| 五原县| 南昌县| 新邵县| 商城县| 阿尔山市| 新闻| 湖南省| 深州市| 板桥市| 南阳市| 四子王旗| 安丘市| http://wap.hz0j1r2vo.fun http://wap.jx1870japanv.fun http://wap.jx1870experiencev.fun http://www.jx1870exceptv.fun http://m.jx1870flightv.fun http://wap.jx1870enterv.fun http://wap.jx1870gradev.fun http://www.jx1870izprovev.fun http://m.hz0j4r7vo.fun http://wap.jx1870exercisev.fun http://wap.jx1870layerv.fun http://www.jx1870faxv.fun http://m.jx1870generalv.fun http://www.jx1870groundv.fun http://www.hz0j1r7vo.fun http://wap.jx1870filzv.fun http://jx1870greenv.fun http://www.jx1870exceptv.fun