为了账号安全,请及时绑定邮箱和手机立即绑定

目录

手机
阅读

扫一扫 手机阅读

一条龙的 Node·Vue·React 服务器部署

原价 ¥ 49.00

立即订阅 ¥ 49.00
3.前言导入: Node.js 及前后端边界的关系
作者:Scott 更新时间:2019-05-05 19:19:22
没有智慧的头脑,就像没有蜡烛的灯笼。

——托尔斯泰

这一篇专栏我们会讲一下为什么我特别主张前端的同学们都要学习一门后端语言,当然这门语言最好是 Node.js(对于前端上手快),要解释为什么要学习后端语言,那就要从什么是前端,什么是后端,以及前后端关系、前后端边界来讲起。

注意: 本篇及后面 3 篇,一共 4 篇内容先给大家介绍一些 Node.js 相关的概念知识,为正式部署做一下铺垫,对 Node.js 已经很熟悉的同学们可以跳过这一部分,直接接入正文 ”工作流程“ 开始准备部署项目。

在讲解 Web 项目开发中前后端关系之前,我们先搞清楚平常所说的前端、后端到底是什么。

什么是前端

我们一般所说的前端都是指浏览器、App、小程序、各种交互大屏这些软硬载体里的页面开发,这些页面内容获取、数字化展示、用户的交互等等,这都是前端范畴内的事情。

前端会关注到用户体验相关的所有环节(从交互设计、组件可用性、页面加载速度、交互流畅度甚至无障碍访问等等),并不仅仅只是开发页面,而且前端的边界也在逐年变化,向下到 IoT(物联网) 语音交互,向上到可视化与图形图像处理,以至于拥有了足够多种类的端,我们就可以管自己的前端团队叫大前端了。

什么是后端

后端则是一个很大的概念,从数据库到服务器到集群等,可以这么说:一切托管在机房实体主机中的数据处理系统,和服务于数据处理的各种应用程序甚至硬件集合等,都属于后端的范畴。现实中的系统是无比复杂的,今天我们把概念简化一下,把前端缩小为一个网页,把后端缩小为一个提供服务的服务器:

图片描述

从事前端开发是不是就不用学习服务器了?

前端和后端是通过 HTTP 等诸多协议,以请求来回的方式在二者之间通信,前端的网页是需要托管到服务器上的,如果有自己的静态资源,图片/CSS/JS 等,这些资源也是需要托管到服务器上,所以本质上对于网页这样的前端来说,一切资源都在服务器上,一切网络交互都是跟服务器交互。

所以对于一个工程师而言,无论是从事前端还是后端,都避不开服务器这一层,而且单纯做静态前端开发是很难成为资深前端开发工程师的,团队大了项目大了,就会用到资源编译、打包压缩、部署这些工作,这些工作又繁琐,又零碎,往往会困扰着很多新手工程师,让他们望而却步,这就是本专栏课程的重要意义,通过后面的学习我们把部署发布这个硬骨头啃下来。

前端与后端的关系

前端和后端的协作,往往是我们印象中的接口,以异步的方式来回传数据。而实际上天下苦前后端协同久矣,前后端从十几年前开始明确的分化,到现在都经历了太多次的技术变迁,多少程序员黑发到白发,长发到秃头沉沉浮浮,前后端如今的边界在哪里?我们大脑皮层遇到这个问题的第一个反应,往往就是,前端开发页面,服务端渲染页面或者与页面异步同步数据,剩下的事情就交给浏览器了,边界仿佛就在静态页面开发和数据渲染这里,那么它真的是在这个地方么?

要回答这个问题,先聊一聊我的职业生涯。我从事前端开发 8 年了,算是一个老前端,在我的眼中,前端后端的边界越来越模糊了,而且这个边界也在不同的公司、不同的团队甚至不同的业务模式下,不断的发生着变化。这不是废话么,那到底边界在哪里,是什么?

我个人觉得,就是数据的控制权和与视图所依赖的 API,这里就是目前前后端的边界,数据控制权属于后端,API 属于后端,把前后端简单看做是一个完整的系统,这个系统中自 API 向下自然是后端的,API 向上则慢慢属于前端,为什么是慢慢属于前端?这就是我们这一次课程重点研究的地方,前后端的职能变化,前后端的分工边界,前后端的角色变迁,都跟我们从哪里开始组装和输出数据的控制权有很大关系。

基于分工的关系,前后端的合作成本其实很高,源于语言栈,源于主导权,也源于各自职能的不同,这个是必然的,即便是有了各种的 Mock 方案、团队规范、工具基建,都没办法大幅度的降低这个成本。

前端与后端的边界

另外,前后端的边界慢慢的不像我们认为的那么清晰了,前后端的职能壁垒也不像我们认知中的那样不可逾越,它跟我们内心对自己的工程师身份认同有很大的关系,所以大家要问自己几个问题,为什么我一定是一个前端工程师?为什么我一定是一个后端工程师?为什么我一定不想去关心任何系统底层或者上层 UI 的问题?为什么我觉得端上的体验和页面或者服务搭建,几乎是我工作的全部重心。

这一二十年前后端技术演进的过程中,前后端各自的能力边界都得到了很大的扩展,互相合作才有了今天互联网的繁荣,我个人的角度是,前端后端的边界模糊也好,清晰也罢,本质上我们是一个系统的上下组合部分,通过各种咬合来保证产品正常上线运行为公司创造价值,至于我们咬合的部分,是需要双方都有足够的勇气和胸怀,迈出一步甚至两步,以团队效率为根本出发点,而不仅仅是职能,前端工程师尽量不要限定自己的界限,可以放大自己的能力甚至是权利,主动承担灰色地带的事情,这些事情的承担看上去是苦活累活,但最终解放的依然是我们自己的价值枷锁。

而解放这么多的枷锁,所需要的非常重要的一把钥匙,便是 Node.js 的全栈能力,Node.js 横向纵向地扩展了前端的领域能力,也直接解封了前后端的历史边界,让 JS 可以在工具、系统、服务层面发挥更大的价值,前端终于迎来了自己掌控工具的一天,工具一旦开始,就如同猿人工具造火一般,一直会进化到星际旅行,未来不远,未来可期待。

小结

前面聊的有点发散,一句话收尾,前后端在变化,边界也在变化,无论前后端都应该开放心态,调研新工具,实践新方案,站在一起来让工程师的技术价值最大化,帮公司省更多钱,给公司赚更多钱,最终获得更大自我价值实现。

而这个边界到底如何变化呢?我觉得,从前端的角度出发,先一定程度掌握 Node.js,并基于 Node.js 了解必要的后端知识特别是服务的部署和简单运维,而学这些部署和运维并不需要非常扎实的技术体系做支撑,有更简单容易上手的方式,这就是我们这次要学习掌握的技能,那我们下一节开始正式去揭开它的神秘面纱吧。

}
立即订阅 ¥ 49.00

你正在阅读课程试读内容,订阅后解锁课程全部内容

一条龙的 Node·Vue·React 服务器部署
立即订阅 ¥ 49.00

举报

0/150
提交
取消
意见反馈 分销返利 帮助中心 APP下载
官方微信