针对 @萧强 的答案,有所 反对 / 质疑 / 赞同 。
为什么前端精通 Node.js 的人这么少?这不是理所当然的事情么。
为什么前端精通 Java 的人这么少?
为什么前端精通 PHP 的人这么少?
为什么前端精通 Python 的人这么少?
为什么前端精通 Ruby 的人这么少?
为什么前端精通 Go 的人这么少?
这不都是理所当然的事情么。
(一般情况下,名称叫 Node ;只有语境有所混淆的情况下,才叫 Node.js 以和 node/“节点” 区别。这和 Go 一样,一般叫 Go ,有表达不清楚的情况,才叫 Golang 以和 go/“去吧” 区别。以下文中均称 Node .)
反对 “1. Node 比较新”:
就因为它比较新就精通的人少吗?它在 09 年发布,同年诞生的还有 AngularJS ;AngularJS 也比较新啊,为什么同样“比较新”而前端精通 Node 的人少、前端精通 AngularJS 的人多呢?
质疑 “2.更新比较频繁”:
更新频繁就精通的人少吗?同期诞生的 AngularJS 更新貌似更频繁吧?我不是前端的,不了解,谁懂谁来补充。
赞同 “3.战线比较长,战斗力自然分散”:
做 前端/客户端 的人,去研究 后端/ 服务器端,精力分散,思维需要切换,身为前端去搞 Node 这样的后端,当然一般不会精通。这点我赞同。
强烈反对 “4. Node 目前定位比较尴尬,高不成低不就,大项目稳定性、安全性被质疑,小项目还是没人家PHP 各种CMS来得快”:
这句话放在 09 、10年还可以,放在现在已经不适用。
定位:Node 的定位一直很明确:“高性能的 Web 服务器”,事件驱动、非阻塞I/O 是它的特点。
大项目中:Node 已经作为大项目的部分被相当大范围地使用了:淘宝、天猫的 Web 版,已经使用了 Java - Node 的架构,你能看到的很多页面都是在Node 服务器 上渲染的,而不是原来的在 Java 服务器 上渲染、更不是到现在还问题多多的 前端渲染;UCloud ,已经使用 Node 构建分布式集群;国外的 Paypal、Linkedin 就更不用说了,部分业务在使用。Node 在大项目中并不是去取代谁,而是接手它擅长的部分,去和其他后端语言共存。
小项目中:现在初创公司的纯移动应用,首选后端语言是 Node . 比如:决战喵星、知乎日报、爱范儿、丁香客。一是因为开发起来快,比 PHP 还要快;二是因为对他们来说够用、需要的功能通过 Node 都能又快又好地实现。至于 Node“没人家 PHP 各种 CMS 来得快”,Language 和 CMS 比谁快,不在一个层级上,没有可比性。
另外,各大 PaaS/BaaS 提供商均对 Node runtime 实现了支持:Parse 只支持 Node ;LeanCloud 首先支持 Node 、最近刚刚增加了对 Python 的支持;BAE 支持 Node、Python、Java、PHP (这四个可以合称后端四大天王。。);阿里云 ACE 也支持这四大天王(其中Node、Python 最近推出,尚未体验版)。PaaS/BaaS 提供商之所以要支持 Node runtime ,因为做应用的客户们有使用 Node 的需求。
不明白 “5.同行的嘲讽” 跟精通一门后端开发平台有何关系:
再次强调:这是门后端开发平台,不是前端的新技术。你们愿意学后端开发是可以的、但不是必要的,学会使用那些 Node 编写的前端开发辅助工具就可以了,比如学会使用 Gulp .
不太认同 “6. Node 在技术层面上精通有一定难度”:
对前端开发者来说,不止是 Node ,精通 Node、Python、Java、PHP、Ruby、Go 等后端开发平台均有一定难度。
但是对后端开发者来说,精通 Node、Python、Java、PHP、Ruby、Go 的难度差不多。稍有不同的可能就是 动态类型语言 和 静态类型语言 语言上的差异,但基本的服务器 API 、构建服务器程序的方式、与数据库的交互,都是一样的原理。
所以我建议普通前端们不要再想着精通一门后端了,除非是学有余力的全端大牛。
来源:知乎
共同学习,写下你的评论
评论加载中...
作者其他优质文章