Let’s learn React in 2019. This is one of my main goals for the year (notice I did not say resolutions). Having worked with Node.js and other backend technologies in the past, and I am still wanting to gain more knowledge about front-end technologies and React, being one of the biggest, is my choice. While I have had some training in React, I am wanting to master it this year. So, consider this my kick-off post and an invitation to you to join me as I blog about my experiences, tools, and thoughts about React.
Current Knowledge
Technically, I have been using JavaScript for almost 20 years. Like many developers though, much of that time I used it for basic DOM manipulation and didn’t give the language a ton of respect. As a budding Java developer in the early 2000’s, I parroted the common criticisms in regard to JavaScript not being a real language. Finally, sometime around 2009 or so, the world had to sit up and recognize that JavaScript was on its way to becoming a first class language.
I followed suit to the point of learning more about technologies like AngularJS, React, Node.JS as well as the concept of “asynchronous execution.” That last item, “asynchronous execution” was, and I admit can still at times be a hard thing to learn for an old school Java developer like me. I learned even more after striking out on my own as an independent developer. One of my first clients had a web application project requirement which I built with Node.JS, and MongoDB for the backend. It was a lot of work, and lot of learning, and even more fun.
Educational Resources
So how do I plan to learn react in 2019? Having completed some bits and pieces of a few different tutorials, I have never followed and completed a structured education course for React. I am spoiled for choice for React education as it is an unbelievably popular library. In fact, this has made my choice of educational resource very difficult. At some point I had to make a decision and here is what I am starting with.
First
I will be starting with the official React practical tutorial. They also have an official step-by-step guide that I have already perused a bit in the past. What I like about this is I can read and develop at the same time. Which means I can have my preferred code music of choice playing in my headphones.
Second
I will most likely use a course I purchased on Udemy called, React 16.6 – The Complete Guide (incl. React Router & Redux) created by the crew over at Academind. I have previewed some of the beginning lessons as well as other tutorials created by them and have found them to be really solid. This particular course was updated as recently as this month with new content. My only problem learning via video is I can’t also have my music going at the same time.
Third
This is the point where the rubber initially hits the road. I will work to reinforce what I have learned through a yet to be determined personal project . This will in turn build out my GitHub public repositories with code samples from this project. As someone who has interviewed developers in the past, I can tell you I personally enjoy perusing applicants GitHub repo when available. I am ashamed to say most of my GitHub is filled with private personal projects or client work and very little shared public knowledge. I hope to change this.
Fourth
I will be looking to apply my knowledge to Gutenberg Blocks by WordPress. This is mostly because much of my client work is in WordPress, but also because I am considering making some WordPress plugins as part of a product business initiative for my company. I am still deciding what educational resources I will use. I may start with the offerings by Zak Gordon over at JS for WP.
Fifth
I will dabble with other React based technologies. I have to admit, GatsbyJS is very interesting to me and could be a path I take. Because GatsbyJS is often used in conjunction with GraphQL I am even more excited to give it a whirl.
Overall Goals
All of the above is not just to layout a roadmap for my React education, but also as a commitment to write about my journey. Even if what I publish is late at night and without much editing, I am going to publish unashamedly. As with many of us that have fallen off the blogging wagon, I am looking to jumpstart my personal blog. One of the best ways I have found to do this in the past is to write about a project or goal I am working towards. Which leads to me why I am here, starting this potentially very long series on React for my blog.
After all is said and done in this series I hope this provides a place for me to come back to what I have learned and questions I have asked to refresh myself on the topic of React. My brain is fantastic at processing, but encoding and storing information long term can be a challenge for me. Having one place to come and review in my own voice, often helps encode the information and makes it easier for me to recall and act upon the knowledge.
Commitment
My commitment is to spend a reasonable amount of time each week working to learn React in 2019. I will then publish an article, usually technical in nature, about what I have learned that week. These posts will also include my thoughts as I completed the lessons and how I can apply it to projects in the future. Be forewarned, as I learn and write about what I learn, I will abide by the policy; The only stupid question is the one that was never asked. This will be so hard for me as I suffer from an extreme case of “imposter syndrome.”
Lastly, I would hope this could be a help for you as well. If you find a topic here that helps you out, that would be the icing on top for me. As developers, new or seasoned, when we search for a solution online and finally find the answer we are looking for, life is good. May you find that answer here, and may it put a smile on your face and one less bug in your issue list.