Categories
Archives

2017 challenges for Node.js

A new year has began, a new journey for Node.js as a technology and for every developer and professional in the field. Most people start their year with a few resolutions, a few guidelines or challenges for the new year. It’s actually a great way to set yourself some objectives and to try at least to plan a bit. But it’s not just thinking ahead, it’s challenging yourself to do more in the new year. As node.js developers you are working with a technology that is both up and coming and highly valued.

With the Node Foundation the community and the ecosystem are progressing smoothly, there is plenty of transparency and the community members are increasing, so there is a lot of support to go around. Node gets updates regularly, in April we will have a V8 version and in October a V9 version. Basically things are going well and beyond. So what’s the challenge here?

Here are the industries that have adopted node.js so far. It’s a big list, which is very good news.

Also, Node.js is currently the largest open source platform with more than 15 million downloads per month and more than a billion package downloads per week. In less than 7 years Node got to the point having from a few dozen to 1.100 contributors.

We’re in a good place right now, but, there is always a but.

There’s a constant challenge of not getting trapped and overwhelmed in an environment that is evolving rapidly. There’s a constant challenge of not getting stagnant and falling back.

Becoming a better developer is something personal, it’s not related just to Node.js s a technology, it’s connect to your own desire coupled with the possibilities offered by the environment. The Node community is vibrant, with plenty of learning materials and experiences getting showcased so there are a lot of ways you can grow yourself as a developer.

Use the new node versions, read, write, explore and try to keep up with as much as you can in 2017.

Node.js has been adopted by many enterprise size business and also a lot of small startups, our community is a testament of Node companies and startups, but for 2017 it should go bigger and better, the challenge here is not to get capped, to not stumble and fall as it grows, to not divide and go in different directions. The challenge here is not to rest on one’s laurels and take things for granted.

Tweet

Categories
Archives

From Java to Node: the Netflix story

The Why

Before node Netflix had a work style and process that was very difficult both for the company and the development teams. They were working on large applications with huge startup times and slow builds.  They had Java on the server, Javascript on the client, so developers had to be great in two very different languages, they had to be really great at different aspects. There was a lot of doing things twice, they had to write everything twice, two ways for data access, rendering, debugging etc.

The pace of the company was slowing down because of all these issues, and the innovation needed to maintain the company competitive and in the spotlight was bogged down.

To simplify everything, and to be able to move the site to a single page application where they could render each page fully, they moved to Node.js. There were several reasons why Netflix chose Node.js.The first and most important one was to have a common language, one that could help them write the same code and run it everywhere and not have developers constant shifting from Java to Javascript. A universal language server and client side was just what they needed to be able to build that single page app, and not worry so much about getting great Java developers and be able to focus more on building a great product experience. Java was on the losing side both in Netflix’s case and in the PayPal story – check it out here.

Another aspect of this transition was the performance that Node.js offered. From a 40 minute + startup time they went to under a minute. That’s not just an improvement, that’s a whole other level of performance. Also, Node has a lot of modules that are mostly open source, can be used quickly and help you get better tracking, quite different from Java where you don’t have all these helping hands.

These were the basic reasons why Netflix turned to Node.js from Java.

The Experience

The first thing that happened was that the team as a whole had to change not just their language ,but also the way mental processes they usually applied. They had to learn the intricacies of Node.js and focus more on that. Also, even though one of the benefits was and is universality, they had to be careful on how they wrote the code, server and client side, they had to take advantage of this upsight and at the same time think really hard about how the written code will be used and how will it scale. They were a bit excited that they would be able to use just one language for both sides, and it will make things so much easier and it did to a degree, but they had to approach things differently on the server and on the client.

Moving to a new architecture they also had get a lot of insights, a topic they had no data on as it was a new technology for them. They had a lot of learning as you go, in different aspects.

The Future

Right now Node.js is used in production for the entire website, but their mobile application runs on other languages as well. As of December 2015 there was a 30 + Node Stack team at Netflix, which is great. They also have planned a container based strategy built on node, which gives them a lot of flexibility, and scale. Together with Node they also used various other technologies like:  Titus, Reactive Socket, Qiro, Docker, Prana etc. One thing is certain for the present and the future, Node.js  is a big part of Netflix, a place where developers can grow and where node innovation can happen.

Tweet

Categories
Archives

Get ready for the Node.js Certification Program

Last month, the Node.js Foundation announced the development of a new Node.js certification program, in order to establish a baseline competency for developers. As node.js grows and more organizations adopt it, this certification will make it easier for them to evaluate developers and also for developers to evaluate themselves. The 32 question exam will be available sometime in the second quarter of 2017.

“The Node.js Foundation, with help from incredible community members and core experts, is creating a comprehensive certification program that broadens the funnel of skilled Node.js expertise available. Whether working in enterprise environments or as individual consultants, those who become Node.js Certified Developers will be well-positioned to hit the ground running as a Node.js developer, possessing skills that are in high demand,” said Tracy Hinds, education community manager for the Node.js Foundation.

The program is created in conjunction with the Linux Foundation, who has previous experience in creating training programs and certifications, with several online courses, like  Intro to Linux, Intro to DevOps: Transforming and Improving Operations; Developing Applications for Linux; Kubernetes Fundamentals and others. 

The Node.js Foundation is also taking feedback from the community, taking in questions that will be on actual exam. You can also contribute.

What does it mean to contribute to the program?

You can choose between two roles, you can be an item (topic/question) writer or an item reviewer. 30 people will be the item writing team, and about 12 of these 30 will be on the Item Writing Review Team IWRT.

You need to have some time available for this, more precisely:

  • 1.5 hours for an intro webinar

  • 2 to 5 hours for independently writing and reviewing the question with Item Writing Review Team members this is for items writers & IWRT

  • 5 to 6,  1-hour online meetings to reach consensus, group review, and level items – just for IWRT only

If you’d like to contribute, you can fill in this application.

The Node.js Certification Program is aimed at intermediate-level developers who already know and work in JavaScript and Node.js. According to the questions presented, there will also be available material and resources to learn from (but not created by the Foundation just for the exam). This way anybody can be certified. Pricing for the certification is yet to be determined, but it will be low cost. It will involve coding and will be taken under observation by a proctor via their computer’s camera.

Professional certifications are a very practical way to check proficiency and skill in software development. This isn’t something new, but it is of great interest in the node.js community as many companies and developers have been asking for such a certification for quite a while now.

“There are a lot of people wanting to verify their knowledge of Node,” Tracy Hinds, education community manager for the Foundation. “The test would certify an applicant as an early intermediate Node developer, which means that “they’re not going to know everything, but they can hit the ground running”.

Tweet

Categories
Archives

Developing Mobile Applications Using Node.js

Node.js is a server-side JavaScript platform specially designed for efficient and responsive web applications. Not only just web applications but also for mobile to make it fast, scalable and super portable on every platform. It uses Google Chrome’s v8, one of the finest JavaScript engines for running standalone JavaScript programs. Node.js contains a built-in library that allows applications to act as a web server without any software such as HTTP servers. Nowadays, Node.js is getting popular as a server-side platform and is used by IBM, Microsoft, Yahoo!, Walmart, PayPal and GoDaddy and much more.

Why Count on Node.js?

The exclusive features of Node.js are designed to support multi-user, collaborative, real-time web apps that support various network connections with maximum input.
Node.js, or just Node, with or without a JavaScript frontend, makes well-organized use of hardware resources, especially for I/O-intensive services. It also decreases developers’ reasoning and coding loads via several key features, such as:

  • It substitutes the traditional request-response paradigm with a rapid or two-way communication model.
  • Most developers understand  JavaScript, so the development ramp-up is shallow
  • Node.js web sockets run on TCP, not HTTP, so low-overhead client-server communication is enabled in both directions.
  • Usually, using a single language and portable code base between frontend and backend developers saves much time and money.
  • Generally, Developers avoid having to manage I/O blocking and threads.

How Node.js plays a vital role while working with Mobile Apps

Some of the reasons why some mobile developers need Node.js in mobile developing apps, here are few reasons:

  • Node.js has the fastest growing ecosystem with well over 110,000 free JavaScript modules. Tapping into this resource can help you to develop apps faster and more proficiently.
  • Use the similar platform to advance your Server and Mobile apps. Many times your mobile app will have a parallel browser-based application for desktop access. Having one platform and one codebase for both the browser and mobile applications can make the development course far more efficient.

Unfortunately, there is currently no way to implement Node.js on the mobile client side for all leading mobile platforms. Technically, you can run JavaScript on Android, but neither iOS nor Windows which it accepts V8’s JIT compiled code except under special circumstances.

Lastly, real-time mobile services and applications are now the next immense thing. Node.js is designed accurately to support a real-time mobile web. Throw in shortened development cycles, combined frontend/backend teams plus streamlined support and Node.js looks like a winning strategy for servers and mobile devices.

Tweet

Categories
Archives

Node.js Will Overtake Java Within a Year: Analysis

This is a statement from Mikeal Rogers, community organizer of the Node.js Foundation, from a recent interview with the New Stack. This is someone who has been involved with Node.js, hands on, since it was released. You can check out the New Stack interview – you can read the full story, but basically he’s been a Node junkie since the second day it was released. That was in 2009.

So, getting to it – Java or Node.js?

Mikeal mentioned that there are currently about 8 million estimated Node.js users with a 100% growth rate per year. Last year the Node.js Foundationed announced that they have 3.5 million users, so the 100% growth rate, at least for the time being, is right on the money.

Basic math would put Node.js users at around 16 million next year. So how many users does Java have?

In 2013 Oracle said that there were 9 million Java developers. In 2007 there were about 6 million. In 2017? Hard to tell.

Oracle hasn’t released any official data on this so it’s just conjecture at this point, but considering their (maybe) growth rate, there should be somewhere between 12-14 million Java developers right now. Again, it’s just a guessing game.

But let’s look at some numbers!

The TIOBE index is an indicator of the popularity of programming languages. Popularity being an important factor for adoption, is a good way to compare the two. The TIOBE rating is based on  the number of skilled engineers world-wide, courses and third party vendors. It used 25 search engines to calculate the index. You can learn more about it here.

Java has been very popular for a long time before Node.js was even released. Checking out the history index in TIOBE we can see that it was the number one language on more than one occasion.

So far, this year it’s again the most popular language. Here’s Java over time.

Now you might be wondering where’s Node related to this. Well, TIOBE doesn’t count node.js because it’s not an individual programming language. That means it gets counted in the JavaScript section.

Nevertheless, the TIOBE index shows a mature and popular Java. That being said, consider that PayPal and Netflix moved from Java to Node.js. Java might be popular, but companies will still change stacks if something better comes along and Node.js has its share of attributes that make the change worthwhile. There are also plenty other Node.js companies to check out.

HackerNews has a whoishirign section and a tracking system for jobs. In the picture below you can see a comparison of Node js (blue) and Java (black) from August 2011 to June 2017. This is also a subjective comparison, it only takes into account the Hacker news platform, but as an indication it follows the same trend as the previous resources mentioned.

See how Node.js grows and occasionally overtakes Java?

Using the Stack Overflow Survey we can directly compare Java and Node.js. Take into account that the survey is representative only for Stack Overflow users.

Again, if we take the programing language section we end up comparing JavaScript and Java as Node.js doesn’t qualify. For the record JavaScript is the most popular programming language, while Java take third place. But in the technology popularity section we can see the evolution on Java and Node.js over the past five years since Stack Overflow started conducting the survey.

Node.js went from 8% in 2013 to 26% in 2017 and Java went from 42% to 39% in the same period (% of respondents that use the language).

Considering the trend(s), even with just a slight drop for Java,  Mikeal’s prediction might be true if the Node.js 100% growth rate carries on.

That means that Node.js in on the right track to take over Java in terms of users.  

Thoughts?

Tweet

Categories
Archives

Groupon, a marketplace fueled by Node.js

A few days ago the Node.js Foundation published an interview with Adam Geitgey, the director of software engineering at Groupon. The interview covered various aspects about how Groupon uses Node.js and it helped the company grow and expand. You can check a recording of it on Youtube, or read it on Medium.

Groupon is one of the big brand pushed forward when mentioning the growth and rise of Node.js as a technology in the enterprise world. Justified, given the way it redefined Groupon as a business, as least from a technology point of view.

Backstory

Let’s start from the very beginning. For those of you who are not familiar with Groupon; it’s an American e-commerce marketplace founded in 2008 in Chicago. It started out small, locally, then expended heavily throughout the United States and then worldwide. This happened pretty quickly, in 2010 they had 150 cities in North America and 100 cities in Europe, Asia and South America. It’s wasn’t all up and up as, despite a high IPO they ran into difficulty, not matching expectations, losing more 70% of their initial stock price and even firing their CEO and founder in 2013. The latter was connected to the former.

Technology; from Ruby on Rails to Node.js

Groupon’s Node.js story started a long time ago, around 2012 they realized that the company grew to such an extent that any simple task would swallow huge development resources.

They estimated that to change the color appearing on the website they needed about 3 months. With Node.js they did it in one week.

At its base Groupon started out on Ruby on Rails, with a big monolith that was becoming very difficult to maintain. Moreover, the company’s rapid growth also brought on different acquisitions with their own tech stack so next to Ruby on Rails they also had a Java stack in Europe and PHP in South America. They wanted and needed actually, to move to a technology that could replace them all and be easier to use on such a large and constant growing platform.

They chose Node because it scales well and because, no surprize here, it’s easy to use for any developer familiar with JavaScript. Getting Node into production and making it their default technology wasn’t easy. It took almost a year and a lot of pain and hard work. It was a bit like an obstacle race, because it didn’t go over smoothly, it almost never does, and they encountered new problems, ones that they never ran into with Ruby. But moving on one step at a time, they got it all covered. They have an extensive blog post about their journey from Ruby on Rails to Node. It’s worth a read.

Tweet

Categories
Archives

Most installed packages, according to npm

Npm is the largest package registry in the world, both in downloads and number of packages. At the beginning of 2015 npm has about 12.500 packages, that number grew to 486.661 right now. At the same time, last year 160 people published their first package every week and according to Ashley Williams, Developer Community and Content Manager, that number is expected to grow to 200 in 2017.

In a virtual sea of packages some steal get more attention than other. These are the packages that developers install a lot. The order is based on the number of total downloads (this list represents packages that are installed often, not the most downloaded packages on npm).  All the data presented is from February 2015 onwards.

1 express

Express is a very popular package with 160,809,503 downloads so far. It has a very steady growth, peaking in March with a little over 12 million downloads.

Stats

  • 530,128 downloads in the last day

  • 3,085,633 downloads in the last week

  • 12,253,909 downloads in the last month
     

2 npm

Npm has 87,779,138 downloads. It first hit a high point in May and June 2015 and then in September 2016. This year, so far, is after the 3 million downloads/month mark.

Stats

  • 142,427 downloads in the last day

  • 769,810 downloads in the last week

  • 3,250,174 downloads in the last month

3 browserify

browserify was downloaded 58,806,324 times. Its most popular months are November 2015 and March 2017. The drop at the end is the month of May (which is not over at the time when this article is being written)

Stats

  • 94,242 downloads in the last day

  • 596,476 downloads in the last week

  • 2,754,831 downloads in the last month

4 bower

Bower has 56,646,535 downloads, in its first (tracked) month it has a little over a million downloads, while last month it had  2.1 million downloads. It grew slowly but steadily.

Stats

  • 109,460 downloads in the last day

  • 574,339 downloads in the last week

  • 2,425,566 downloads in the last month

5 gulp

Gulp has  55,391,102 total downloads. Since it was released it followed a mostly upward trend with it’s highest point in March 2017 and November 2016.

Stats

  • 141,435 downloads in the last day

  • 741,456 downloads in the last week

  • 3,084,541 downloads in the last month

6 grunt

Grunt has 44,831,357 total downloads. It grew consistently since 2015 and its bets months yet are August/September 2016 and March 2017.

Stats

  • 94,217 downloads in the last day

  • 476,082 downloads in the last week

  • 2,085,160 downloads in the last month

7 grunt-cli

Grunt-cli currently has  33,607,269 total downloads. For about a year it grew slowly, then it jumped up from approximately 1 million downloads per months to 1.6 in April 2016. It’s also a part of grunt now.

Stats

  • 72,658 downloads in the last day

  • 380,167 downloads in the last week

  • 1,657,242 downloads in the last month

8 forever

Forever has 17,577,427 downloads, with a very slow growth, even with a bit of a drop in its first year, then jumping off the chart in the summer of 2016 and falling down again. Since January 2017 is has slowly climbed back up the ladder.

Stats

  • 16,014 downloads in the last day

  • 128,593 downloads in the last week

  • 990,269 downloads in the last month

9 Cordova

Cordova doesn’t shoot right ot the top, but it still gets there. It slowly grew to ~ 500k downloads in December 2015, then dropped for about a year, picking up again in February and March 2017. It has 9,218,040 total downloads.

Stats

  • 24,421 downloads in the last day

  • 177,173 downloads in the last week

  • 660,780 downloads in the last month

Cover photo from blog.npmjs.org, stats from npm-stat.com and npmjs.com.

Tweet

Categories
Archives

Node.js events in 2017

As a major technology, Node.js has quite a few events dedicated to people in love with it, developers who want to learn more, connect and grow professionally. We covered the Node Summit, a major Node.js conference in a previous article, but there are more worthy events besides it that might interest anyone with Node.js on their resume.

There are two dedicated Node.js events that most people know about, the previous mentioned Node Summit on July 25-27th and Node.js Interactive on October 4-6th. Node Summit will be held at the Mission Bay Conference Center in San Francisco and Node.js Interactive in Vancouver, Canada at the Vancouver Convention Centre.

Besides them we also have quite a few other Node.js conferences. Let’s dive in.

Nodeconf Adventure is a 3 day event, on July 6-9th in Walker Creek Ranch, in California. It’s a bit different that the usual Node conference. It’s an adventure for the whole family, in their own words. They have a kids Track and Significant Other track so for this conference you can really take your loved ones with you. This is an Un-conference, meaning that it’s not a traditional event with talks and speakers it’s more informal, attendees build the schedule right at the event.

NodeConf EU, in Ireland, 4 day event, from November 5-8th. This is a key event for Node.js in Europe (but no the only one). A true community event, it’s an attraction point for Node.js developers from across Europe and not just. It will take place at the  Lyrath Convention Centre, a conference venue and convention centre able to hold more than 1500 participants. Speaker proposals are open until June 30th.

Barcelona NodeConf, another european node.js event. To be fair this already happened, it was on April 7th, but it’s it should still be on your radar for next year. It was a one day event, with English talks, focusing on node.js, server-side and embedded JavaScript technologies in Barcelona. The Barcelona Node.js community is thriving.

WebRebels Oslo, this is a JavaScript conference happening on June 1-2nd in Oslo. Although it’s marketed as a JS conference, if you have a look at the speakers you will find that most of them also work in Node.js so in this regard it can also be considered a Node.js event. Last year there was an Oslo NodeConf, but so far they haven’t announced any plans to do another one in 2017.

NodeFest Japan, the largest Node.js conference in Japan. A 2 day event in November, 25-26th. It should be a real JavaScript festival, the Node Gakuen festival with the slogan “Be More Global, Be More Interactive”. It really shows Node is worldwide.

Possible events

Last year there were 3 more NodeConf events, nodeConf Italy (the 5th edition), NodeConf Oslo,  NodeConf Brazil and NodeConf Argentina. Dates for this year haven’t been announced yet, but they may still happen so if you’re in the area be sure to check them out.

Tweet

Categories
Archives

JavaScript as a backend language

You’ve learned the basics, HTML, CSS and JavaScript and now you want to learn something serious, a backend  language.

This idea has been in heavy rotation in communities and groups and the answers vary a lot, just like the community. The premise itself is flawed from the very beginning, differentiating front development as easy and back end development as hard.

Moving past that another question arises: what language should you choose?

The answers go from PHP to Ruby, to Python and often enough to Node.js as well. Of course you have to take into account that everybody has a different learning process, so it depends a lot on how do you approach the language you choose. For beginners choosing the easy or let’s say approachable choice would be fine, but learning something useful is far more valuable, even if it’s harder.

This is one of those never ending debates, and the truth is,  it’s not meant to reach a bottom line, the value of it all is the debate itself. Which language should you choose after getting a good grip on the front end side?

Well, we’re going to recommend one, you guessed it – Node and we have one very good reason for it – universality. Let’s be honest, JavaScript has complete monopoly on the front end side. If you work client-side you use and know JavaScript so it makes sense to apply that knowledge to the backend as well, by using Node.js. Seems simple enough, but there’s a wall of misconceptions and old ideas that makes people doubt JavaScript in the backend and a part of that is JavaScript’s fault. It’s renowned as a front end language, the best and the most used and as such it’s been typecast as strictly front end. Backend JavaScript..pfaa..madness!

Node.js and JavaScript are (obviously) not the same thing, there are plenty of differences between them, but they share a commonality that makes all the difference (pun intended) – JavaScript itself. Node.js is built in JavaScript, and JavaScript, well JavaScript is just JavaScript. If you have a look at all the frameworks made in JavaScript, starting from React, Ember, Angular all the way to Cylon you can see how adaptable the language really is and how much you can do with it.

Node.js is just another, pretty big way to use JavaScript in a very important part of development. The back end side provides functionality and has always been seen as the serious side of programming, while the front stayed somewhere in the it’s sort of programming side. Node is not the next step in JavaScript, it’s not a evolution or extension of it, it’s an independent platform that runs JavaScript. This distinction is very important as JavaScript, due to its monopoly in the front end, is misrepresented as just a front end language.

If you already know JavaScript and want to try the backend world, you’re already three steps ahead because you know the language that Node runs. JavaScript is unbelievably versatile and through Node is also a very powerful back-end language.

Tweet

Categories
Archives

Built in Node.js – startups, apps, projects using Node

Keep in touch with us, we want to know you! We’d love to hear your thoughts, so, if you have feedback, suggestions, or you just want to say Hi!, join the conversation!

  • Home
  • Startups
  • Companies
  • Jobs
  • Blog
  • About
  • Meet the team
  • Contact