Using React in VS Code for a new project. Since I'm new to both, this book which features both stood out to me. Before reading, I had:
* Several years of software development in object-oriented languages (especially Java)
* Some experience with Test-Driven Development
* Working knowledge of Javascript and React from several months of trying them out
After two very strong chapters on getting set up with the Jest testing framework and VS Code, the book motivates other techniques with a project of an image carousel. Some additional topics this book covers:
* Refactors and design patterns in React development and testing
* CSS-in-JS, a technique that facilitates unit-testing how your website looks
* Automated builds with Travis
* Interactive documentation with Storybook
* Gitmoji, whose use of emoji for commit types (e.g. memo pad for documentation) makes it easier to skim git history logs
In the introduction the book says it's for newcomers like me to React but assumes knowledge of JavaScript. And that matches what I found too. The book is good at explaining what each library or tool is, and excels at informing its readers on how to set things up. The VS Code workflow (plus hotkeys, extensions like Prettier autoformatter, etc.) described here is highly streamlined, boosting productivity by writing code very quickly!
My main concern with the book is how it will age. The author took great care to list the versions of every library used, so I think the Image Carousel project will stand the test of time. The discrepancies from the text that I ran into when going through this in late 2021 (a few years after the book's publication), were usually "around the edges." This usually fell into minor things like how GUIs (e.g., for VS Code or Travis) were laid out.
One less minor example was the interactive documentation library Storybook, which I was especially keen on trying out and thrilled to use... although I had to go a slightly different route than the book describes. Ultimately I used a current (for now) version of Storybook -- 6.4.9 instead of the 4.1.11 in the text -- which had Storybook Controls, which can be used instead of @storybook/action-knobs. Just knowing techniques like these are out there is exciting to me, although using them in the future may require additional research as they evolve over time. On a related note, I didn't have issues with the carousel's libraries, even though I wasn't using the exact versions shown in the book -- and the author also tells you how to do that if you need to.
Even with my limited experience in React and JavaScript, I was able to quickly come up with solutions on my own using TDD early in the book. Around chapter 5, the book's solutions started to use more advanced techniques and procedures I'm less familiar with. One example is Component lifecycle. Throughout the book, the author keeps things focused by pointing readers to many external links where they can learn more; component lifecycle had links. In instances like these, though, I opted instead to learn by copying the book's solutions and running them. (I hope to revisit this book and try out more of its links after learning more about React and especially JavaScript.)
On the whole, I thought this was a very good resource for getting set up and spun up on developing in React, with nifty tips on how to make your dev/test feedback loop as tight as possible.