Mastering Modular JavaScript
📦 Module thinking, principles, design patterns and best practices.
Modular JavaScript is a book series with the mission of improving our collective understanding of writing robust, well-tested, modular JavaScript code. Mastering Modular JavaScript is the second book in the series, and it discusses modular JavaScript application development. Mastering Modular JavaScript includes hundreds of real-world patterns and practices, as well as detailed explanations of what works and what hasn’t when it comes to leveraging ES6 in the wild.
This book focuses on two aspects of JavaScript development: modularity and leveraging ES6 features. You’ll learn how to tackle application development by following a scale-out approach. As pieces of your codebase grow too big, you can break them up into smaller modules.
Mastering Modular JavaScript is Free to Read!
The book is publicly available in HTML format and free forever. Each book chapter is styled similarly to how Pony Foo blog posts — such as the book series launch announcement — are styled, which makes for a fairly enjoyable read as far as HTML books go.
Every book in the series will be distributed in this way.
The free-to-read version of Mastering Modular JavaScript is subject to the same license as the rest of the content I publish on Pony Foo: Creative Commons Attribution-NonCommercial-ShareAlike.
It took me a bit of time but I've managed to get the git
repository to trigger builds on the O'Reilly build server. The build server then pings back to ponyfoo.com, letting the site know when a build is ready. Lastly, Pony Foo finally downloads the updated HTML files for the web version. Luckily I developed the code in such a way that I will be able to share HTML versions of other books in the series effortlessly.
Read the HTML version of the book on Pony Foo!
Source Code Repository!
I want this book series to be as widely available as possible, and the best course of action for that purpose was to release the vast majority of its contents to the open-source community.
The book chapters, code samples, and related graphics are all open-source and free to read online. The repository is the same one I work on while writing the book. You can help me in real-time, or just take a peek at my writing process and progress.
The GitHub repository is automatically synchronized with the website using webhooks and the O'Reilly Atlas API.
O'Reilly provides their authors with git
repositories under a system dubbed "Atlas" — the same system that handles the HTML and PDF build jobs. They also offer a way of using a GitHub repository while keeping their remote up to date via git hooks.
Those are the implementation details, but it means I can offer an open-source repository for the books — the same repository I will be working on myself. This means I can take issues, pull requests, and everything directly on GitHub. You can fork the book, fix some typos or add a new paragraph, and submit a PR.
When I merge a PR, the website will be updated after an automated build courtesy of the O'Reilly Atlas service!
Contribute to the source code repository on GitHub!
O'Reilly Media Early Release!
I've partnered with O'Reilly Media to publish the book. This is a paid offering that includes a PDF ebook and eventually a print book. The published book is a great way to show your support for my work, by paying a bit for it — and telling your friends how awesome my writing is.
We'll start with an Early Release, where you will get the first few chapters in ebook format. As new chapters come out and old ones get improvements, you'll receive those updates at no extra cost to you. You'll also get an opportunity to steer the direction of my writing efforts by reporting errors and delivering book reviews.
This is a great way to stay in touch with me through the writing process and letting me have it when drafts are not up to your expectations, so that we can improve the book iteratively before it goes to print.
Purchase the Early Release from O'Reilly!
Contribute
Check out the contributing guidelines!
License
Nicolás Bevacqua © 2017. Creative Commons. Details at ponyfoo.com/license.