大家觉得 Node 后端发展前景如何,有没有大公司商业级实现,求交流

2020-02-16 13:51:32 +08:00
 longrenle
6409 次点击
所在节点    Node.js
5 条回复
chuankoog
2020-02-16 14:20:08 +08:00
abcbuzhiming
2020-02-18 01:11:44 +08:00
说说我自己对 node 和 js 当前发展路线的“困惑”:
首先,用户群体本身没有啥问题的,js 在语言排名上长期处于 5 名左右。用户社群可能比不上排第一的 java,但是也差不到哪里去。
按理说,当一门技术有相当的使用者,哪怕这个技术本来其实不咋地,但是用户的需求会倒逼技术本身进步,使它逐步补全自己的短板,比如 JVM 刚诞生的时候也不咋地,硬是靠着开源社区的反馈磕磕碰碰但是逐步完善到了今天。

我曾经也是这么看待 JS 语言以及 NodeJS,甚至几年前 NodeJS 向后端渗透时,我曾经很乐观的认为,对后端的介入会让 JS 和 NodeJS 理解到自身的短板在哪里,并加速进步。

然而几年过去了,JS 和 NodeJS 进步了吗?进步了,但是那些应该补上的短板呢?补上了吗?没!

JS 委员会忙着添加各式各样的语法糖,但对前端业界面对的业务复杂度上升,需要工程化,需要更严谨,需要多人协作的呼声视而不见——你们去用 TS 好了,TS 挺好的,类型系统完善,语法优美,社区支持度高。至于我们 JS,那当然要添加更多的特性,更加的灵活,更加的“动态”。。。

你们 JS 技术委员会真的认为只挖新坑不填旧坑就可以了吗?

再说 NodeJS 向后端进军的努力,前后端使用一种语言,降低开发者心智负担,伟大的理想,应该支持啊。然而几年过去了,NodeJS 仍然守着事件机制不放手,好不容易加入了多线程支持,我一看那实现方式我就觉得自己受到了智商侮辱,你管这个叫多线程解决方案?

NodeJS 这几年的技术发展没有一点向别的语言技术学习长处弥补短板的意思,始终停留在自己的舒适区里。若非如此,哪怕 js 本身有各种问题,NodeJS 也不至于只是在 SSR 这个保留地蹲着,早就该扩散了,毕竟前后端同一种语言可是能节约巨量的成本的,然而现在拿 NodeJS 搞 web api 的都没几家(不用拿我公司用了之类的留言,事实就是没几家,对 web 的传统服务领域一点威胁都没有)。

用户真的不是傻逼,1 个领域经过长期发展遗留下来的有历史包袱,但也有时宝贵经验,你总觉得那些都是历史包袱,我和他们不一样是我先进,所以我能取胜,那你只会换来冷遇。不是所有的不同都是你先进,也可能其实是你落后,该补课。

最后说一嘴 NPM,这里我不谈技术好坏,我就想问问,bug 各家包管理里的代码都有,但是,你这包管理工具三天两头的被黑客黑进去放恶意代码,你是缺钱呢还是缺人呢还是缺钱呢??


说真的,我看到 NodeJS 和 JS 现在这个样子,对我自己的经验产生了深深的怀疑,因为历史上没有哪家技术获得了用户的广泛使用后,发展路径是这个样子的。感觉 js 和 nodejs 的技术掌舵人们一副我行我素,完全不理会工程界实际需求的味道,而且 NPM 屡次出现黑客渗透事故也让整个 NodeJS 背后的组织透出一股贫穷的气息。这不符合你的身份啊,全世界的 web 都要用的东西,你缺钱缺人?也许我老了,看错了,NodeJS 其实根本没到大众推广阶段,还只是早期使用阶段,所以才这么多问题?需要再给多点时间?

我会继续关注 JS 和 NodeJS,毕竟一个控制着世界上最广泛使用的开放标准 UI 系统,一个有着前后端同一种语言编写的梦想。但你要说他们现在就很有前景。。。我心里有困惑。

最后 PS 一下,JS 和 NodesJS 的主要竞争对手可没闲着,JVM 正在执行瘦身计划以解决启动内存占用过大问题,Go 正在突飞猛进。并且你 JS 在挖后端的墙角,就没注意到那个 TS 其实是你在前端最大的问题吗,一众后端语言都觉得和尚摸得我摸不得?为啥不能借着编译干脆把 JS 埋葬掉算了?更别提那个野心勃勃的 WebAssembly。别到时候后端没啃下来,前端的基本盘岌岌可危啊
Hanggi
2020-02-20 10:25:10 +08:00
@abcbuzhiming 完全看不出你想说什么。你要明白,js 首先是主流浏览器唯一语言,它不是一个脱了裤子就可以撒腿跑的语言好吗? TS 干掉 JS,那浏览器怎么跑?实时编译吗?请不要杞人忧天,nodejs 或 js 活得很好,前途一片光明。
abcbuzhiming
2020-02-20 15:44:35 +08:00
@Hanggi 你看不出来说明你看的还不够多,js 当然是目前主流浏览器唯一的语言。但是你想过没有,为啥现在出现了这么多层出不穷,通过把自己编译成 js 来实现功能的语言和框架?业界想把 js 在前端编程这个领域屏蔽掉的想法简直和司马昭之心一样。至于浏览器用 js 跑有什么关系,计算机最初的时候是用二进制打孔带输入的,现在有多少程序员这么弄?

js 目前不仅的竞争对手挺多的,而且工程界提出了,对项目复杂度提升带来的需要更严谨,更方便协作的需求,而 js 标准委员会一副无所谓的态度,才是这门技术目前最大的问题所在
hpuchenkai
2020-02-21 11:00:28 +08:00
@abcbuzhiming ts 确实比 js 社区活跃,但是 ts 学习成本较高,泛型和三斜杠指令我当时好几天才弄明白,我厂现在 nodejs 只是做一个 proxy,webserver、数据加工这些琐碎的功能

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

https://www.v2ex.com/t/644997

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

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

© 2021 V2EX