Image from gratisography.com

I’m currently in the middle of enhancing my skill set to incorporate a front-end framework in JavaScript, something that at first seemed deep, overly complicated and a bit pointless.

Theres a giant sea of articles that seem to crop up weekly, all proclaiming the same message: that learning JavaScript and its plethora of frameworks is difficult, time consuming and overly cumbersome.

Well this may have its truths, something I’ve noticed is that a lot of people are attempting to redefine the way they write their websites or apps in one fell swoop. Looking for the easy, no strings attached, single tutorial switch to a modern JS framework.

You’re not going to find it, and if you do, you shouldn’t follow that route.

Learning the basics to anything new seems to be an obvious starting point, but when I started learning I was looking for a quick way to start theming WordPress as a headless CMS, I didn’t care about data-binding, ES6 or even learning about states. All I wanted was something to tell me how to make it work in WordPress.

And that’s where I ran into a whole world of trouble. I spent a lot of time looking at open-source projects like the ustwo build by Human Made, Calypso by Automattic and the Picard theme by Jack Lenox. None of them made sense to me and its all because I didn’t spend the time looking at the basics, so I’ve started again from the very basics. Taking my time learning to build small things in React, even though I may never use them nor may they relate to using WordPress.

Sure, I still have no idea what I’m doing and I’ve only just managed to display a post using the WordPress REST API, but its been a hell of a ride getting there, and I’m really looking forward to getting it into a production environment.

Learning something new can take a little or a lot of time, its going to vary between people and what they’re learning. But starting with the most basics of the language are going to help you in the long run and get you much further as your proficiency increases.