资讯中心

生态型App的前世今生你懂得几点?

来自:衡庐科技 发布时间:2017/7/26 9:47:08 浏览次数:
随着移动互联网的发展到了后半程,移动App的数量大幅增加,然而大量用户在近年来在手机中没有安装新的应用,移动互联的入口从手机操作系统渐渐转向超级应用,比如微信、支付宝等,我们称这些超级App,叫做生态型App。我们适时的时候加入生态,就可以能够获取到一些生态来的利益,然后并不是简单的做个服务号、企业号就能满足所有需求。
实际上,越来越多的企业在打造自己的生态型 App 以适应企业及上下游大规模、集团化、全面化移动信息化的诉求。区别于传统的 App,生态型的 App 具有其自身的特点,导致其在架构上具备很大的挑战性。本次主要围绕在生态型 App 的架构实践进行分享,期望能够给正在从事相应工作的移动架构师以启发,也欢迎大家一起探讨。
一、什么是生态型 App
二、生态型 App 的特点
三、生态型 App 对架构的挑战与实践
一、什么是生态型 App
什么是生态型 App?正如开题说的,这个词我纠结了很久,但是我还是以生态型 App 来作为题目的关键词,那就有义务稍微解释一下这个词。众所周知,在移动互联发展到这个阶段,一个新的 App 推广起来越来越难。用户大量的时间都会聚焦微信、支付宝等这些超级 App,我称其为生态型 App。
生态型 App 一般提供了一共生的生存环境(运行环境)以及相同的约束(规范和 API 等),允许不同的团队或个人,在允许的情况下,自行的研发或相同或者不同的移动相关的功能。相关功能运行在一个进程里,相互间独立,且与同在的环境有一定的交互。
生态型 App 区别与传统的 App,除自身提供的功能外(比如微信的 IM 功能),更多的功能可以由三方的团队自行完成。除了 ToC 的超级应用外,也特别适合多团队、跨地域、多供应商的大中型企业使用。
二、生态型 App 的特点
区别于传统的 App,生态型 App 具备以下的特点:
第一、开发的独立性
这是生态型 App 的基础,开发的独立性,确保了多个团队能够并行开发,并且无需互相依赖,其应用的功能又与生态型 App 本身独立,确保了其功能的自由成长。
开发期的独立型,并不代表没有约束,恰恰相反,为了能够让生态型 App 有健康的发展,相同的约束是必须的。正如我们都相对熟悉的微信,在开发公众号相关的功能时,我们要遵守微信的相关的 API 的规范。甚至针对现在狂推的微信小程序,我们还必须采用其特有的开发工具,遵守其特有的 DSL 语言进行开发。
总结来说,开发的独立性,并不是说技术上的随意性,不受约束,而是说,从团队、时间、功能上等角度的独立性。看似简单的一个特点,实际上,并不简单,一个简单的考量就是,多少 App 增加一个功能时,都必须调整代码重新打包,上线。
第二、运行态的共生性
运行态的共生性是生态型 App 的重要属性。从开发的独立性角度看,这个是现在任何手机操作系统都具备的特点。实际上,共生性是指任何功能的加入都与原有的生态中的功能在同一个运行态中,简单说是在一个进程或者一组相关进程内。
因为共生,所以新增的功能才能使用到生态型 App 带来的诸多益处,同时可以让生态型 App 得到更多新增功能带来的附赠价值,比如用户的使用信息等。
如果不考虑共生性,开发期的独立性完全可以考虑以独立的 App 为单元进行业务功能的开发,实际上真毫无裨益,越来越多的人并不愿意让自己的手机中安装更多的 App,这也是大量用户在近年来在手机中没有安装新的应用的重要原因。
这里插一句话,我本人暂时(或许将来会改变)并不看好 PWA 的发展的一个重要原因也在于此,难道用户不愿意安装新的 App 真的是简单的因为安装包大,安装缓慢吗?
这一点,真对企业用户来讲,尤为明显,没有多少员工真心愿意在自己的手机上安装几十个为了企业内工作需要的 App 的。
第三、业务的隔离性
业务的隔离性是生态型 App 是否能够健康运