不同人可能对这些概念的理解不同,所以沟通效果也是不同的。
个人感觉不应该给某项技术贴上前端还是后端的标签,前端后端应该是整体系统架构上分层解耦而产生的抽象概念。比如简单的一体化小博客程序可以简单的把浏览器上跑的那部分作为前端,处理数据的那部分作为后端;而一个大型网站可能会将应用层的 UI+服务一整套作为前端,各个微服务统称为后端。主要看架构如何规划和抽象。
如果抛开不同人对前段后端的理解差异的话,可以尝试参考[维基百科](
https://en.wikipedia.org/wiki/Front_and_back_ends)上的定义:> In software engineering, the terms front end and back end refers to the separation of concerns between the presentation layer (front end), and the data access layer (back end) of a piece of software, or the physical infrastructure or hardware
这样的话如果 nodejs 主要用来做页面渲染和 UI 层业务处理的话就属于前端,
如果 nodejs 用来计算处理数据业务的话就属于后端,看你怎么用。
以上是关于技术的前后端划分,接下来要说说技术人员的前后端职能划分。
其实团队成员的职能是和整体技术架构划分抽象有很强的相关性的,对成员掌握哪些技术关系不大,比如 Python 不光可以做微服务,还可以渲染 UI 、自动化运维、大数据分析等等,只要是图灵完备的技术都有很强的通用性。
另一方面,有的人谈论前后端的时候说的是 V8 、 JVM ,我们谈论前后端的时候说的是 MVC 、 Microservices ,这也是很重要的一点,就是一个人掌握的架构思想决定他的职能,比如一个专业做 H5 的人员可能也能很顺畅的写 node 程序,但是可能他并没有掌握一些后端架构思想,所以也很难做出符合真实生产要求的后端程序。
最后就是讨论题主所述的这件事本身,因为不知道具体的情节背景,所以不做评判。只是建议题主不要太认真。