我现在正在研究node.js及其对性能的影响(我沉迷于速度),但是我并没有那么深入地研究它。
个人资料,个人资料,个人资料。这是知道您的提速正在产生适当影响的唯一方法。您可以猜测它足够快。但是大多数人喜欢过早地进行优化。这比在约会中和自己玩耍要糟。
我想知道node.js是否可以完全替代我在C#和ASP.NET MVC中进行的典型Web开发,是否可以更好地作为C#和ASP.NET MVC的补充,或者是否有些事情应该“单独解决” ”。
是否有针对C#和node.js的用例?
当然,如果您在一家定期使用C#编写代码的商店中,则应该使用MVC(它比WebForms更好,被称为WebPages)。您将不会浪费很多时间进行工具培训,这是您的工作流应该已经处理的事情。
上面您似乎没有指出的是选择每个对象的原因。您已经给出了两个当前的市场选择,一个仍然处于Alpha阶段,另一个处于平台发布的第三年。我不想将当前的测试模型电动汽车与已经投放市场的本田混合动力汽车进行比较。他们在两个不同的联赛中。
现在,如果您名义上是C#商店,那么这就是您远离Node.js的原因。
您当前不以异步事件I / O工作,而当前以过程格式工作。
那就是nodejs将为您做什么的对立面。
但是,如果您经常用C#编写异步代码,并且经常使用事件样式使用它,那么可以,node.js是您要考虑的问题。
这是您要放弃的:
IIS-这对很多人来说实际上很重要。诸如本机A / D集成之类的事情已经完成,并且几乎没有错误。实际上,node.js现在可以与IIS很好地集成。
- Razor模板-如果您已经做过任何认真的C#MVC,那么您正在使用和喜欢Razor,以及您能以多快的速度完成工作。节点中有类似的模板,我当然不是敲节点,但是整个工具链已经存在于C#中,并且很多工具当前都在节点世界中构建。注意:许多这种工具现在已经相当成熟 _
- dll的编译时构建-node.js通常在运行时进行编译,也就是说,并不是在启动时检查所有路径。完全有可能在节点中包含真正糟糕的代码,而没人接触,检查或测试。
- 您每天使用的VS中内置的所有工具-VS对JavaScript的支持并不多。部分原因是javascript中的所有内容都是如此动态。注意:微软显然正在开发对javascript _的工具支持
这是您将获得的:
- 假设您既进行客户端脚本编写又进行服务器端编写,则开发的所有内容都将使用相同的语言。(或者为什么您甚至会考虑在服务器上使用javascript)
因此,由于我似乎完全在这里抨击Node,因此我要指出,Node是我在家中的游戏语言,我喜欢它,并且有时我会帮助人们在stackoverflow聊天服务器(642会议室)上调试它。我看到它在未来具有巨大而巨大的潜力。
我只是说,不要把婴儿扔出去,不知道为什么洗澡水很脏。
您没有给出为什么应该放弃多年的经验并开始新的事情的原因。要么是不好的工具?一点也不。两者都很棒,使发展变得轻而易举。
节点可以代替C#吗?是的,当然可以。PHP,Java或Ruby也可以。您不是在问那些。
当您准备好编程node.js而不是C#时,这就是您的方式:
- 您正在考虑写一本书以帮助其他人“获取javascript”,而不是他们以前用C#等编写的无聊的旧程序。
- 您在同步(阻塞)I / O上遇到了问题,导致您的应用无法进行实际工作。
- 除了默认的MVC之外,您没有在C#中使用ANY库,而是仅用于路由,并且您可以确定自己可以做一个更好的路由引擎,并且可以对所有内容进行尽可能接近金属的编码。
- 您设计的每个数据对象都将显示为哈希,而不是强类型对象。