Ok. While I wasn’t looking, some of you people went and….

Made. JavaScript. Awesome.

It used be like this…

(https://farm5.staticflickr.com/4054/4439062727_52444dd185_z.jpg)](https://www.wylio.com/credits/flickr/4439062727/) © 2010 alikins, Flickr | CC-BY | via Wylio

 

That was two years ago - the last time I was doing hardcore JavaScript as part of a commercial product. Back then I was doing tons of jQuery, jQuery-UIBackbone.js, qUnit, and was just starting transition to shiny new AngularJS. Then I got sidetracked by some other work.

In the meantime, I’ve been doing tons of JSF/Primefaces, and more recently, lots of Microsoft Tech (including Azure). But since getting crazy-excited about TypeScript, I’ve put more and more JS-related technologies on my learning plan for the year. And boy is there lots to learn!

So what’s changed in two years?

Well.. Everything! The entire landscape has moved. There are now mature build tools, mature package management infrastructure, great bootstrapping tools, some very cool Model-View-Whatever frameworks. Boy, even the IDE tooling has come forward in leaps and bounds (presently playing with Webstorm and really enjoying it). And don’t get me started on how awesome cloud hosting is!

 

(https://farm4.staticflickr.com/3645/3451882380_ed3d6b7898_z.jpg)](https://www.wylio.com/credits/flickr/3451882380/) © 2009 Titanas, Flickr | CC-BY-SA | via Wylio

 

So, if it’s been a while? Where should I start?

Well, if it’s been a while since you dived deep into JavaScript, it might be helpful to have a look at the stuff on my learning plan for this year to give you a bit of inspiration to where all the shiny stuff is happening.

Here’s where I’m putting my learning energies:

TypeScript - well, that’s a bit personal, since it’s the language that made me love JavaScript again. If you’ve found JavaScript hard to swallow, and are more of a strongly-typed OO guy, TypeScript will rock your world!

Gulp/ Grunt - the two build tools / JavaScript task runners of choice. I’m presently putting my energy into Gulp (think a more Gradle-like code-driven build tool). Really impressive plugins available for both of them. Everything you could want.

Node.js - Server-side JavaScript container. I didn’t see that coming. Really.

Bower & NPM - Bower for the Client-side JS libs, and NPM for the Server based/build tool package management. If you’re a Java guy, think Maven/Ivy.

Yeoman - Bootstrapping tool. Need to create an Angular app from a back template? Yup, Yeoman.

AngularJS- It’s the Gorilla in the room, and when using it with TypeScript, I’ve found it much more pleasant!

WebStorm - If you already own Intellij IDEA, this is the baby brother focussing exclusively on the JS space. Cheap & well executed - and the IDE “knows” about all of the tools listed about and gives you tooling support.

Sublime Text - Looking for something lighter than an IDE, but with Syntax support? It seems in the JS text editing space, Sublime is owning things.

Azure - This is the new Microsoft, where everything is full of awesome. You’ll need somewhere to host all this Node goodness, and Azure has your back. You can sign up for free, and host a bunch of sides. Deploy your Node apps by committing to a git repo. And the admin tooling is noob-friendly.Check out their Node dev centre.

 

(https://farm6.staticflickr.com/5052/5524669257_ab67585fd0_z.jpg)](https://www.wylio.com/credits/flickr/5524669257/) © 2011 JakeandLindsay Sherbert, Flickr | CC-BY | via Wylio

 

How do I get started?

Well that depends on your learning style, right?  There are certainly tons of awesome PluralSight vids to get you started if you subscribe there.

But there’s nothing to compare with spinning up a little side project and getting cracking?

I’m on it!