Reputation: 30727
I'm not sure if this question has either been asked or is in the correct stack site. - let me know if it isn't and i'll gladly remove it.
I'm a .Net-stack developer; more specifically, Web. I also enjoy many of the tools and frameworks .Net has to offer.
I also develop a lot with JavaScript, and various frameworks such as Angular. Especially over the last couple of years.
As I develop more JS I'm finding myself intrigued by Node.js and the strengths it has. I admit, I don't know a great deal about Node.js other than some of the typical hello world
examples out there.
Now, I would rather not have to learn a whole bunch of other frameworks to replace some of the ones I use in .Net - such as Entity Framework for example.
So this lead me to wonder - is there anything available that bridges the gap between Node and .Net.
Perhaps my thought process isn't working correctly, though what I would like to achieve would be:
I figure with this, that I would/could get the speed and scale-ability that Node.js offers but keep in with the many years of experience I have with .Net for everything between the Rest service and Database.
Is this something that exists, or even possible?
Upvotes: 0
Views: 70
Reputation: 2117
In the last few years there is a new Software Architecture trend called Microservices.
Essentially the idea behind Microservices is to have multiple, small and specialised applications over a monolithic application.
What you are describing is exactly that, decoupling your web app (possibly written in Node) from all the Business Logic (that can be one or more applications) written in .Net
As well as giving you the flexibility of choosing the best language/technology for a specific task, this gives you the ability to scale your application easily and effectively.
You can read more about it in this post
EDIT: also as described by Kevin B, you can use http calls to communicate between those applications. And to add to that you could also use pub/sub or queues for communications between microservices
Upvotes: 2
Reputation: 95031
Yes, this is entirely possible.
Think of a node.js application as an http server on it's own, just like your .net server. They can both co-exist on the same physical(or virtual) server running on different ports. You can then bring them both under the same domain and port using IIS (or apache, nginx, etc) reverse proxy settings. With that setup, all it would take to communicate between the two is a simple http call, and your front end would look like it's all running under one system, even though in reality they're two separate applications.
Upvotes: 2