点击上方“码农突围”,马上关注
这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”

这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”
根据公开的 2018 年移动互联网行业分析报告,目前支付宝的月活跃用户已经超过 QQ ,成为国内第二大 App。
支付宝一开始仅仅只是一个单体应用的工具型 App,让用户可以在手机完成支付宝相关的业务查询和操作。2013 年后,支付宝逐步转型为平台型 App, 平台型 App 具有服务化、模块化、工具组件化的特点。这个时候支付宝的业务不仅仅是支付,还需要给客户提供很多生活相关的服务,例如余额宝、缴电费等。2015 年后支付宝成长为超级 App,此时支付宝里面需要支持大量复杂的业务,同时开放自己的商业能力,用自己流量助力合作伙伴,因此整个 App 面临开放、动态化、高可用的挑战,面对这些挑战,我们把它总结为以下三点:
如何应对复杂的业务协同?
如何满足业务快速迭代的需求?
如何构建面向未来的开放生态?
1.1 Hybrid 技术方案选型

原生作为最基础的开发模式,需要双端都进行开发,无疑成本是最高的;
其次是 ReactNative/Weex,即使是一次开发,同时运行在双端,但由于是 JS 转成 Native 组件渲染,实际运行起来仍然存在些许差异,导致开发者在写业务界面时,部分差异需要通过 Native 端定制开发来解决。整体而言,ReactNative/Weex 已帮助业务方大幅降低开发成本;
接下来是 Flutter,从业务开发的角度来说,Flutter 针对双端对齐真的下了大功夫。在大多数场景下,Android 端开发完毕之后能无缝跑在 iOS 端,当然这和它自研的引擎有关。只不过 Flutter 需基于 Dart 语言开发,因此对于开发者而言,部分老业务移植的工作量需考虑在内;
最后是 HTML5,带着成熟的语言,成熟的开发模式,双端几乎一样的表现等特性表明 HTML5 仍然是目前我们能落地的开发成本最低的方案。
首先,原生的体验毋庸置疑是最好的;
其次是自有渲染引擎的 Flutter,无论是性能还是控件的展现形式,可以说是不亚于原生的体验;
接下来便是 ReactNative/Weex 方案,通过将前端代码渲染成本地 Natvie 控件。在早期版本中,由于部分控件优化不到位导致 App 卡顿,因此用户体验的表现不足;
最后是 HTML5,完全通过浏览器内核进行渲染,借助预置资源、内核优化等技术,HTML5 可以做到接近原生的体验,但总体性能仍有差异。
这里我们暂时将 HTML5 放在第一位,因为做 HTML5 Hybrid 方案,离不开内核优化,内核优化就需要有一定内核研发能力,因此在开发者视角下 HTML5 研发难度最高。如果只是单纯的 HTML5 容器,研发难度就会大幅降低;
其次是 Flutter,目前在实际业务应用案例方面,国内较大体量的 App 暂时只有闲鱼团队引用了 Flutter;同时在 Flutter 的 GitHub 中仍然存在大量的 Open Issues 等待解决。而在实战开发运用过程中,Flutter 的生命周期管理,视图栈管理,原生页面切换等问题都需要开发者在前期选型过程中便要重视;
接下来是 ReactNative/Weex,由于这两个方案开源,且有大量成熟的技术社区支持,方案的研发难度对于开发者而言并不高,同时开源代码方便修改,更容易上手;
最后是原生方案,如果不考虑做热修复的话,原生方案无需做任何改动,直接使用即可;若考虑热修复方案,目前市面也有一些成熟的开源热修复方案可以直接使用。
1.2 容器架构

1.2.1 JSBridge 介绍

1.2.2 H5 容器定制化扩展
JSAPI
事件
1.3 容器稳定性

2.1 离线包机制
2.1.1 加载机制

2.1.2 公共资源包机制
2.2 发布平台
2.2.1 离线包大小管控及差量包机制
2.2.2 Fallback 机制
2.2.3 多维发布
3.1 离线包 VS 小程序

3.2 小程序解析

3.3 构建生态

---
最近写了一套 6000 页的 Java 学习手册,以及珍藏四本 Java 人必读4大神器,分享到知乎已经 3 万赞了!
整个资料包内容专注 Java技术,包括 Spring、Spring Boot/Cloud、Dubbo、JVM、集合、多线程、JPA、MyBatis、MySQL、大数据、Nginx、Git、Docker、GitHub、Servlet、JavaWeb、IDEA、Redis、算法、面试题等相关内容。图文并茂,附有源码,还送一波电子书。内容包括但不限于:
JavaWeb 相关(带答案)
精选面试题(带答案)
Spring 全家桶(带答案)
Linux 相关(带答案)
Spring Boot 教程和实战
MyBatis 框架(带答案)
MySQL(带答案)
Nginx(带答案)
Git(带答案)
GitHub(带答案)
IDEA 教程 & 实战(带答案)
Java基础:多线程,集合,JVM等(带答案)
DeBug 技巧(带答案)
Dubbo(带答案)
Redis(带答案)
. . .
每篇文章图文并茂,附有源码。还有电子书合集
如果你想获得完整PDF可以通过以下方式获得
资料获取方法
扫描下方二维码关注:程序猿进阶
在 程序猿进阶 后台回复关键词:9999
▲回复「9999」,获取 PDF▲
还有一份资料是计算机的相关知识
看完能让你对计算机有一个基础的了解和入门,是培养你 内核
的基础,我们看下目录大纲
基本上涵盖了计算机所有基础知识,从 CPU 到内存、讲解什么是二进制、磁盘、压缩算法、操作系统、汇编等知识。
我们来看下内容是怎样的
这个图画的很漂亮啊,看起来就是作者在用心画的,而且排版非常精美。
看起来一点不枯燥
现在这本 PDF 免费分享给你,你可以扫描下方二维码回复 计算机基础
来领取这本 PDF。

▲回复「计算机基础」,获取 PDF▲
最近热文
• 我去!微信竟然可以查出行轨迹了,预计又一波情侣要分手? • 羡慕吗?微软允许员工永久在家办公 • 如何优雅地给妹子优化电脑(Windows)? • 神仙打架!清华公布2020特奖候选人名单,有人三篇顶会一作!还有人... ? 长按下方二维码 在公众号后台回复「Java」 还可以获取最新整理2T的Java学习资料 明天见(。・ω・。)