The 2017 DevelopIntelligence Developer Learning Survey Report uncovered a number of insights and trends on how, what, and why software developers want to learn and be trained on in 2017. One of the major discoveries that stands out from the report is the enormous demand for training on JavaScript. 55% of survey respondents say they want more training JavaScript and 27% want training on ES6, the newest version of JavaScript. Our survey also uncovered a strong training demand for JavaScript frameworks, libraries, and related tooling–e.g., 42% desired Angular 2 training and 38% of developers reported a desire to learn React (a Facebook-driven UI library). What accounts for this robust training demand? Why is everyone either on or jumping on the JS train?

It’s worth considering a bit of history on the language. Brendan Eich invented JavaScript in 10 days around May 6-15 in 1995. The language, originally called Mocha, started as a simple client-side scripting language. It allowed developers to create simple interactivity in the browser. This was when the web was used by tens of millions of people vs. the billions who use it now. This web was originally invented to share simple documents over the wire. Consider what ESPN looked like in 1999:

And here’s what ESPN looks like in 2017:

We ask a lot more of the web than we used to. It needs to be able to do animations, video, social interactivity, eCommerce, and a multitude of other things that we do in our browser in 2017. JavaScript (and JavaScript developers) had to evolve a lot to keep up with this. Here’s a couple of the major milestones of that evolution:

Ajax – 2004

Ajax stands for asynchronous JavaScript and XML. Ajax allows developers to fetch data from a server without doing complete page refreshes. Ajax made things like Gmail and Kayak.com possible. It allowed browsers to feel much more like a desktop application instead of jumping from page to page. They could stay on the same screen but receive new data from a data source somewhere. This allowed for a much smoother and more interactive user experience.

Source: By DanielSHaischt, via Wikimedia Commons

Get JavaScript Training for Teams

jQuery – 2006

jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. jQuery made it much simpler for web developers to build applications that worked equally well on all browsers. This was the era when Internet Explorer had annoying quirks that other browsers didn’t. jQuery also made web development easier, in general, as it would give developers shorter/simpler ways of doing common tasks. They could get the same thing done with much less and much more readable code.

Here’s how to do relatively simple aJax request in jQuery:

Here’s how you would have to write it in JavaScript

The source of this code is a site called you might not need jQuery. They are arguing that jQuery is being overused. This might be true but it’s worth considering how many lines of code developers can save.

MVC Frameworks (Backbone, Angular, etc.) – ~2009-2013

Web applications continued to get larger and more complex. jQuery works well for simple applications but quickly turns into spaghetti code as an app grows. The tooling needed to evolve to accommodate this.

This is where the MVC (Model-View-Controller) frameworks like Backbone and Angular came out of. MVC was an existing popular way to organize code projects (in other languages) and adhere to what’s known as the separation of concerns. One area of the code would contain the templates that users would see, one would contain the logic of what functions would be called when users did different actions, and another part would contain the data that ultimately drove the app. This worked and worked really well for a variety of web applications.

This short video shows the power of Angular 1. It allows for accomplishing many common tasks with ease:

While Angular shines in simple smaller apps, it struggles to perform well and be maintainable as it grows. This created the need for a better paradigm.

Component Frameworks (React, Vue) – 2013-Now

Facebook released the React.JS UI library in 2013. Facebook was struggling to make existing frameworks/libraries support their complex app so they rolled out their own. React (and similar libraries) break a web application down into components. Every little widget or separate area of an app/page is a component and, thus, developed independently. React handles the task of keeping the data in sync with the user interface (e.g the like button has the correct number of likes).

Component-driven development greatly simplifies the application development and makes it easier to avoid common types of bugs that plagued the MVC frameworks.

Here’s a great clip, from 2013, that explains the React paradigm from a high-level:

No wonder developers want to learn more JavaScript!

As you can see, JavaScript has come a long way. There are variety of powerful tools to build simple and complex applications. But the tools keep changing and evolving, forcing developers to constantly be learning new things. Developers need regular training in multiple formats to keep up with this landscape.

DevelopIntelligence javascript offers expert-led, hands-on courses on all of the latest JavaScript libraries and frameworks. Our Developer Survey Report goes even more in depth on the front-end training landscape and you can download it here.

The following two tabs change content below.
mm

Kyle Pennell

Kyle is the community/content manager at DevelopIntelligence. He spends his time reading, coding, biking, and exploring live music in Oakland. He enjoys trying to make technical concepts more approachable and likes tinkering with music and mapping APIs.