Learning JavaScript Design Patterns
This is the source code for Learning JavaScript Design Patterns. It is licensed under the Creative Commons Attribution-Non Commercial-Share Alike 3.0 license. I hope you enjoy it, I hope it helps you learn, and I hope you'll support O'Reilly and me by purchasing a print copy of the book at O'Reilly.com.
Design patterns are reusable solutions to commonly occurring problems in software development and are a very useful tool to have at your disposal. You can read the latest version online for free at any time.
Why is this book needed?
I wanted to write this book as I felt that patterns were an area a lot of new and intermediate JavaScript developers may not have had a chance to explore just yet and I'm hopeful my book will encourage you to check them out as they can be quite powerful.
Contributing and Errata
I'm always welcome to feedback on how the book can be improved.
Pull requests
If you would like to help improve the project, please feel free to send over a pull request. Some useful notes:
- All changes should be made against the master branch.
- The source of the book is currently in
book/index.html
. - Atomic commits make it easier to review changes. If you can separate changes out in this form, it'll save us time when trying to land.
- Please review the version of the book online before requesting a change. It is updated more frequently than the physical version of the book but we do bring changes back in every few months.
Building the project
Install dependencies : npm install
Build the project: grunt
Preview: grunt serve
Additional formats
The project is currently authored in HTML, however we do plan on introducing builds for other formats (PDF, ePub) shortly. In the mean time, official releases for other formats can be obtained via O'Reilly.
Translations
If you would like to get involved with translating this project to another language, please open up a new issue. O'Reilly have a process for handling translations to ensure that they go through the same review process that the English version goes through.
So far, we've successfully had the book translated to Japanese. You can find that version on the O'Reilly Japan site.
License
This book is released under a Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 United States License.
What this means it that the project is free to read and use, but the license does not permit commercial use of the material (i.e you can freely print out the book for your own use, but you can't sell it). I'm trying to best to publish all of my books in a free + purchased (if you would like to support these projects) form so I would greatly appreciate it if you would respect these terms.
Copyright Addy Osmani, 2017.