Choosing the right programming platform for a product has more implications than we can think of before we start. It impacts the speed you iterate your product, maintenance costs and HR hunting. Of course, the influence will be different at different stages of your project. One thing is sure, you can’t just sit and plan once your tech stack up-front. But you can make it easier to let your platform evolve as your startup matures. This post shows 3 greatest Node.js benefits that will make you consider it as your platform of choice.
Firstly, it is lightweight. No compilation, no JARs, no applications servers. Just write and fire. This gives you dead simple deployments and thus immediate feedback from production environment. To put it in a nutshell, it makes customer-driven development effortless.
Secondly, JS community has released many decent instruments to boost your development speed. You can get more out-of-the-box features by using reliable tools for modern web development like MEAN.io. But there’s more, NPM (a node package manager) consists of growing number of libraries you can easily incorporate into your code base. You avoid reinventing the wheel and focus on generating value from the very beginning.
Node.js is also a first-class platform for major SaaS providers. Be it big players such as Uber or trending ones like Slack. Almost each of them has a library allowing you to integrate your node back-end to their API. In case there isn’t any official one, great community (see below) immediately pops in with their own client app. It’s very unlikely that you’re required to write your custom integration. But let’s suppose that you have to.
A nice benefit of having Node.js on board as your main framework is that you share the same language on front and backend side. This supports a full-stack developer movement and is especially valuable in the initial phase of your product. There is far less mental switching between the front and the back end of a web project.
It was also one of the triggers that encouraged Paypal to move towards Node.js. Their stats speak for themselves:
- Built almost twice as fast with fewer people
- Written in 33% fewer lines of code
- Constructed with 40% fewer files
They started big - by rewriting one of their core systems. PayPal then decided to go Node.js because the system written in Java didn’t keep up with the market. If you’re interested in tech details visit their blog.
But the most important advantage of Node.js is performance. Most types of applications are I/O bound and Node serves them well:
- Web applications, Mobile, IoT, APIs, Mashups.
- DIRTy Applications (Data Intensive Real-Time Applications).
- Mashups and glueing together APIs (integration with 3rd parties etc.).
Thus most types of scaling issues are solved out-of-the-box. Take one of our cases for example. We could handle over 1000 mobile devices using a single Heroku dyno which is free of charge. I doubt if this would be possible using good, old PHP + Apache approach.
On top of that, Node.js encourages microservices architecture. It may be the most important trend in modern software architecture. It’s adapted by big fish such as Netflix or Amazon but startups too. It’s because of the fact that microservices support lean software development. You get:
- reduced developer ramp up time - large code base intimidates developers
- reduced startup time - faster feedback
- less risky re-write - rapid A/B testing
- easier scaling - maintaining a good service when customer base growing fast
Finally, if implemented right microservices can be rewritten quickly. This helps you postpone decisions about technological stack to the very last moment - when you found your product/market fit and all you have to worry about is performance.
Sceptics may say Node.js is just another buzzword. But, actually, it is the buzz behind that gives you tangible benefits.
Node’s popularity has been growing rapidly for several years now. Just look at the github stats. This has led to a number of libs and frameworks that speed up your development. At the moment node package manager is the fastest growing module repository in the world http://modulecounts.com (140k packages).
The trend is not only seen in open source community. Big companies like PayPal, Walmart, eBay, Microsoft or Linkedin have joined the hype as well. And this means Node is stable enough for big enterprises. It’s worth pointing out that Joyent, a company backing Node, together with Microsoft, IBM, PayPal and Linux Foundation has recently moved to establish Node.js Foundation to support Node.js community with neutral and open governance. There’s also io.js, an alternative fork backed by top Node.js committers, that prevents it from vendor lock-in.
Last but not least. Node.js trend attracts many talented devs. A lot of senior devs recognise Node’s features and choose it their platform of choice. Many software architects and product managers appreciate node.js for it’s maturity and scalability capabilities. As a result we can see a worldwide, sky-rocketing demand for Node devs:
While Node.js is not the most obvious choice for startup founders, we’ve noticed that more and more tech-educated CEOs is giving it a try. With its top-notch prototyping capabilities, readiness for scalability and vast talent pool, it’s proven to be a solid alternative to PHP and Ruby-based platforms.