Introducing Node.js

April 20, 2015 David Sharer

What is Node.js?

Node is an open source platform architected for the modern web. Built on the Google Chrome JavaScript engine, this platform enables applications to perform at very high levels while delivering dynamic content to a large number of concurrent users. It’s already a proven platform with many high profile websites employing its benefits, a few of which include: Walmart, PayPal, Netflix, The New York Times, Dow Jones, Yahoo and Microsoft. We happened to like it so much here at One North, we decided to build our own site on it. We have also built a number of client sites on this platform as well.

And we're not the only ones noticing the power of this technology. A recent InfoWorld article states, "JavaScript in general and the server-side Node.js runtime environment in particular are setting the stage for 'the biggest shift in enterprise development in more than a decade,' contends a report by Forrester Research."

This platform has a whole host of advantages. Node's programming language is JavaScript, a language that all modern day web developers know and have been working with from the beginning. Because of the popularity of JavaScript, many developers are able to quickly and easily understand Node concepts and construct great sites using it.

Great Packages Included

Node has its own package manager for extending the core functionality. There are many different types of packages that are available, such as content management systems, security modules, web servers, miscellaneous utilities and database and development tools. At the time of this post, there were 140,422 total packages available for download, with 56,364,979 downloads in the last day, 301,478,317 in the last week and 1,199,579,775 in the last month. Those are undoubtedly very impressive numbers! This shows how massive the Node.js community really is. Thanks to these great packages, we are able to deliver great features within a web application in less time.

Document-Oriented Databases

Node also promotes the use of document-oriented databases, which is a departure from the relational database model. These type of traditional databases are not going away anytime soon, and are still relevant for storing data that tends to be very relational. With the arrival of document data stores, we are able to store information as it tends to be represented in the real world. Take a grocery receipt, for example. Information such as the store information, a list of purchased items, tax and total amount are on your one receipt. To represent all of this related information in a relational database, these would be stored in separate locations on the disk, and would require a look up in each location to join this information together. In a document database, these are stored in the same physical location and would only require one look up to get the information. You can see how this quickly leads to performance gains. It also allows us to be flexible in our software design. As business requirements change, we can easily make changes to our data model, which helps us when delivering new features.

Intuitive and Functional

This is a great technology that has received a great deal of recognition by large companies and credible developers. The performance is outstanding; it's secure, it's intuitive to develop with, it helps us make great software in shorter time and it has great functionality that we can borrow from. We look forward to leveraging Node.js to help us build extraordinary solutions for our clients in the future.

Want to hear more from One North Technologists? Check out our post on Editing Files on Raspberry Pi with Local Sublime to learn how to use your favorite text editor with a Raspberry Pi.

Interested in learning more or joining the team? Let’s talk.

Subscribe
David Sharer Senior Developer

At the time of publishing, David was a Senior Developer at One North.

One North Interactive 
222 North LaSalle St, #1500
Chicago, IL 60601

+1 312.469.1740