专访彭星老师:探究前后端分离存在的意义

你的团队是否出现过以下的问题:

  • 随着业务复杂度增加,前后端职责渐渐分工不清

  • 传统开发模式下,团队整体开发效率低下。

  • 项目代码的可维护性很差

  • 由于后端框架限制,无法应对前端开发复杂多变的需求

如果你的团队遇到了以上的问题,那么是时候考虑用前后端分离来解决了。对于目前的 web业务场景来说,前后端分离已经变得越来越流行了,究其原因,正是这几年随着互联网业务呈几何式增长,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足企业对用户体验的高要求,往往工程师们不得不针对不同的终端来定制新的版本,为了提高开发效率,前后端分离的需求越来越被重视。

专访彭星老师:探究前后端分离存在的意义
专访彭星老师:探究前后端分离存在的意义

能否先简单的自我介绍一下。

您在前后端分离方面有多年的经验,您感觉为什么现在大家都要做前后端分离,这么做的动机是什么?

彭星老师:这个问题很大,做前后端分离还是要看具体的应用场景,大部分情况下,还是为了让前后端分工更明确,从而提高开发合作效率。因为以前的开发模式中经常存在前后端职责不清楚的状况,经过这几年的摸索,业内达成的共识是,前后端分离的核心在于在于模板的与数据结合的位置,以及模板的控制权在谁手里,现在统一的做法是模版的控制权在前端这边,这样后端可以专心于业务逻辑、数据处理和持久化等。前端更专心于呈现,着重处理用户体验相关的问题。

那前后端分离主要解决了哪些问题呢?

彭星老师:有一点在之前已经说过,就是让前后端的分工更明确了,除此之外,我认为它还解决了以下几个问题:

  1. 减小前后端的耦合度,降低开发联调环境部署成本,让前端开发不依赖后端环境,提升开发效率;

  2. 前端发挥空间更大,解锁很多能力,前端能够结合后端能力做一些以前做不到的优化工作;

  3. 代码维护成本相比之前降低很多;

在企业中,什么样子的技术团队规模适合做前后端分离,一定要是团队规模很大的大公司么?

彭星老师:我觉得只要团队内有能够 Hold 住前后端分离的人,就应该做前后端分离,和团队规模并没太大关系。有的人会说,创业团队追求的简单快速上线,不应该做前后端分离,这其实是一种错误的认知。首先,前后端分离难度并不高,前后端分离有很多种形式,SPA 也是前后端分离的一种形态;其次,从业务发展来看,创业团队的业务追求快速迭代,前后端分离也非常适合这种模式;最后,业务发展到最后再来做前后端分离,不如一开始就打好基础。

您在做前后端分离中遇到过最大的阻碍和问题有哪些?

最后一个问题,目前的前后端分离方案,比如 SPA,基于 Node.js 等,这些解决方案都有哪些优缺点?

彭星老师:SPA 和基于 Node.js 的前后端分离都是前后端分离的一种形态,两者都做到了前后端分离,在前后端分离的层面上,并没有太大不同,主要的不同还是体现在技术形态上,一个是前端 JS 渲染,一个是后端 JS 渲染。

SPA(Single Page Application)。前后端分工很明确,后端负责数据接口,前端负责展现和交互,而且体验很好,它的缺点是首屏加载资源较多,导致首屏渲染慢,白屏时间长,而且,一个很关键的点,SPA 对 SEO 支持的不是很好。

基于 Node.js 的前后端分离(这里需要解释一些,这里说的基于 Node.js 的前后端分离不是指的类似于 Vue SSR 这样的结构,而是用 Node.js 渲染的多页应用)。这种方式的好处是白屏时间短,SEO 支持的很好,但是页面与页面切换开销比较大,没有平滑的过渡动画,这点不比 SPA。

结束了对彭星老师的采访,我们可以看出,随着前端的丰富,前后端分离已经是必然的一个趋势。各种技术如雨后春笋一般,层出不穷。而 Node.js的出现,是前端真正意义上变成了大前端。回首 Node.js这门语言的发展,起初作为一门后端语言,但是无心插柳的成为了前端工程师提高效率的工具,成为大前端发展的基石。

在大前端的趋势下,无论你是后端工程师,亦或是前端工程师,前后端分离都是一个永远绕不过去的问题,而 Node.js亦逐渐成为一个成熟的前后端分离的解决方案。但 Node.js究竟在前后端分离当中还有哪些更深层的应用?前后端分离的解决办法究竟是什么?前后端分离会给业务或者项目管理上带来哪些收益?以上都可能是你现在心中的疑惑。

专访彭星老师:探究前后端分离存在的意义

现在扫描下方二维码进行报名,可享 8折优惠,立省 960元


分享到:


相關文章: