背景
前端的发展太快了,前端框架和技术的发展也层出不穷,还包括不同智能设备的出现,对前端开发同学来说是个很大的跳转,简单列举下:
前端框架:vue、react、angular
小程序:微信小程序、支付宝小程序、字节跳动小程序
智能设备:苹果设备、天猫精灵、小度
这样就滋生了一些问题,比如我要开发一个通用的页面,兼容不同的端侧和小程序,显然目前是做不到的,我们只能开发多套页面去适配不同的场景,这样的话成本就太高了。
很多同学都在尝试解决这个问题,也催生了类似taro这样的多端统一开发框架,这是一个好的解决方案,但是比较被动,缺乏一定的扩展性。
这篇文章我们要探讨的是,看能不能换个角度去解决这个问题,提升开发效率。
ViewModel
当我们在开发一个页面的时候,不管用的是哪一种框架,通常都会抽象出一层viewmodel层,它主要有2个作用
和服务端进行交互,接受后台返回的数据,进行加工并传递给view层渲染
接受view层的回调,加工数据并返回给view层渲染