请告诉我是否:
- Node.js将使我们的网站更快!
- Node.js将消耗更少的服务器资源,我们可以节省金钱!
- Node.js将使我们的生产力更高!
- Node.js意味着我们可以共享客户端和服务器端JavaScript代码。
为了澄清起见,我们正在重写前端服务器,该前端服务器将作为API与我们现有的Ruby on Rails应用程序通信。同时,我们将Ruby on Rails应用程序重构为服务。
现有架构的更多详细信息:
请告诉我是否:
为了澄清起见,我们正在重写前端服务器,该前端服务器将作为API与我们现有的Ruby on Rails应用程序通信。同时,我们将Ruby on Rails应用程序重构为服务。
现有架构的更多详细信息:
Answers:
您提出的大多数问题在没有上下文的情况下是无法回答的,并且鉴于管理层已经为您做出选择,所以或多或少都没有什么意义……除非您问“面对所有这些变化,我应该辞职并找到新工作吗? '
如果您要解决问题,建议您阅读以下主题的这篇文章:如何在不损失理智的情况下生存下来的重写。
我最近开始着手在node.js中重写一些服务器逻辑。主要原因是它当前是用.NET编写的,我们希望从MS环境中逐步迁移。
到目前为止,我的经验是非常积极的,您将获得一个初步的学习曲线,了解它的所有非阻塞性,但是一旦您超过了它,编写代码实际上就很有趣了。我知道,有趣!
但是它确实有一个阴暗面,每个人和他的狗都使用JavaScript进行了一些前端开发-并且我希望这将是每个前端开发人员-当您提到node.js是“服务器端javascript”时,会感到有些兴奋但是,这并不意味着前端开发人员将具有编写出色的服务器端应用程序所需的经验。
一方面,您考虑到一个致命错误,因为它具有非线程性质,它将导致整个应用程序崩溃,因此赌注会更高,您必须明确检查并捕获所有内容。
对于那些既完成前后工作又享受两者兼而有之的人,而不必将思维环境从前端语言切换到后端语言是一个真正的收获,我认为这最终将提高我们团队的工作效率。
好吧,除非性能不佳,否则我认为重写应用程序不是一个好主意。要回答您的问题:
Node.js并不是魔术。您的应用程序拥有大量用户,因此无法确定它将使其变得更快。
好吧,是的,Node.js实际上确实消耗更少的服务器资源。因此,您不仅可以节省资源,而且可以利用现有资源做更多的事情。这主要是因为Node.js具有单线程特性。没有其他线程的开销。
同样,Node.js也不是魔术。话虽如此,其中可能有些道理。Node.js有一个非常活跃的社区,为每个可能的任务创建了数百个模块。因此,大部分工作很可能已经为您完成。您只需要将各个部分组合在一起即可。
从理论上讲,是的。由于Node.js是JavaScript,因此您可以在客户端和服务器之间共享代码。但是我不确切知道将要分享什么。我没有编写任何可在客户端上重用的代码。我们在服务器上执行的操作通常与客户端无关。对我来说更重要的是缺少上下文切换。我发现以单一语言在客户端和服务器上编码更容易。
由于Node.js是单线程的,除非明确配置为这样做,否则它无法利用多个CPU。
也看一下评论。他们为Node.js的运作提供了很好的见解。