Will Node.js conquer the world of large scale enterprise systems?
Hurray for less barrier btw front/backend, consistently asynchronous and the power of dynamic run-time-compilation. In all, a lot of freedom in the JS lack of typing and dynamic run-time-compilation, but with great freedom comes great responsibility. And if the responsibility isn’t taken due to whatever reason (lack of coding practices, lack of competence or experience…) the journey will not be that nice eventually. So, to successfully use Node.js for your enterprise system, you really need to design and maintain your code base very carefully. I would say this is way harder and more important than working in any of the more common and forgiving back-end environments like .net/c# or jvm/java.
Questions
Is Node.js
ready to conquer the world of large scale enterprise systems?
Although Node.js doesn’t provide as many out-of-the-box
component as for example java, and hasn’t been “hammered” as much, the Node community
is very active and productive. And Node.js is already successfully used by many
well-known companies and solutions such as Ebay, Paypal and LinkedIn (see nodejs.org/industry/)
to mention a few. Also many of our (Netlight’s) current clients are
using Node.js for production systems very successfully (so far ;-) ) but they
all pretty much origin from the web/media industry with long JS experience.
Will a “normal”
company manage to develop and maintain a large scale platform based on Node.js platform
today?
If you’re not very confident in your competence within JavaScript,
Coding Practices/Architecture&Design and TDD I would be careful to take too
large steps into the Node direction. Or call Netlight to get help to guide you
and to empower your own organisation within the area for a couple of projects. (that’s
how you should use a real genuine consultant netlight.com/genuine-consulting).
Should I go for
Node.js?
It depends.
-
Do you origin from heavy front-end/web
business with good JS competence already and your dev teams want to go into
Node.js more than anything else? What are you waiting for? You will most likely
feel more productive by getting more light weighted and getting things done
quicker or getting better support for high performance (remember Node.js to be
consistently asynchronous with easiness to fork off any processes). You will
feel better about not having to choose up front if a service or component
should exist in the front-end or back-end layer. The same Scrum team can be
used for both back- and front end work since same language competence now can
be used, so Scrum fascists can have any team members do any work.
-
Are you today maintaining a large
back-end code base and wondering if you should rewrite it all in order to go
into the Node.js direction, because that’s what your dev teams want? Of course
you shouldn’t. We never want a revolution but an evolution, right? With Node,
one of the nicest and most valuable advantages, as I see it, is to start having
your front-end layer communicate directly with business components, avoiding a
fat (and lazy) “one entrance” back-end platform in between. This is at least where
I would start introducing Node.js in my application/enterprise architecture.
-
I have this java back-end
business component packed with complex business logic, do I go for Node.js
instead? Always, never change anything that works unless you really need it and
have a rock solid business case. However still such a component would be the
last place I would consider Node.js. (call me old fashioned) More and more
today we understand that our enterprise architecture isn’t a monolith where one
strategy goes for all. The need for agility and change will differ a lot as
well as the business criticality. Not to mention the need of performance, response
time and uptime. Of course the optimal technology will differ as here as well. So
talking about going into Node.js for sure doesn’t mean all parts of your
architecture must do.
Follow me on Twitter: mandus_engman
Java's predominance in the back-end enterprise world is constantly being contested, but I'd say it's not likely to yield much ground to any of the contenders for at least another 10 years or so. Despite Java being a mediocre language with a terribly slow pace of progress, you can do almost everything reasonably well, and there's a huge community and ecosystem, especially in the open-source field. Also, it has the reputation of that less funky but more mature and experienced elder brother, which is frequently a winning argument in more established companies.
SvaraRaderaI see Nodejs' niche as being content-delivery-platform for HTML/.js centric Webapps, or Mobile apps. If logic, integration or processing power is little more than trivial, I believe .js falls short due to language constraints, and library/component ecosystem. The JVM can similarly run the same setup of .js running Nashorn, plus all the goodness the JVM can offer. But, if the customers goal is homogenizing as much as possible or has a simple problem scope, Node'll probably be great
SvaraRaderaVery superb and such a nice list.Thanks for sharing...
SvaraRaderaHire Node js Developer
.I would like more information about this, because it is very nice...Thanks for sharing!
SvaraRaderaseo services in UK
web design development company in UK