Categories
Archives

Interview with a Node.js enthusiast

In the previous article posted on your beloved BuiltinNode blog, we shared our New Year’s Resolutions amongst which we mentioned the will to acknowledge great Node.js developers that passionately advocate for the adoption of this well-crafted technology and make development seem completely efortless.

In this first featured developer entry, we’re chatting with Robert Onodi, a Romanian talented technology enthusiast, with a taste of entrepreneurship, as he likes to describe himself. 

@BuiltinNode: First of all, we would like to thank you for accepting out invitation to talk about Node.js and empower its’ usability use in development. It is quite a blessing to get valuable insights from developers that actively use Node.js and are willing to give something back to the community.

Tell us a little bit about yourself first and your experience in web development so far.

Robert Onodi:

I’m Robert Onodi, currently working at Evozon. I’ve been programing for the last decade, mainly in the web area. Ultimately I settled down with JavaScript, front-end, back-end you name it.

@BuiltinNode: Let’s talk about how you got started with Node.js in the first place. Was there a pain-point that other technologies were unable to solve for you or was it just out of the curiosity of a tryout? And how much did rely on the documentation when getting started?

Robert Onodi:

I can only look back with a big, big smile on my face. It was a very fun and bumpy road, I’ve started early with flash, developing small components, full web pages, and even smaller games. After a few years PHP was getting momentum and eventually WordPress came out, by that time I adopted the LAMP stack.

Moving forward a few years, I’ve got an opportunity to dive deeper into JavaScript. Because I like challenges, obviously I went with it. Few years of only front-end development, using various JS frameworks started to get me thinking what will be my next move, should I learn Ruby? Python maybe.

Luckily for me, Node.js was born and without any hesitation I’ve started lurking around on the internet for more info. I was like ”this is it, I already know JavaScript and with my previous server-side coding knowledge will be the perfect match!” In the beginning, I spent a lot of time on IRC channels to figure out how things work, but now you can find a lot of information about Node.js on the internet.

@BuiltinNode: What other alternative programming languages did you compare it to? What were the advantages and where did it fall short?

Robert Onodi:

I wanted to catch the Ruby on Rails train, but somehow for me personally it was not an option. People are always trying to compare things, it’s in our nature to do that. I could write a post about PHP vs Node.js, but both are different concepts.

PHP is a scripting language, whereas Node.js is a runtime environment in which you run your applications written in JavaScript. I always thought you have to use the right tool for the right job. You cannot always use a hammer, regardless if you need it or not.

@BuiltinNode: As a developer, what additions or improvements would you add in order to make Node.js a more suitable and sustainable technology for your projects?

Robert Onodi:

From the top of my head, one thing that at first didn’t bother me was the loose typing. But as you start working on large projects, solutions like TypeScript, show their true value. I only used TypeScript in my Angular applications, but I have strong feeling that soon I’ll be using it on the server-side too.

@BuiltinNode: Getting involved in Open Source projects is something that we encourage here, at BuiltinNode, as a great opportunity of driving substantial innovation and gaining valuable experience as well as sharing knowledge with peer programmers. What are your thoughts regarding Open Source participation? Are you currently involved in such projects?

Robert Onodi:

In my development cycle I use a lot of open source projects. I’m fascinated about open source projects! Just imagine the impact and how many people can join and collaborate on a project! Inheriting from this drive, last year I’ve started a small project, a micro framework for micro-services, called quark.

Almost forgot to mention GitHub, which is a great drive for the open source community. From my point of view the platform contributed a lot to the open source community. You can create a new repository anytime and start building something great. If it has the necessary ”juice” in it,  people will eventually contribute to it. Or you can just fork your favorite repo and start building something even greater.

@BuiltinNode: On a final note, is there any piece of advice that you would like to give to  fellow developers just starting out with Node.js technology?

Robert Onodi:

I don’t know if it’s an advice, it’s not event related to Node.js, it’s something that hit me recently. I mean,  just imagine for a second the power we have at the moment and access to knowledge and information. You have access to information in milliseconds. You can read your favorite book, be it about programming or anything else, anywhere at any time. To get back to your question, if you want to try out Node.js, or something different, you have access to everything you need to get started. You have access to the greatest minds living on the planet just a few clicks away.

Guys, that’s a wrap for our first interview but we’ll be back with another one soon. Meanwhile, feel free to share your thoughts, feedback and questions for our friend Robert and we’ll make sure he gets back at you. You can also follow him on his blog for some briliant technical tips and programming insights!

Farewell till next week!

Tweet

Categories
Archives

When to use Node.js

Node.js is a framework meant to help the programming world, an easier way to create certain functions. It can be used in all sorts of situations – if you’re reading this you are no doubt interested in Node.js as a framework or are using it in some of your projects. Building in node is our calling, but we also want to be useful so we’re going to name a few situations when Node.js is the is the right or the appropriate solution.

For every action there is an equal and opposite reaction, a lovely man named Isaac said this a while back, as an analogy it applies to how Node.js is used.

For every functionality in Node.js there is application to use it in.

So the best way to find out when to use Node.js is to have a look at its functionalities:

  • It uses the V8 JavaScript engine

  • It allows code sharing between browser and the backend functionality

  • Node is event based so you can use Ajax on the server side

  • It runs JavaScript, so you can use the same language on both sides, server and client

  • It can also be used for agile development and rapid product iteration

  • Node.js is broken into small modules that can be composed in different ways, it order to be as manageable as possible

These are just a few of the things that Node.js has to offer, functionalities that help you understand how it works and what it brings to the table.

Here are a few situations when you can use and should use Node.js:

  • When you need speed and concurrency, in projects like social networks where there is a strong emphasis on real time resources

  • When you work on chat apps, irc apps

  • When you are handling small bites of data in a short timetable

  • When your server side code requires very few cpu cycles

  • When you have an application that is event driven or when you have a large number of connections to other systems

  • When you’re working on a real time app, this is one of the basic features in Node.js, it was basically designed for this

  • When you have a mobile app that handles a lot of communication to API or to a database

  • When you have an app that needs to talk to the backend often

The list could go on, as Node.js is quite versatile in various types of applications, so if you’re currently not using, it’s worth giving it a try. If you’re familiar with JavaScript it will be easy to use and practical in the situations mentioned above and not just. Also, a great way to use Node.js is in long polling. Usually this would put immense pressure on the server, as each update would eat up the server process, but with Node.js the server doesn’t have to have separate threads for every connection.

There are plenty of opportunities available in using Node.js so our suggestion is to try it if you’re not using it now, and if you are, let us know of other situations in which Node.js came in handy.

Tweet