[讣告]祭 nodejs 在我厂遭全面封杀

2016-10-19 20:56:41 +08:00
 p412726700

今日惊闻一个噩耗,目前现有的 nodejs 项目全部下掉,通通用 java 重构。

笔者 13 年初尝 nodejs ,觉得此货骨骼清奇他日必将大有作为,它以 javascript 作为语言基础,解决了 web 开发前后端中语言层面的转换,为想成为全栈开发者的人员提供了一条极佳的可选道路。并且得益于 javascript 天生异步的模式,在解决某些高并发场景下优势异常明显。同时前后端都以 json 作为数据传输形式,减少了很多类型转换的麻烦。 nodejs 的出现能让 javascript 运行服务端,至此 pc 、移动端、服务端,三端都能用 javascript 了,开心。鉴于以上几点,笔者决议投身 javascript 开发的浪潮中。

一开始 javascript 基础尚且薄弱,就做了一年多的纯前端,从事前端三驾马车 html 、 css 、 javascript ,由于在做纯前端之前做了小半年游戏服务端( nodejs 实现),也从未放弃对 node 的研究关注,试想有朝一日能寻觅一个全栈 javascript 开发的岗位,果然,随着前端的大火、 nodejs 的崛起,又过了 10 个月,笔者终于找到了这个梦寐以求的岗位,然而,这才刚刚开始。

初到厂里,车间主任 A 说,能不能让 nodejs 和 java 的 rpc 框架 dubbo 打通,笔者当时一脸懵逼,这要怎么搞,经过老大 A 的指点以及查找相关资料,阅读相关源码,和同事探讨,我们终于搞出来了,当时要说喜极而泣的话,一点都不夸张。因为当时已有的 nodejs 和 dubbo 通信全是走的 json 模型,但我厂既有服务都是 dubbo 的默认用法( dubbo 协议+hessian 序列化),所以为了极大的减少成本,我们这边就做了这么一个库,没想到,反响还可以,月最高下载量能破 4k ,这其中也不乏有大厂在用,这样的成绩,至少能让笔者买个鸡腿犒劳下自己了,后面就用这个作为底层,承载我们后台海量的业务需求,顺便说一下后台的前端也是我这边来负责,架构上就是前端->nodejs->java ,我负责前端+nodejs 这一块,有点类似淘宝的中途岛计划,可以想象,在此期间经历了很多坑,很多意想不到的问题,诚然,感兴趣的话即使刀山火海会迎难而上。

其中问题多种多样,不仅代码上,还有其它的一些,比如说 nodejs 的发布流程,私服的搭建、服务器预配置的 nodejs 版本、编译部署规则等等等等,这些我们都在同运维部门协商,我们全力协助他们搭建,路漫漫其修远兮,经过半年多的磨合、催促,终于私服的搭建在前几天初具规模了。

然而,在此之前,大概两个月前我们部门空降了个新的车间主任 B ,之前的老大 A ,被调往其它部门,老大 B 花了些时间研究了下我们整个大组的所有项目,得知我们有 nodejs 项目掺杂在其中,也没说什么。可就在前几天 nodejs 私服搭建好,运维某个领导来询问一些 nodejs 事项,他说,我们 nodejs 项目要下了,因为就几个人懂,没法做,期间讨论了一会儿,最终结论就是把 nodejs 下了,运维领导很开心,第二天前老大 A 也被告知,他所负责的另外一个 nodejs 项目全部用 java 重构,没商量!

到这,可以说在我厂 nodejs 作为后端的存在遭全面封杀,今天斗胆分析一下缘由,在我厂主体是 java , 95%,一开始 nodejs 只是小打小闹,做一些边边角角的工作,后来由于打通了 dubbo 能做的事太多了,可能几乎所有直接对接 web 、移动端的都可以接了,这种类型的项目在我厂占的比例还是很大的,这么多事情能用 nodejs 做, java 不开心了,你 nodejs 要干嘛,造反么?没人懂、没人会、没资源,运维同学也很忙,既有的所有 nodejs 项目统统给我下了。可能这就是原因吧。

nodejs 在我厂道阻且长,经历了重重困难,落得一个这样结局,也罢。君要臣死、臣不得不死。

36854 次点击
所在节点    程序员
161 条回复
sherlocktheplant
2016-10-20 11:54:52 +08:00
其实除了性能上的考虑外 js 的开发效率高太多 国内推广困难的主要问题是语言障碍 老外换语言也就是分分钟的事情 熟练度这种东西迟早能积累起来
zuotech
2016-10-20 11:57:27 +08:00
java ,nodejs, php,都是类 C 语言, 每个语言都有自己的特性, 看企业的需求, 再牛 B 的语言代码写的不优化, 算法不高明, 那也是垃圾啊, 像我就三种语言都写, 不同场景用不同的语言, 完全没有什么问题, 主要是架构层面的业务剥离;
romisanic
2016-10-20 11:58:36 +08:00
为啥感觉好好的根据当前业务和发展方向以及稳定性等方面考虑做出的基本最优的一个决策,到 lz 和很多层主眼里,就成了语言之争?
这种语言之争会被大厂车间主任作为技术选择的理由?
不要闹好嘛~
shijingshijing
2016-10-20 12:00:39 +08:00
@murmur 其实最关键的地方在于,相对于漫天的流氓 app 横行肆虐, web browser 的沙箱模式提供了一个很好的治理他们的方法。凭什么我要给你我的 IMEI ,位置信息,电话号码通讯录等等隐私,乖乖的给我在盒子里面呆着,用不用看我心情。

那个前淘宝二手市场 - 现在的闲鱼,就是走了这么个路线,强制把用户往 app 那边推, web 端无法发布商品,无法回复,甚至某段时间还无法查看评论,结果估计是数据断崖式下降,又改回可以查看评论了。

这种吃枣药丸
janxin
2016-10-20 12:03:05 +08:00
从小公司的角度来说,减少语言复杂度是非常必要的:如果只是做做 web 开始, nodejs 是个不错的选择。否则的话, nodejs 未必是一个最优解,尤其是从招人和维护复杂度角度考虑。从另外一方面来说, js 对前端工程师来说是十分熟悉的,但是对后端工程师来说那种扭曲的写法绝对不是好方法。从分工上来说,后端语言提供 API 方式更方便后端实现自己本来就擅长的业务逻辑,无可厚非。而且从前端工程师培养后端工程师对小公司来说是成本非常高的一种方式,除非是个人信仰或者这人有很高的天赋,我还是不建议了。
peneazy
2016-10-20 12:04:51 +08:00
node.js 在某些场景下性能确实很高,开发也快,但国内目前缺少这方面的人才,还需要一定的积累才行,不可盲目选择 node.js
shijingshijing
2016-10-20 12:05:30 +08:00
@mathgl 我举 facebook 的 HHVM 这个例子,并不是说 PHP 好或者不好,我只是说,每个企业会根据自己的实际情况来决定是否继续沿用老的框架和体系,比如 facebook 有足够 nb ,技术储备,人力资源都够,就自己从底层重新写一个;而对京东来说,.Net 换 java 从头再来成本更低,那么就大家一起搬家。

对企业来说,技术无所谓哪个好哪个差,能够更低成本的解决问题,就是好技术。
janxin
2016-10-20 12:06:51 +08:00
另外 node7 发布 async/await 我就打算引入 nodejs 了,毕竟开发效率好,也没那么扭曲了呀
Chrisplus
2016-10-20 12:17:53 +08:00
个人对一个语言 /技术的评价,跟企业对一个语言 /技术的评价
出发点是不一样的
jhdxr
2016-10-20 12:20:32 +08:00
@shijingshijing 其实我觉得 php7 是打了 HHVM 的脸。。。之前之所以要开发 HHVM ,而且还放弃了一定的兼容性,就是因为 Facebook 认为 php 已经无药可救只能另起炉灶\了。结果 php7 做到了在 userland 层非常良好的兼容...
mathgl
2016-10-20 12:47:06 +08:00
@jhdxr fb 好像还赞助过 pypy team 搞了一个 hippyvm

https://github.com/hippyvm/hippyvm

后来不了了之。
kaneyuki
2016-10-20 12:57:21 +08:00
视角不一样, node.js 的人贵且难招,开发者肯定喜欢能实践新技术,但管理者也要考虑开发成本和可维护性的问题。
yonka
2016-10-20 13:11:09 +08:00
@p412726700 这么说还真是 A 厂啊。 不是大前端战略用 nodeJS 代替 php 吗? 我还关注了好一阵子相关技术博客。 虽然 A 厂好多技术博客 15 年前后就停更了。
zeromike
2016-10-20 13:17:10 +08:00
我就想问这是哪个厂,我是绝逼不去的
mathgl
2016-10-20 13:21:23 +08:00
@latyas json 也可以用压缩嘛. 用 hessian 我猜是历史原因了,如果没有特别的好处,估计也没人有动力去换。
newghost
2016-10-20 13:24:04 +08:00
dubbo 不是阿里的 Java 框架吗?
dong3580
2016-10-20 13:25:34 +08:00
@shijingshijing
我很疑惑,为什么 jd 登录的那个页面还是.NET
freetg
2016-10-20 13:28:10 +08:00
A 厂技术一天不如一天
hheedat
2016-10-20 13:35:53 +08:00
楼上很多都说 nodejs 开发效率高,能有 拍黄片 开发效率高? Java 开发效率就低了?我看未必
li24361
2016-10-20 13:46:41 +08:00
@hheedat v 站的鄙视链里面,我 java 是在最底层,早已习惯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/313968

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX