@
123s 不能简单的叫分担工作,在实际的工作中你会发现 Controller 的代码和 View 的代码是强相关的,如果你们公司是传统的后端工程师写 controller 的分工,你会发现这一块经常会出现 view 需要 controller 修改代码的情况。
如果你用过 angularjs 的此类工具,你会发现实际上此类框架的 controller / routing 就是写在 js 里的。
但是 angularjs 等前端 MVVM 工具无论是兼容性,还是各自框架的癖好,都会让你感觉不顺手,比如你就是不喜欢 angularjs 的 binding ,而是就是喜欢用顺手的 jQuery ,然后又像自己能控制 routing 和 controller 怎么办? 这导致很多人一直在尝试和寻找不同的前端 MVVM 框架,再浪费时间之后发现还是不顺手,或者兼容性问题。
最后 NODE 出来了,你会发现前端能用自己熟悉的 JS 语言,然后自己写 controller 和 routing ,并且同时又能和往常一下没有被特别的前端架构所限制(前端想怎么写怎么写, jQuery 又如何?)。
至于 NODE 的异步风格,反正不写业务就还好啦,前端工程师也适应了回调的编程模式。
而且 NODE 在某些情况下还有神奇的优势,比如你有个需求要客户端同步发邮件,同步下载(我指的是对前端的 AJAX 链接不断,等到彻底搞好了才结束,而不是轮询求状态)