大家都知道最早的GUI应用程序都是用代码写的,使用系统提供的API和资源文件去把界面在屏幕上画出来,功能是捆绑在界面上。这种方式的问题在于:大规模的程序的无法快速开发,而且代码多了之后也不便于项目间的资源共享以及代码的复用迁移。
其实前端和后端关注的并不相同。后端比较稳定,前端变化相对频繁。这是因为前端关注的是用户体验,有其不确定性。后端关注的是系统上的业务逻辑和数据处理,平台和需求确定后,就不会有太大变化了。
所以后面出现的GUI软件的设计架构,都采用解耦的方式实现关注点的分离,来改进代码的组织方式。这种解耦的理念 广泛应用于 各种人机交互的场景,包括桌面端的应用,浏览器的web应用,各种图形程序框架中。这种解耦最基本的分为前端的VIEW和后端的MODEL,让前端和后端尽量不直接进行直接的数据联系。通过解耦, 完成业务逻辑和视图的分离,从而提升代码可维护和可读性,并且提升代码复用性。
对于嵌入式应用来说,我们也需要通过技术隐藏这种数据联系实现的细节,建立一种简单而又方便的前端和后端数据连接的方法。简而言之,就是更方便地解耦前后端。
现实开发中我们可能会遇到各种开发痛点和潜在的风险,包括前后端技术栈连接的挑战,设计