Why Now is the Best Time to Learn JavaScript

node

JavaScript may feel like an old language – and it is, being 19 years old – but it has a myriad of uses and is popping up in places you wouldn’t expect it to. Now, is definitely the time to start learning this versatile and exciting language.

JavaScript began its life in the browser, allowing you to interface with a number of Web APIs such as the Document Object Model (DOM), to manipulate your web pages and add richer desktop-like user experiences.

Here’s a few examples of JavaScript uses.

Building ‘Native’ Mobile Apps

Titanium SDK (Software Development Kit) started off as a way for web developers to build and deploy desktop-like web applications like regular installable apps. They used modern web technologies because:

  • there’s an ever expanding talent pool
  • the learning curve is a lot lower than native development
  • you can reuse (60%–90%) your code on each platform

The desktop version of the SDK was released in 2008. There was a strong demand from developers at the time for a mobile version of the SDK and it came in 2009. Initially it supported iOS and Android, now it supports Windows Phone and Blackberry with the desktop SDK being spun off into its own project TideSDK.

phonegap

Titanium SDK isn’t the only way to build apps for mobile, there’s also PhoneGap and bob.

Building Desktop App Extensions

As mentioned above you could use something like TideSDK to create your very own application but did you know you can extend existing applications?

A notable example is that the entire range of Adobe Creative Cloud applications can be extended with JavaScript. With Adobe Extension Builder you can use HTML, CSS and JavaScript to extend Photoshop, Illustrator or any of your favorite Adobe apps.

In the upcoming release of OS X Yosemite you’ll be able to write automated tasks for your Mac using JavaScript too.

Building Server-Side Apps

Server-side JavaScript has had a few false starts. It has come and gone several times since its inception in 1995. One of the most recent and most popular examples is Node.js. Node.js is built on Chrome’s JavaScript interpreter, but there’s no browser, it’s just pure JavaScript.

Because of JavaScript’s unique characteristics it is well suited for various use cases that other server-side languages find difficult to do.

Node.js is good at:

  • real-time chat applications
  • file uploading services
  • real-time analytics and other data-intensive use cases

Node.js is being used in production by PayPal, Walmart, Groupon and LinkedIn to name a few.

Node.js can also be used to help you on the client-side too. With tools like, Grunt, gulp.js and Bower it can help you with keeping your libraries up to date, your code minified and maintainable.

Building Electronics

The next and most surprising trend is that JavaScript is being used to program small electronic boards like the Espruino and Tessel.

espruino

Normally when programming microcontrollers (small computers with that can be connected to sensors and electronic components) you’d need to write C, C++ or BASIC. But with this new wave of devices, it lowers the barrier and opens it up to more people getting involved in electronics. Which is super awesome!

You could even hook electronics up to a computer running Node.js and record information from a sensor and display it on a website.

Conclusion

Learning JavaScript, the language is one thing, but learning how to use it in all these environments is another.

Depending where you use JavaScript you’ll have new things for you to use. In the browser you have the DOM to add interactivity, on the server side you’ll have all the things required to write web servers, in mobile you’ll have access to the camera and other device specific things and in electronics you’ll be able to read sensors and play around with electronic components. These ‘things’ that allow you to do this are Application Programming Interfaces or APIs.

Where do you start? I’d recommend building web applications in the browser with Web APIs.

And look out for my upcoming course Building Interactive Web Pages with JavaScript. It’s released early in September.

Free Workshops

Watch one of our expert, full-length teaching videos. Choose from HTML, CSS or WordPress.

Start Learning

Andrew Chalkley

I'm an alien, I'm a legal alien, I'm an Englishman in Portland. All of my professional life I've worked with computers online. I'm a polyglot programmer and like using the right tools for the job. In my spare time I enjoy spending time with my young family and when I get chance, sticking opponents in Halo 4. You can find me in most places @chalkers.

Comments

11 comments on “Why Now is the Best Time to Learn JavaScript

  1. I hope Treehouse intends on making tutorials for all of these! Using it for mobile apps and node.js both sound very useful skills.

      • Is that next course as in “coming soon” or next course as in “I will develop this next”. Because I really want to do this course, but I can’t afford to extend my free trial.
        Also looking forward to your JavaScript course this month :)