Return to site

node.js development at rspective

You should build your next app with node.js - here's why.

· nodejs,Development

Node.js is a cross-platform JavaScript runtime with a non-blocking I/O model that makes it lightweight and efficient. npm (Node.js' package manager), is the worlds largest ecosystem of open source libraries.

There are dozens of articles all over the web that point out pros and cons of the node.js ecosystem. Many of them seem to pay much attention to the fact that it's javascript - the most popular language in the world - and suddenly backend developers can now do front-ends and vice-versa, without the need to learn new language. But there's more to it.

In this particular post we'll focus more on our own experience at rspective which we've gathered over the course of ~5 years working with node.js, beginning with the early days and v0.8, through io.js, and till the latest 7.x.

With node.js we've built e-commerce platforms, ed-tech portals, social & messaging apps, insur-tech and banking apps, PoS integrations, marketing automation SaaS, hotel-booking systems, and more. In our projects, node.js usually powers entire backends, other times it's just a complementary microservice (e.g. to Salesforce) or a slim component that glues several SaaS together. In every case though, these apps start out as simple prototypes and dynamically grow in new features and volume of traffic over time.

So, why would you want to consider node.js in your next project?

With node.js you can get rolling quick

Thanks to the strong developer community and over 450k open-source modules out there, chances are that you don't have to reinvent the wheel and develop basic functionalities from scratch by yourself. Instead, you can just put the building blocks together and focus on the cool features you're about to release.

With express.js or hapi.js you can have your web server up and running in minutes. With claudia.js or botkit you can set up a chat-bot in just a few lines of code. Machine Learning and Natural Language Processing kits are available out there too. The possibilities are endless.

That's certainly a huge advantage especially for startups, which need to iterate a lot, experiment with new ideas, often times pivot away from their original concept, and in general - be able to deliver quick no matter what - and all that usually with very limited resources.

In fact, being a software house whose main target are startups and small companies, 95% of our projects are based on node.js. With this platform, it's not uncommon that we are able to release to production the first very basic MVP of the app in days rather than weeks.

Node.js is easy to scale

There are many apps out there that don't ever reach the point where scalability is an issue. But when they do - for us it's significantly easier to scale them up and prepare for heavy traffic and millions of users - when they use node.js under the hood. This doesn't imply that with Ruby, PHP or Java it's impossible - from our experience it just takes more effort and resources to have an environment of comparable overall performance.

In fact, at rspective, we've built node.js apps (and the infrastructure around them) that were able to handle the load of millions of users. As for a reference point, we've built performance-critical systems in java and ruby, too.

Node.js has a great developer community

Node.js has definitely been on the hype for quite a few years now. We believe it's more than just a hype that will fade away in a few years time - it's the future. And the main reason is its thriving community combined with the mindset of open source software. You can clearly see it e.g. in the package repository statistics, github octoverse stats or stackoverflow developer survey.

What's more, world-wide initiatives like nodeschool (interactive open workshops that aim to help teach people node.js development) make it easy to get started with the platform, and overcome any initial difficulties. (btw, did we mention that we brought nodeschool to Poland?)

The great community pushes node.js to the limits, and in effect you can run javascript literally everywhere. To give a few examples, feature-rich PaaS platforms like heroku make it super convenient to run your node.js in the cloudElectron.js allows you to create cross-platform desktop apps with node.js at ease (btw, did you know that the amazing Slack app is built on top of electron?), with you could even build your own IoT device that runs node.js code.

All Posts

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!