V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hulalalala
V2EX  ›  Node.js

Node.js 属于前端?EXO?

  •  1
     
  •   hulalalala · 2016-10-18 10:00:27 +08:00 · 4993 次点击
    这是一个创建于 2966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    "你还真以为 node.js 属于后端啊?"来自本部门一个工作经验两年的前端工程师.

    27 条回复    2017-02-27 12:01:55 +08:00
    janxin
        1
    janxin  
       2016-10-18 10:06:07 +08:00
    难道不是么 :)
    chaos_mical
        2
    chaos_mical  
       2016-10-18 10:09:24 +08:00
    这话没毛病
    zachlhb
        3
    zachlhb  
       2016-10-18 10:11:02 +08:00 via Android
    前端的说属于后端,后端的说属于前端,要不重新开辟个中端?
    dtysky
        4
    dtysky  
       2016-10-18 10:12:26 +08:00
    属于前端里的后端,后端里的前端,不矛盾
    wyntergreg
        5
    wyntergreg  
       2016-10-18 10:13:33 +08:00
    前段里写后端最牛的,后端里写前端最爽的
    xylitolLin
        6
    xylitolLin  
       2016-10-18 11:11:19 +08:00
    这话没有问题啊,现在很多大厂都是用 node.js 来协助前端开发的
    zhouyg
        7
    zhouyg  
       2016-10-18 11:15:59 +08:00
    没太大毛病
    hheedat
        8
    hheedat  
       2016-10-18 11:17:10 +08:00
    跑在客户端的被称作前端,跑在服务端的被称作后端,难道不是这样?

    如果硬要说 nodejs 属于前端,那也是在服务端的体系里面偏前端
    hulalalala
        9
    hulalalala  
    OP
       2016-10-18 11:23:41 +08:00
    这个问题的讨论焦点在于,前后端的区别是什么.
    66beta
        10
    66beta  
       2016-10-18 11:35:56 +08:00
    现在服务端端都是出 API 了,其他的不管了
    那么用 nodejs 直出这种事情,当然算 WEB 前端的事情了,不过岗位上来说,不能让原先的 WEB 前端来做
    jswh
        11
    jswh  
       2016-10-18 11:37:01 +08:00
    以前, php 属于前端
    maplerecall
        12
    maplerecall  
       2016-10-18 12:25:30 +08:00 via Android
    前端后端得看职责啊,你拿来打包边缘肯定算前端,拿来跑线上服务肯定算后端,哪有按语言分前后端的说法
    murmur
        13
    murmur  
       2016-10-18 12:31:55 +08:00
    npm 也是 node.js 的一部分[:滑稽]
    sylecn
        14
    sylecn  
       2016-10-18 12:50:35 +08:00
    node.js 前后端都支持啊,看你怎么用它。
    凡是不是用来写 api 的,都算前端。现在前端也离不开 node.js 的。
    FrankFang128
        15
    FrankFang128  
       2016-10-18 12:54:39 +08:00
    分那么清楚干啥
    SuperMild
        16
    SuperMild  
       2016-10-18 13:14:23 +08:00
    说 Node 属于前端不合理,视野太狭隘。

    Node 大于前端,前端只是 Node 的一部分功能而已, Node 比其它语言(或框架、系统)更擅长处理前端事务,同时, Node 还可以处理后端事务。
    SuperMild
        17
    SuperMild  
       2016-10-18 13:16:18 +08:00
    其实不如这样分更合理、更少歧义:客户端 ⇔ 服务器端
    Wenwei
        18
    Wenwei  
       2016-10-18 13:23:12 +08:00
    就像 PHP 可以属于前端,也可以属于后端,就看 PHP 如何使用,看职责。
    Nutlee
        19
    Nutlee  
       2016-10-18 13:35:05 +08:00
    不管前端后端,我觉着前端需要会。
    otakustay
        20
    otakustay  
       2016-10-18 18:42:45 +08:00
    你都不说用 Node 干什么,让人怎么定义归属?
    soulmine
        21
    soulmine  
       2016-10-19 09:37:20 +08:00
    先下定义好了 不问是不是 就问为什么都是耍流氓
    zhangqinmiao
        22
    zhangqinmiao  
       2016-10-21 00:41:15 +08:00
    @zachlhb 23333 ,“中端”这名真是精髓啊
    linux01
        23
    linux01  
       2016-10-27 23:04:38 +08:00
    数据库属于什么端啊
    bigtotoro
        24
    bigtotoro  
       2016-11-06 23:15:27 +08:00
    中端。呵呵
    ibigbug
        25
    ibigbug  
       2016-11-14 03:06:57 +08:00
    硬盘属于什么端啊?
    erictaoy
        26
    erictaoy  
       2017-02-06 14:44:13 +08:00
    看前后端在你们公司怎么定义了。
    如果说跑在浏览器里面的是前端,跑在服务器的是后端,那 Node 理应属于后端。
    如果说前端工程师开发的都叫前端,服务端开发工程师开发的都叫后端的话,那 Node 看谁来用就是什么了。
    但广义上来说,属于后端。
    libook
        27
    libook  
       2017-02-27 12:01:55 +08:00
    不同人可能对这些概念的理解不同,所以沟通效果也是不同的。

    个人感觉不应该给某项技术贴上前端还是后端的标签,前端后端应该是整体系统架构上分层解耦而产生的抽象概念。比如简单的一体化小博客程序可以简单的把浏览器上跑的那部分作为前端,处理数据的那部分作为后端;而一个大型网站可能会将应用层的 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 程序,但是可能他并没有掌握一些后端架构思想,所以也很难做出符合真实生产要求的后端程序。

    最后就是讨论题主所述的这件事本身,因为不知道具体的情节背景,所以不做评判。只是建议题主不要太认真。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 11:06 · PVG 19:06 · LAX 03:06 · JFK 06:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.