BaaS是对前端的利好,确定无疑。
看一看这些年B/S产品的发展,可以看出这么一个规律:页面逐渐应用化。
从最早的B/S产品架构看,页面层属于MVC中的V,是由服务端输出的,服务端的输出结果是页面。
[M]-[C]-[V] | 浏览器
后来逐步AJAX化了之后,也增加了一些输出数据的接口。
[M]-[C]-[V / Data] | 浏览器
但由于现在的产品一般都带移动端了,对于iOS和Android本地应用来说,它对后端的需求是完全接口化的,这就意味着,之前的图里面,数据接口的部分还要扩大。
举例来说,之前的页面可能这样:
界面有一个列表,列表的初始部分是服务端查好了,用模板生成,发给浏览器,然后如果后续再有增删,通过AJAX去取增量数据。
DAO里面有两个接口,一个是getAllItems,一个是addItem,只有addItem会包装出来暴露给前端,而getAllItems没有暴露出来,只在服务端视图模板层调用了。
但现在来了移动端,就不同了,它是本地应用,程序在本地,数据在服务端,不可能在服务端渲染模板了,只能把列表数据发给服务端,这时候就得把列表查询接口也暴露出来了。
这时候从Web端看,发现你后端已经把所有接口都暴露出来了,而且随着页面的应用化,SPA等相关技术的兴起,他也逐渐把页面改造,改成不需要后端返回HTML,而是也从接口来,逐渐地,后端就只要提供接口了。
然后就形成了前后端的天然分离:
后端的服务化,API化
前端的多样化,静态化
对于移动端来说,它的前端是天然静态的,对于Web端来说,它的形态就逐渐变成纯静态HTML,然后整个系统的所有页面代码,都是静态的HTML,JS,CSS,都能往CDN上放,访问更加快速了。
在这个时候,BaaS有什么好处呢?
最近这些年,我们可以看到一个规律,那就是前端更加多样化,而后端其实更容易抽象。比如说,后端提供的就是数据存取(有模式或者无模式,后者越来越流行),数据推送,实时通信等等,这些都是可以抽象化的,可以以一种比较直观的方式配置出来,生成接口,前端能够专注实现各种拉风效果。
这几年创业团队越来越多,对于这些人来说,用IaaS有很大制约,他必须先买服务器,配置子网络,负载均衡,防火墙,IP映射,搭建环境,配置数据库,编写数据访问层,等等等等,而这一切,只是为了能让他的Web界面或者移动端能存储少量数据。这个过程浪费的精力太可怕了,要知道,本来两个人一周能做好的原型,很可能因为这些,又多花了一个月。
但是有BaaS就不同了,比如用LeanCloud,就直接用它的SDK,后端存储什么都不用担心。又比如想要应用内社交,即时通信,都可以用现成组件,只需调用即可,除非这个产品有很差异化的需求,80%是不需要再自己搞服务端的,这当然是非常好的事。
现在假设有做前端,或者移动端的人创业,之前他不得不拉上一个后端,不然自己就不得不去做那些不熟悉的事情,折腾各种服务器,现在有BaaS,他所有事情都在自己的专业技能范围内,效率当然是很高,对他当然是大大的利好了。
金城在线专注网站、软件、APP、微信公众平台、小程序、抖音、头条等开发推广,如果您有这方面的需求或者不同的观点,欢迎联系交流。