
专栏截止到上一期,架构设计相关的理念、技术、实践已经基本讲完,相信你一路学习过来会有一种感觉,这些内容主要都是讲后端系统的架构设计,例如存储高可用、微服务、异地多活等,都是后端系统才会涉及。事实上确实也是如此,通常情况下我们讲架构设计,主要聚焦在后端系统,但这并不意味着App、前端就没有架构设计了,专栏所讲述的整套架构设计理念,虽然是来源于我的后端设计经验,但一旦形成完善的技术理论后,同样适应于App和前端。首先,先来复习一下我的专栏所讲述的架构设计理念,可以提炼为下面几个关键点:· 架构是系统的顶层结构。· 架构设计的主要目的是为了解决软件系统复杂度带来的问题。· 架构设计需要遵循三个主要原则:合适原则、简单原则、演化原则。· 架构设计首先要掌握业界已经成熟的各种架构模式,然后再进行优化、调整、创新。复习完我们就可以进入今天的正题,我来谈谈App架构的演进,以及上面这些架构设计关键点是如何体现的。Web App最早的App有很多采用这种架构,大多数尝试性的业务,一开始也是这样的架构。WebApp架构又叫包壳架构,简单来说就是在Web的业务上包装一个App的壳,业务逻辑完全还是Web实现,App壳完成安装的功能,让用户看起来像是在使用App,实际上和用浏览器访问PC网站没有太大差别。为何早期的App或者尝试新的业务采用这种架构比较多呢?简单来说,就是当时业务面临的复杂度决定的。我们以早期的App为例,大约在2010年前后,移动互联网虽然发展很迅速,但受限于用户的设备、