What should I be learning in 2018?

Ryan Weal

January 25, 2018

I'm into my second year of my transition from Drupal and PHP to full-stack JavaScript. Things are generally pretty good. I have been having a lot of fun with my projects this year.

This post is a summary of things I have been learning that have all turned into things I have been doing for work as a freelancer. Want to know what type of things are on my desk at the start of 2018? This is it.

"Front End" React & Vue ("web applications")

Transitioning between technologies is especially hard for a consultant who already has established business in another area but I have fumbled my way through:

Prior to these two projects I had done an ES6 JavaScript course by Wes Bos, which was a great top-up for someone like myself who always "knew" a bit of JS but spent more time doing back-end programming in other languages.

I was introduced to Vue.js with Laracasts "Learn Vue 2: Step By Step" which is a great (not to mention, free) introduction to programming with Vue. For React I got going by watching a few videos on YouTube as many of the concepts were familiar from Vue. Eventually I paid up for another Wes Bos React course, "React for Beginners" and used that as a guide to audit our code before going live.

If you are thinking of taking on "front-end" JavaScript projects in 2018 I would focus my efforts on React (where the money is) or Vue. Angular is a good option as well. All of these make use of a "virtual dom" that makes things faster for users and more pleasant for developers.

If you just wrote-off that previous comment because you're not a "front-end" developer I have news for you: coding in React and Vue.js is more like application programming and at the end of the day you are still going to hand it over to your CSS specialist to fine-tune it. So don't avoid these technologies just because you are a so-called "back-end" dev.

There is also an entire category of "front-end" JS work that is powered by back-end node.js pacakages like webpack are great too. I am using metalsmith.js to generate this static blog site. You can find more about that in my previous blog post.

How JavaScript Has Changed

I have often mentioned that JavaScript has undergone a bit of a renaissance with the transition from "ES5" to "ES6" (otherwise known as ECMAScript6 or ECMA Script 2015). The language added many new features that make lives better for developers. It has continued to improve since then.

Since I had not been "focused" on JS for many years I struggled with a few points that look obvious now:

Another worthy note about how JavaScript has changed: I feel like it is much simpler to manage code in a way that is not a memory-leaking disaster. Maybe I've just grown older and wiser in this department though.

Onward: All the Things!

As 2018 begins JavaScript has started to take over other parts of my developer life:

The neat thing about that last point... well, actually many of these points is that these tasks situate me in such a way that I can keep working "around" Drupal and PHP communities where my existing clients are as I learn new things and take on new JavaScript projects.

Written by:
Ryan Weal @ryan_weal
Web developer based in Montréal. I run Kafei Interactive Inc. Node.js, Vue.js, Cassandra. Distributed data. Hire us to help with your data-driven projects.