Modular JavaScript

Dive into ES6 and the future of JavaScript

README

[![The Modular JavaScript book series glowing over the desktop of an eager learner.][cover]][coverlink]

Practical Modern JavaScript


Dive into ES6 and the future of JavaScript 🏊


[][campaign]

Modular JavaScript is a book series with the mission of improving our collective understanding of writing robust, well-tested, modular JavaScript code. Practical Modern JavaScript is the first book in the series, and it discusses ES6 features in detail. Practical Modern JavaScript includes hundreds of real-world use cases for the new language features, as well as detailed explanations of what works and what hasn’t when it comes to leveraging ES6 in the wild.

🗞 Start with the [book launch announcement][announcement] on Pony Foo  
💳 Participate in the [crowdfunding campaign][campaign] on Indiegogo  
🐤 Share a [message on Twitter][tweet] or within your social circles  
🌩 Amplify the [announcement on social media][clap] via Thunderclap  
📓 Purchase the [Early Release][er] from O'Reilly  
👏 Contribute to the [source code repository][contrib] on GitHub  
🦄 Read the free [HTML version of the book][toc] on Pony Foo  

This book focuses on two aspects of JavaScript development: modularity and 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.

Practical Modern 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][announcement] —_ are styled, which makes for a fairly enjoyable read as far as HTML books go.

[][toc]

Every book in the series will be distributed in this way.

The free-to-read version of Practical Modern JavaScript is subject to [the same license][license] as the rest of the content I publish on Pony Foo: [Creative Commons Attribution-NonCommercial-ShareAlike][license].


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][toc] 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][contrib] on GitHub! 👏_

A Crowdfunding Campaign!


[][campaign]

Offering all of this content free of charge is amazing because I can ensure that anybody who's interested in JavaScript can learn more about it. The satisfaction alone doesn't pay any bills, though.

At the same time, I have to manage to write the series somewhere in between my day job at **Elastic** _(it's the absolute best company — [we're hiring!][hire] 🦄💖🔎🎉)_ and my night job life bliss [being a husband][married].

That's why I'm asking for your help with a crowdfunding campaign. The main concern in the campaign is to keep me motivated to find the time to see the series to its end. The first book is already well underway, and I'd love to be able to justify the dedication that each book in the series deserves.

There's a few perks in the campaign, as is the norm with crowdfunding campaigns. Go [check out the campaign][campaign] and let's make this happen!

_Participate in the [crowdfunding campaign][campaign] on Indiegogo! 💸_

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][er] from O'Reilly! 📓_

Contribute


_Check out [the contributing guidelines][contrib]! 👏_

License


Nicolás Bevacqua © 2016-2017. Creative Commons. Details at [ponyfoo.com/license][license].

[hire]: mailto:nico@elastic.co "Get in touch with a cover letter and your resume!"
[married]: https://ponyfoo.com/articles/just-married "Just Married! announcement on Pony Foo"
[license]: https://ponyfoo.com/license "Licensing Terms on Pony Foo"
[clap]: https://ponyfoo.com/s/modular-javascript-thunderclap "Back the Thunderclap campaign!"
[tweet]: https://ponyfoo.com/s/modular-javascript-tweet "Send out a tweet promoting the Modular JavaScript launch"
[announcement]: https://ponyfoo.com/s/modular-javascript-launch "Announcing Practical Modern JavaScript and the Modular JavaScript Book Series"
[campaign]: https://ponyfoo.com/s/modular-javascript-indiegogo "Indiegogo campaign for Modular JavaScript: A Pragmatic JS Book Series"
[toc]: https://ponyfoo.com/s/practical-modern-javascript-read "Practical Modern JavaScript Table of Contents"
[contrib]: https://ponyfoo.com/s/practical-modern-javascript-repo-contrib "mjavascript/practical-modern-javascript on GitHub"
[er]: https://ponyfoo.com/s/practical-modern-javascript-early-release "Modular JavaScript: Practical Modern JavaScript"
[cover]: https://i.imgur.com/saRiGkb.png
[coverlink]: https://mjavascript.com "Let’s improve our collective understanding of writing robust, well-tested, modular JavaScript code."