不用后端:noBackend 是什么?有什么好处?

  • 李永伦

2013 年 6 月 19 日

话题:语言 & 开发前端

在近期举办的前端趋势 2013 大会上,Gregor Martynus 做了一场题为“各位快看,不用后端!”的报告,站在前端的视角谈应用开发,服务端组件只退化到实现浏览器尚不支持的特性,这种方式与传统开发方式截然相反,后者首先要关注应用服务端,然后再利用前端技巧来提升应用。他们还建了一个名为noBackend的网站来深入传播这种理念。

InfoQ 在会上对 Gregor 进行了采访,对 noBackend 进行了更深入的了解。

同时,阿里 UED 团队的王涛也针对这个报告进行了介绍,并认为:

noBackend 的开发模式其实对前端同学提出了更高的开发能力要求,当后端的模板层完全撤去,只剩下纯净的数据接口时,意味着 js 将负责更多的业务逻辑处理,代码的组织架构需要有更好的设计。责任大了,压力也自然不会小,据闻腾讯盛行这种开发模式,而其配有 500+ 的前端开发队伍,也就完全可以理解了。

王涛认为,noBackend 将成为前端的重要趋势。同时,InfoQ 编辑黄玲艳(@hellena)也表示,noBackend 已经是在前端领域被广泛讨论的趋势,是当前行业前沿关注的一个重要方向。

针对这个话题,InfoQ 对王涛进行了更进一步的接触,了解 noBackend 究竟是什么,以及该趋势目前的扩散状态。

InfoQ:你觉得 noBackend 是什么?noBackend 不是什么?

王涛:我觉得 noBackend 并非是一种新技术或是一种新架构,而是一种新的 web 开发模式。我们经历过前后端分离的开发阶段,就是后端同学提供数据接口,让前端同学调用来实现页面逻辑,其实在这个阶段,就已经奠定了 noBackend 的架构基础了。

但如何增加后台接口的通用性,甚至可以做到和具体业务逻辑无关,能够让前端具有可按照业务逻辑的需求来调用和组装接口的能力,则是 noBackend 开发模式中对后台服务平台提出的要求。也是从前端的角度看到“noBackend”的关键所在。

业务开发的重担会落在前端层面,而多条产品线,甚至整个公司的产品都可以共用一套后台接口服务平台。

InfoQ:你有没有项目用到 noBackend?或者你是否知道正在使用 noBackend 的项目?

王涛:我在个人的一个移动小项目中曾简单尝试过 noBackend 的开发模式,使用了Titanium Cloud Services,当时对这种新的开发模式的触动还是蛮大的,noBackend 虽然因移动 app 开发而出现,但我觉得他完全适用于很多桌面应用。也相信国内的开放平台也会逐步的提供类似的服务平台。

InfoQ:这些项目从 noBackend 中得到什么实在的好处?

王涛:从前端的角度看好处会很明显,你不需要关心任何服务器配置和搭建、不需要使用 sql 创建任何的数据库、也不需要用后端语言开发任何的服务 API。 你可以把关注度聚焦在业务层面的实现上,以最小的成本完成业务的构思和需求,并且建立在一套可扩展,高性能的后台底层架构之上。

InfoQ:什么样的项目不适合使用 noBackend?

王涛:由于 noBackend 模式下搭建的平台接口通用性是第一优先级的,所以有着非常特殊需求的应用在使用中会遇到问题。比如登录和注册的通用接口,如果某应用对此有着特殊需求,而通用接口又不希望支持该特性,那么就需求开发个性化的接口。 但是接口一旦开发完成,又会进入到“noBackend”的良性循环中。

InfoQ:noBackend 目前在国内的状况如何?

王涛:我觉得国内的各大公司不乏前后端分离开发模式的实践,但是能够进一步升华,成为“noBackend”开发模式的公司还比较少见。

这也是受国内人才的现状影响,因为在“noBackend”开发模式下,对前端开发人员的要求和数量会提升,而目前并不具备这样的人才结构,推动这种开发模式的转变会有阻力。但这种快速开发 App 的需求是存在的,所以相信国内也会出现类似Titanium Cloud Services这样的开放平台。

InfoQ:你是否认为 noBackend 会是今后的趋势?为什么?

王涛:能否成为趋势关键还是取决于喜欢这种开发模式的人有多少,我相信这些人更多的属于 web 前端开发人员。而目前来看,这些人员的整体数量和能力都需要一个成长的过程,所以短时间内还是比较难成为趋势的。但长期来看,这种开发模式对整体效率的提升是有利的,相信会有更多的人会发现并推动这种模式的发展。

语言 & 开发前端