Categories
Archives

Node.js and its perks in web application development

First, read some Node.js facts:

  • Many popular and successful web applications and websites have used Node.js.
  • Node.js is a platform built on Chrome’s JavaScript runtime.
  • Its applications are written in JavaScript.
  • Node.js is an open source and a cross-platform runtime environment.
  • Node.js offers an event-driven architecture and non-blocking I/O API, using which an application’s throughput and scalability are optimized.
  • Conceived in 2009, by Ryan Dahl, Node.js platform uses JavaScript and modules allowing the creation of web servers and networking tools. Its applications can be run on various servers – Mac OS X, Microsoft windows, and Unix.

Still not convinced? Hear more:

It’s fast. And Light.  

JavaScript execution is fast, making thus easy to build scalable and fast applications. The single threaded model with event loop is also highly helpful and allows handling multiple client requests. It is one of the major advantages of using Node.js for web applications. Due to the presence of event loop in Node.js, there is no necessity of creating more threads, even when the applications receive numerous concurrent client requests. Therefore, the application utilizes less memory.

Sharing is caring

Sharing packages of library code makes it easier to easily solve problems as the Node Package Manager (npm), with its repository of 50,000 packages, helps the developer with the community developed solutions and answers. Updating, sharing and reusing of code are therefore much easier.

Streams in Node.js

Since Node.js is asynchronous and event-driven, tackling of I/O bound tasks are extremely good. So, what are streams? They are UNIX pipes which enable easy reading of data from the source, and pipe the data to the destination.

Data synchronization between client and server

Data transfer between the client and server happens very quickly because Node.js enables writing JavaScript on both client and server side.

Real-time applications simply love Node.js

Node.js a perfect choice for data-intensive, real-time applications and for sites expected to witness a drastic growth of users. The inbuilt library enables applications to act as a web server. 

Building real-time web applications like chat makes Node.js suited for these sort of tasks. Used in game development, event based server, non-blocking driven servers are best suited if the web applications get to handle a large number of real-time users.

If you need more than words and tech-savvy arguments to convince you to at least try Node.js keep in mind that the following (and also popular web apps) use Node.js: Yahoo, PayPal, Ebay, Dow Jones, New York Times and even Microsoft.

Original story here.

Tweet

Categories
Archives

Node.js at GoDaddy

The GoDaddy stack has always been very eclectic because their focus is very divided, they have different types of features for their clients, unlike other companies who focus just on one thing. As such, they had to use different types of technologies to satisfy each feature that they had. One of these technologies was and is Node.js, a technology that ended up taking over a lot in GoDaddy. As Charlie Robbins, Director of Engineering at GoDaddy puts it: they went from proof of concept to production and proliferation. Node.js is a big deal at GoDaddy right now.

GoDaddy was using Node.js even before Nodejitsu stept in the picture (more on that later on) using it in one of their first major products. It became a part of GoDaddy as early as 2013.

Now it’s an essential part of their infrastructure, improving their performance significantly, over 4x and reducing costs more than 10x. GoDaddy is a hosting business with many intricates when it comes to software and Node is a huge part of that. In February 2015 Nodejitsu, Charlie Robbins company joined GoDaddy, a huge step in a node.js takeover.

“GoDaddy is doubling-down on its commitment to Node.js as we continue to use Node and Javascript as important elements of our products and platforms. We’re ecstatic to have the incredibly talented team at Nodejitsu join GoDaddy. They will prove invaluable in our efforts to push Node.js forward and contribute back to the community.”

Raj Mukherjee, senior vice president of Product at GoDaddy

The dedication that GoDaddy has in node.js is also sustained through their involvement in the Node.js Foundation. GoDaddy is a gold member of the foundation, involved in the continuous development and adoption of Node.

In 2013 GoDaddy started a complete overhaul of its technological stack, an overhaul that started with Node.js. On the front end side they used JavaScript but on the back end they relied on a legacy .NET stack. With the addition of Nodejitsu and Charlie Robbins to GoDaddy, the company went into Node overdrive, as the team at Nodejitsu has been involvement in node since 2009, being active supporters of it and the community.

“JavaScript is key to any organization’s success, and Node.js expanded that importance beyond the browser onto the server,”

Charlie Robbins, Nodejitsu founder and CEO

To simplify and increase its capabilities Godaddy went from .NET to a node.js infrastructure, all open source. Nodejitsu helped design the he scalability, multi-data center support and asynchronous transport logging of GoDaddy’s PaaS and improve its open source contributions. The addition of Nodejitsu is what really propelled them as a Node,js user and community contributor.  They replaced their entire infrastructure with one made in Node.js. Making GoDaddy the largest domain-hosting company that uses Node on this level.

Tweet

Categories
Archives

Looking to hire a node.js developer? Not so fast!

Recruiting is never easy, mainly because a multi-step process, exhaustive as it may be, cannot truly unravel a candidate’s true colors and whether they are a good fit for the job or not. It’s even more challenging and troublesome when trying to choose between candidates with similar profiles and loads of experience below their belt.

So how can you ever be sure that you have made the right decision when hiring someone to embark on your company’s journey towards success?  Here are some pointers that might guide the process when looking to hire a node.js developer!

As you may have already guessed, experience is one of the main criteria your hiring decision should be based on. An experienced node.js developer not only has the skills and knowledge you’re seeking, but also excels in appealing to all sorts of tools, tips and tricks that help create a sophisticated-looking and functioning system in a heartbeat.

Often, in an interviewing situation, a cold listing of experiences in the resume doesn’t even begin to do justice to the great potential of the candidate standing in front of you. Not to mention the nerves that might get in the way that could cause selling himself short. On the other hand, a stuffed and apparently endless CV does not necessarily reveal a valuable future employee.

When it comes to finding experienced node.js developers, we consider the further set of questions to be very helpful in unraveling some valuable acquired skills throughout their working career:

  • Is your candidate undergoing his own open source Node projects? Are they well maintained?
  • Does he contribute to other Node projects?
  • Does he have a good understanding of Node internals, database options and applications beyond the normal HTTP’s?
  • Is he also a DevOp, a developer involved in operations such as bug-fixing, patching or scaling their application across a variety of database servers?
  • Is he an active member of the Node Community, helping other developers, sharing knowledge and resources and contributing to its growth?

While these might be experience-related issues you need to address when looking for a new entry in your development team, compatibility is nonetheless the deal-maker or breaker. Hopefully, your candidate shares the same values as the ones you are trying to perpetuate throughout your company philosophy and culture.  When circumstances do not necessarily require expertise, sometimes attitude and shared beliefs are a better indicator of a successful collaboration.

Perhaps the best piece of advice we could share with you is congruent to the common saying “Hire for the attitude, train for the skill”. In the world of tech, skills tend to become obsolete in the never-ending cycle of changes that continuously emerge as time passes by.

At the end of the day, passion is the one criteria that goes well beyond every other skill and feature you are looking for. If you have the ability to spot it and the possibility to fertilize it, your recruitment process might turn out to be a lot easier than you thought!

 Have you got any Node.js vacancies?  Feel free to advertise them on our job board!

Tweet

Categories
Archives

5 reasons why Node.js is in line to take over app development

Node.js is on a stride, a rising star in the land of development, in a time when you have more choices than ever when it comes to server side development. The development ecosystem is constantly evolving, technologies move up and down in a fraction of the time than a couple of decades ago. Node.js has a lot of competition, but it has quite a leg to stand on. Moving past the Node.js/JavaScript fusion that brings client and server side under the same roof, there are quite a few reasons why Node is a language runtime environment  to keep an eye on.

  • It’s faster and it increases productivity. There are quite a few big names that went the Node way because of this (netflix, uber, Paypal) and not just. You avoid the breach between frontend and back end development and move in a more unitary direction.

Dan Shaw, CTO and co-founder of NodeSource, a provider of support services for Node.js shops:  “Node.js is rapidly replacing Java and .NET due to the agility of the Node.js software development lifecycle. Building a Java app typically takes six to 24 months from start to finish. In contrast, Node.js applications take two to six months.”

  • Tools, like npm and now Yarn, make working with Node.js a piece of cake. You get a consistent, reliable and fast workflow that changes development entirely.

  • Code reuse through prototyping and class inheritance. This is another point in the faster development column.

  • Real time apps compatibility. Node works very well for gaming apps, chats and others.

  • A modular construction allows you to change things easily in small particular modules which makes maintenance and future development almost headache-less.

On a separate note we would also list the Node.js Foundation as a bonus point for getting into Node.js development. Constant updates, with a clear calendar and a driven and united community are features that innovate and push development forward. Also, there are plenty of companies that use Node, we are testimony of that. 

Tweet

Categories
Archives

Open Source Node.js projects you should consider joining!

In the world of programming, one of the most compelling reasons to get involved in the communities arising roundabout certain projects, programming languages as well as shared goals and beliefs, lies in the great opportunity of driving innovation and success through participation.

Involvement and contribution are particularly capitalized in the Node.js community throughout the promotion of open source adoption. In a nutshell, increased open source projects adoption is due to the possibility of lowering development costs while driving a substantial amount of innovation and complexity into your technology.

On the other hand, amongst the reasons to get involved in open source projects listed by developers, the rewarding experience both in terms of making great connections and working with a bunch of great developers outside your usual work-circle, as well as enhancing your skills and gaining valuable experience contributing in the creation of various fields are some of the most frequently cited.

Builtinnode encourages open source participation and therefore we would like to showcase some great projects that could benefit from the input of talented developers and would also empower them with a meaningful know-how and valuable experience.

Atom (Github: atom/atomAtom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.

npm (Github: npm/npm-wwwis the package manager for Node.js. It was created in 2009 as an open source project to help JavaScript developers easily share packaged modules of code. The npm Registry is a public collection of packages of open-source code for Node.js, front-end web apps, mobile apps, robots, routers, and countless other needs of the JavaScript community. npm is the command line client that allows developers to install and publish those packages.

crux (Github: PearlVentures/Cruxis a Node.js bootstrapping framework designed with extensibility in mind for fast application prototyping and production-ready applications. It comes with a set of core components suitable for almost any kind of front-end (angular, commonjs, browserify, sass/less, watchers) or back-end (express promisified routing, mysql, mongodb, redis, tasks & caching) projects. It also allows the developer to plug in components and load them on-demand.

PencilBlue (Github: pencilblue/pencilblue) is a full featured Node.js CMS and blogging platform (plugins, server cluster management, data-driven pages). By releasing the source code of PencilBlue to the public, they’re allowing for the type of community collaboration that turns a great platform into a game changer.

Cozy (Github: cozy/cozy) is a Personal Cloud you can hostm customize and fully control. It allows you to sync your contacts, calendars and files between your devices and your personal server and add your own services to leverage your personal data.The platform and the deployed apps are based on Node.js.

Are you currently involved in a Node.js based open-source project? Tell us more!

Tweet

Categories
Archives

Best Modern Practices of Using Node.js

Many popular web services today require stability, scalability and fast server speed response in order to meet the needs of demanding customers. Thus Node.js comes in handy for developers as an effective runtime environment that helps to achieve these goals with Javascript.

Why more and more developers prefer Node.js over PHP? The first and foremost advantage of using Node.js is that it allows to use a single language for both front-end and back-end development. It’s Javascript, as you may already have guessed. Another thing that makes Node.js a desirable choice of technology is how effectively it handles multitasking. Executing tasks in parallel it doesn’t wait for one task to complete when starting another one unlike PHP. Overall performance of web apps that use Node.js is also significantly better than those developed in PHP.

Best practices for Node.js can be found all over the Internet, but let’s also look at some interesting examples of services that use Node.js that many of you definitely came across.  

Node.js Implementation at Uber

A leading on-demand delivery application and taxi ordering service Uber is a great instance of leveraging strong points of Node.js. Since the day Uber was founded it began to scale fast and thus required a reliable solution. Node.js helps to make the service work like a charm, as if it runs like water. 

Uber developers praise Node.js because it enables them to deploy new features and fix occurring errors on the go. This is beneficial for such a large service as Uber, because its developers don’t need to reboot any processes in order to fix errors. They benefit from the multitasking effectiveness that Node.js provides.  

Usage of Node.js at Netflix

Developers at Netflix had a serious dilemma of what technology to use for their fast-growing business of on-demand online video services. Taking into account that the majority of the UI they have developed so far (and continue to) is in Javascript, Netflix developers decided to go on working with it for server-side computations too. Initially Java and Objective-C were their primary languages used for the development of the Netflix service. However, having discovered the tremendous capabilities of the Node.js environment for scaling all the data access scripts, the choice became obvious.

So re-architecting the system and making the Node.js platform effectively running was of prime importance for the Netflix development team. Turning a multitude of scripts into Node.js apps helps developers to manage them more safely. And right now this major task is what Node.js programmers at Netflix are working on. 

Ebay’s Practice of Node.js

Node.js is also used by one of the top online marketplaces in the world – Ebay. Since many programmers choose Javascript nowadays, it was easy for Ebay developers to start working with Node.js. Why did they eventually decide to switch a part of their backend from Java to Node.js? Because they saw that contemporary web environments are built around this technology. Moreover, Node.js is suitable for such a large scale platform as Ebay and using numerous Node.js components is very common and easy for developers.

At Ebay their Node.js layer is responsible for Experience Services, a set of backend services that power Android and iOS mobile apps, as well as the website. Also eBay developers constantly build new tools to effectively deploy Node.js applications. 

How Adoriasoft uses Node.js

DriverAgent is one of those useful desktop tools that comes in handy when you need your system updated, running smooth and fast. What it does is that it effectively scans the system, locating outdated drivers and updates them automatically. Users thus don’t have to search for new drivers on the web anymore – the app does all the searching and installation for them instead. The DriverAgent utility is written mainly in PHP, with some Node.js parts added later.

But to what extent is Node.js being used in DriverAgent? The development team at Adoriasoft decided to use the PhantomJS module to achieve a part of the functionality needed for the efficient performance of the DriverAgent tool. In particular what we’ve developed is a crawler, which with the help of a headless PhantomJS browser visits all pages of the AMD.com website. Then it gets the download links of all drivers needed. 

Why have we decided to use PhantomJS for the task, but not PHP, in which DriverAgent is written? In this instance PhantomJS made it possible to execute Javascript on pages for getting download links. PHP could not provide that, because it lets you work with the downloaded web page content as with text. Furthermore, choosing PhantomJS simplifies the processes as it can be executed with JQuery and other Javascript libraries. 

Wrapping up

Node.js is in many cases the first-choice technology and framework for large-scale modern apps and businesses that operate worldwide. Adoriasoft recognizes all the benefits of using Node.js, including asynchronous code execution, multitasking, fast processing, and its open source code nature. So for the majority of our web projects Node.js becomes the ideal technology solution that can help businesses to grow, scale and succeed. 

Tweet

Categories
Archives

What’s your Node.js company?

It might be a very straightforward question, but BuiltinNode is a place to showcase Node.js companies. We have hundreds listed so far and would like to add up to that number as much as possible.

Is Node.js a big deal in your company or just a small piece? It’s a main technology or just a service you offer other people? They don’t mean quite the same thing, but in the end we’ll be happy to have you on our platform.

Node.js is a very attractive technology and many junior developers work their way towards it, for various reasons, be it the attractive job market, the easy to learn once you know JavaScript factor, its scalability or strong community support and organizational level through the Node.js Foundation. More and more companies change technology to Node or add it to their stack so there’s definitely a  rising need in good talent. Beyond the big branded names like Uber, PayPal, Linkedin or Netflix many other small companies and startups  rely or experiment with Node.js.

So if you happen to work for any of them add them or BuilinNode or let us know about them. We’d love to showcase more stories about how Node.js is used and how businesses take advantage of its abilities. As a Node.js community we want to promote Node.js as a technology, node.js companies that rely on it and even Node.js developers who could inspire others.

If you want to be a part of BuiltinNode or have any Node.js thoughts you want to share email me at [email protected].

Tweet

Categories
Archives

Every technology is replaceable

Last year we did a few stories on how big brands moved from different technologies to Node.js. The stories caught on quite well in the Node community as people got excited about the takeover of node.js. More and more companies take in node.js in the fold of their respective technologies, and quite a few are changing technologies towards node.js. When one side wins, the other loses, Java lost in PayPal and Netflix when they switched technologies to Node.js and Ruby on Rails lost when Groupon and LinkedIn moved to Node.js.

That doesn’t mean that Java Or Ruby on Rails are going extinct or losing footing, it means that for a particular service Node.js was a better choice. That’s the thing, any technology can be replaced, even Node.js. But let’s not get ahead of ourselves. In the case of Linkedin, they moved to Node.js for the server side of their mobile app and for Groupon they moved their entire web and mobile traffic stack for faster times. Why? Because Node was the better choice, it was the right tool for the job, thinner, lighter, faster.

That’s how technologies get replaced, when they chose Ruby or Java, that was the right tool for the job, but things change, businesses grow, the environment gets new requirements and new languages enter the arena. This happens constantly, it’s happening right now as we speak, someone out there is thinking of a new language that does things better in certain cases. Node.js has been growing like crazy, getting into a lot of startups and large enterprise size companies. If you check out any job board you will find plenty of Node.js job position, mostly related to JavaScript, for a full stack approach or related to other technologies as well.

Every technology is replaceable, even node.js, but if it evolve in such a way that it remains the best solution for problems to come, not just for current predicaments, then it will become and remain dominant in the industry.

Tweet

Categories
Archives

NodeSource offers Certified Modules

Last month, NodeSource released a new product called Certified Modules that helps secure the massive ecosystem of Node packages available now. Npm is actually the world’s  largest software registry with more than 2.070.812.887 weekly package downloads and 6.5 million developers using it on a monthly basis.

The product responds to a need to secure the ever growing mass of modules that millions of developers rely on constantly. The NodeSource Certified Modules offer a way to certify modules and make sure they are safe to use. A break in a module used by thousands of developers and organization could prove disastrous. This product would ensure that users use modules that are reliable and secure.  Third party modules present risks, they’re always a gamble, but with Certified Modules you have a certification process that evaluates each package and calculates a quantitative trust score.

The monitoring process will be ongoing, but paid. This way whenever you want to choose a certain Node.js module you can also take into account the safety factor.

This is the first time that something like this has been endeavored for Node.js modules and as such it represents uncharted territory. The concept and product certainly makes sense and offers a needed layer of security, but it also implies trusting one single vendor to guard the safety of hundred of thousand of modules, used by a very large and ever growing community.

NodeSource uses the following criteria for certifying modules:

  • Security: All published modules are checked for known security vulnerabilities

  • Licensing: Every module is checked to ensure it is fully licensed as open-source

  • Integrity: Quality marks like quantitative documentation, testing tooling, and install size

You can read more about the  Certified Modules on their press release.

If you want to try out Node Source Certification Modules you can (for free).You get a secure registry, almost identical to the npm one, the difference being that every package and every version of every package goes through the NodeSource Certification process and is assigned a score.

What do you think of this NodeSource product? Will you try it out?

Tweet

Categories
Archives

Node.js in the high traffic world: Bustle

Bustle is an online American women’s magazine founded in 2013 by Bryan Goldberg. They have a huge team of writers and contributors and cover various topics related to women. They cover beauty, fashion, entertainment, books and more. It’s also a very high traffic website that uses Node.js.

This is another story of a company moving from one technology to Node. It’s not quite surprising that that technology was Ruby on Rails, it seems like a lot of companies moved from Ruby and Java to Node, including Groupon, Uber, Pay Pal etc. It’s not that they’re bad languages, they’re just not appropriate for certain business at a given stage in their life.

Bustle uses Node as a full stack runtime, they don’t define their team on frontend and backend, which is a very attractive advantages of moving your tech stack to node, because  keeping one universal language (JavaScript) makes everything easier.

They’re advocates and users of serverless arhitectura, running code on AWB Lambda, which provides them with the tools they need, without relying on a lot of frameworks or libraries. They use Ember on the front end and a bit of React.

AWS Lambda was a big deal for them and back in the day it was only compatible with Node and Java and the latter wasn’t very thrilling to use so they gradually tried out Node and loved it. Working with Node and Ember at the same time was also a pretty exciting opportunity. Bustle has 50 million users a month and all their properties are serverless and Node is proving them with the performance needed to maintain this kind of traffic.

We’ll call this another Node.js success story, but more importantly it’s another rather big and important brand that has transitioned successfully to Node and is enjoying quite a bit of success because of it.

Tweet