├── CONTRIBUTING.md └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | > "Can I submit more books?" 4 | 5 | **Yes!** If you want to suggest a new book, just open an issue and tell us which book we should add here, and in which section. 6 | 7 | **OBS**: After **2** people approve (:+1:) your suggestion, the book will be included in our list. 8 | 9 | > "Can I suggest a new book for the Essential Path" 10 | 11 | **Yes!** But keep in mind that we will maintain just **one book** for each topic. If the book that you are suggesting is from a topic that we already have, we will change the previous book with the one suggested by you. 12 | 13 | **OBS**: After at least **20** people approve (:+1:) your suggestion, the book and/or the new topic will be included in our list. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JavaScript Path 2 | [![JavaScript Path](https://img.shields.io/badge/JavaScript%20Society-JavaScript%20Path-green.svg?style=flat-square)](https://github.com/javascript-society/javascript-path) 3 | ![License MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square) 4 | 5 | :books: List of books to master JavaScript Development 6 | 7 | ## Contents 8 | 1. [Essential Path](#essential-path) 9 | 1. [Additional Resources](#additional-resources) 10 | 1. [How to Use This List](#how-to-use-this-list) 11 | 1. [Project Based](#project-based) 12 | 1. [Contributing](#contributing) 13 | 14 | ## Essential Path 15 | Topic | Books | Price | Release 16 | :-- | :-- | :--: | :--: 17 | Learn JavaScript | [Eloquent JavaScript, 3rd Edition](http://eloquentjavascript.net/) | :free: | September 2018 18 | Functional Programming | [Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbook.io/mostly-adequate-guide/) | :free: | - 19 | Asynchronous Programming & Performance 1st Edition| [You Don't Know JS: Async & Performance](https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/async%20&%20performance/README.md#you-dont-know-js-async--performance) | :free: | February 2015 20 | ES6 | [Exploring ES6](http://exploringjs.com/es6/) | :free: | June 2015 21 | Tooling | [Setting up ES6](https://leanpub.com/setting-up-es6/read) | :free: | January 2016 22 | 23 | ## Additional Resources 24 | ### Learn JavaScript 25 | Books | Price | Release 26 | :-- | :--: | :--: 27 | [Speaking JavaScript](http://speakingjs.com/es5/) | :free: | February 2014 28 | [Professional JavaScript for Web Developers, 3rd Edition](http://www.wrox.com/WileyCDA/WroxTitle/Professional-JavaScript-for-Web-Developers-3rd-Edition.productCd-1118222199.html) | :moneybag: | December 2011 29 | [JavaScript: The Definitive Guide, 6th Edition](http://shop.oreilly.com/product/9780596805531.do) | :moneybag: | April 2011 30 | 31 | ### Going Deep 32 | Books | Price | Release 33 | :-- | :--: | :--: 34 | [JavaScript: The Good Parts](http://shop.oreilly.com/product/9780596517748.do) | :moneybag: | May 2008 35 | [Secrets of the JavaScript Ninja, Second Edition](https://www.manning.com/books/secrets-of-the-javascript-ninja-second-edition) | :moneybag: | August 2016 (estimated) 36 | [Effective JavaScript](http://effectivejs.com/) | :moneybag: | December 2012 37 | [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS) | :free: | - 38 | [Programming JavaScript Applications](http://chimera.labs.oreilly.com/books/1234000000262/index.html) | :free: | June 2014 39 | 40 | ### ES.next 41 | Books | Price | Release 42 | :-- | :--: | :--: 43 | [Exploring ES2016 and ES2017](https://exploringjs.com/es2016-es2017.html) | :free: | - 44 | [Understanding ECMAScript 6](https://leanpub.com/understandinges6/read/) | :free: | - 45 | 46 | ### Browser Development 47 | Books | Price | Release 48 | :-- | :--: | :--: 49 | [DOM Enlightenment](http://domenlightenment.com/) | :free: | February 2013 50 | 51 | ### Testing 52 | Books | Price | Release 53 | :-- | :--: | :--: 54 | [JavaScript Testing Recipes](http://jstesting.jcoglan.com/) | :moneybag: | March 2014 55 | [Test-Driven JavaScript Development](http://tddjs.com/) | :moneybag: | September 2010 56 | 57 | ### Design Patterns 58 | Books | Price | Release 59 | :-- | :--: | :--: 60 | [Learning JavaScript Design Patterns](http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/) | :free: | July 2012 61 | [JavaScript Patterns](http://shop.oreilly.com/product/9780596806767.do) | :moneybag: | September 2010 62 | 63 | ### Functional Programming 64 | Books | Price | Release 65 | :-- | :--: | :--: 66 | [JavaScript Allongé, the "Six" Edition](https://leanpub.com/javascriptallongesix/read) | :free: | - 67 | [Functional JavaScript](http://shop.oreilly.com/product/0636920028857.do) | :moneybag: | June 2013 68 | 69 | ### Object-Oriented Programming 70 | Books | Price | Release 71 | :-- | :--: | :--: 72 | [The Principles of Object-Oriented JavaScript](http://shop.oreilly.com/product/9781593275402.do) | :moneybag: | February 2014 73 | 74 | ### Asynchronous Programming 75 | Books | Price | Release 76 | :-- | :--: | :--: 77 | [Async JavaScript](https://pragprog.com/book/tbajs/async-javascript) | :moneybag: | November 2012 78 | 79 | ### Performance 80 | Books | Price | Release 81 | :-- | :--: | :--: 82 | [High Performance JavaScript](http://shop.oreilly.com/product/9780596802806.do) | :moneybag: | March 2010 83 | 84 | ### Workflow 85 | Books | Price | Release 86 | :-- | :--: | :--: 87 | [JavaScript Application Design](https://www.manning.com/books/javascript-application-design) | :moneybag: | January 2015 88 | 89 | ## How to Use This List 90 | Start with the first book of the [Essential Path](#essential-path), and after finish it, read the next one. Repeat this process until you finish all books from the **Essential Path**. 91 | 92 | After you complete the Essential Path, you should keep studying! Just choose one book listed in our [Additional Resources](#additional-resources) section. You don't need to read those books in such section in order, you should pick the one that you are more interested! :smile: 93 | 94 | **PROTIP**: try to **create** and **deploy** at least one real project after you finish each book. 95 | 96 | ## Project Based 97 | In order to show for everyone that you successfully finished a book, you should create a new project. 98 | 99 | > "What does it mean?" 100 | 101 | After finish a book, you should think about a **real world** problem that you can solve using the acquired knowledge in such book. You don't need to create a big project, but you must create something to **validate** and **consolidate** your knowledge, and also to show to the world that you are capable to create something useful with the concepts that you learned. 102 | 103 | The projects of all students will be listed in our [JavaScript Projects](https://github.com/javascript-society/javascript-projects) repository. Submit a pull request with your project's information after you start/conclude it. 104 | 105 | You can create this project alone or with colleagues! 106 | 107 | ### Project Suggestions 108 | - [JavaScript Projects](https://github.com/javascript-society/javascript-projects): List of projects related with the JavaScript Path. 109 | - [FreeCodeCamp](http://www.freecodecamp.com/): Course that teaches you fullstack JavaScript development through a bunch of projects. 110 | - [Projects](https://github.com/karan/Projects): A list of practical projects that anyone can solve in any programming language. 111 | - [app-specs](https://github.com/ericdouglas/app-specs): A curated list of applications' specifications and implementations to practice new technologies, improve your portfolio and sharpen your skills. 112 | 113 | ## Contributing 114 | See our contributing guidelines [here](CONTRIBUTING.md)! 115 | --------------------------------------------------------------------------------