.NET开发人员探索NodeJS,MongoDB,AngularJS和ExpressJS

我是C#.NET开发人员,我用来构buildWeb应用程序的工具是:

  • SQL Server
  • entity framework
  • .NET Web API
  • ASP.NET MVC
  • HTML / CSS / jQuery的

我一直在阅读AngularJS,NodeJS,MongoDB和ExpressJS,看起来这些“Javascript-ish”技术,你可以build立一个完整的Web应用程序。

我的问题是,这使我对.NET堆栈的知识有了什么? 我想开始拥抱这些新技术,并与他们build立我的下一个网站,然而,我很困惑,我是否应该彻底取消.NET堆栈,或者如果我应该用这个function补充这些新技术。 NET堆栈,它可能是有道理的。 这是我的一些想法:

  • MongoDB可以替代SQL Server和Entity Framework
  • AngularJS几乎可以取代ASP.NET MVC(因为两者都是MVC模式,两者都是多余的,我想)
  • 但是当涉及到构buildAPI层时,NodeJS是否会完全取代ASP.NET Web API? 或者我可以一起使用它们吗? 什么会最有意义(一般来说)? 考虑到像MongoDB这样的NoSQL数据库有类似JavaScript的语法,我们甚至需要服务器端的API吗? 客户(理论上)不能直接与数据库交谈吗?
  • ExpressJS适合哪里?

我希望有人能够帮助澄清这些技术是如何相互融合的。 很确定很多想要探索这些新技术的.NET开发人员都有同样的问题。