├── .gitignore
├── package.json
├── scripts
├── covertReadmeToHTML.js
└── index.tpl.html
├── LICENSE
├── README.md
└── index.html
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "scripts": {
3 | "build": "node ./scripts/covertReadmeToHTML.js",
4 | "precommit": "npm run build"
5 | },
6 | "devDependencies": {
7 | "consolidate": "0.14.5",
8 | "husky": "0.14.3",
9 | "lodash": "4.17.2",
10 | "marked": "0.3.6",
11 | "pygmentize-bundled": "2.3.0"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/scripts/covertReadmeToHTML.js:
--------------------------------------------------------------------------------
1 | const cons = require('consolidate')
2 | const fs = require('fs')
3 | const marked = require('marked')
4 | const pygmentize = require('pygmentize-bundled')
5 |
6 | const readme = fs.readFileSync('./README.md', 'utf8')
7 |
8 | const writeFile = (err, html) => {
9 | if (err) throw err
10 | fs.writeFile('index.html', html, () => {})
11 | }
12 |
13 | const consTemplate = (err, content) => {
14 | if (err) throw err
15 | cons['lodash']('scripts/index.tpl.html', { content: content }, writeFile)
16 | }
17 |
18 | // prettier-ignore
19 | marked.setOptions({
20 | smartypants: true,
21 | highlight: (code, lang, callback) =>
22 | pygmentize({ lang: lang, format: 'html' }, code, (err, result) =>
23 | callback(err, result.toString())
24 | )
25 | })
26 |
27 | marked(readme, consTemplate)
28 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Xin Zhang
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/scripts/index.tpl.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
23 |
24 | Essential JavaScript Links
25 |
26 | [GitHub]
27 |
28 |
29 |
30 |
31 | <%= content %>
32 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Deprecation Warning
2 |
3 | I had moved it into [another repo](https://github.com/starandtina/The-Terrible-Front-End-List/blob/master/links.md) and compiled my favirate reads, artciles together. :)
4 |
5 | # Essential JavaScript Links
6 |
7 | Originally forked from [Essential JavaScript Links](https://gist.github.com/ericelliott/d576f72441fc1b27dace) but modified according to personal favor.
8 |
9 | This is a very exclusive collection of only must-have JavaScript links. I'm only listing my favorite links. Nothing else makes the cut. Feel free to suggest links if you think they're good enough to make this list. The really curious should feel free to browse the comments to find other links. I can't guarantee the quality of links in the comments.
10 |
11 | If you want to view the well organized version, please head to [this link](http://starandtina.github.io/Essential-JavaScript-Links//).
12 |
13 | ----
14 |
15 | # Required Reading
16 |
17 | * [Learn JavaScript Essentials (for all skill levels)](https://medium.com/javascript-scene/learn-javascript-b631a4af11f2) - One clear path to JavaScript mastery
18 | * [JavaScript Training Sucks](https://medium.com/javascript-scene/javascript-training-sucks-284b53666245) 99 out of 100 JS developers lack the skills they need to fill hundreds of thousands of jobs. We can change that.
19 | * [The Two Pillars of JavaScript Part 1: Prototypal OO](https://medium.com/javascript-scene/the-two-pillars-of-javascript-ee6f3281e7f3)
20 | * [The Two Pillars of JavaScript Part 2: Functional Programming](https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4)
21 | * [JavaScript Objects](http://davidwalsh.name/javascript-objects): An excellent explanation of inheritance in JavaScript by Kyle Simpson.
22 | * [Isomorphic JavaScript](http://isomorphic.net/)
23 | * [JavaScript Application Architecture on the Road to 2015](https://medium.com/@addyosmani/javascript-application-architecture-on-the-road-to-2015-d8125811101b) - Addy Osmani
24 | * [Modularity](http://jlongster.com/Modularity) A pragmatic take on the tiny modules vs batteries included approach
25 | * [Computer Science in JavaScript](https://github.com/nzakas/computer-science-in-javascript) by Nicholas C. Zakas **#article**
26 | * [The Dao of Immutability](https://medium.com/javascript-scene/the-dao-of-immutability-9f91a70c88cd) The Way of the Functional Programmer **#article**
27 | * [Reactive MVC and the Virtual DOM](http://futurice.com/blog/reactive-mvc-and-the-virtual-dom): Great read, even if you're not a React user.
28 | * [Introduction to Reactive Programming](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754)
29 | * [The General Theory of Reactivity](https://github.com/kriskowal/gtor): What is all this talk about reactive? Functional? Promises? This is the beginning of a reactive programming bible.
30 | * [Why Functional Programming Matters](http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf) by John Hughes, 1984 **#paper** **#pdf**
31 | * [Typed JavaScript](http://www.2ality.com/2014/10/typed-javascript.html) Excellent post about the state of typed JavaScript by Axel Rauschmayer **#article**
32 | * [ES6 Promises](http://blog.getify.com/promises-part-1/): This is a multi-part blog post series on the whys and hows and problems of Promises by Kyle Simpson.
33 | * [ES6 Generators](http://davidwalsh.name/es6-generators): A series of blog posts by Kyle Simpson.
34 | * [Typed JavaScript](http://www.2ality.com/2014/10/typed-javascript.html): Excellent post about the state of typed JavaScript by Axel Rauschmayer
35 | * [Taming the Asynchronous Beast with CSP in JavaScript](http://jlongster.com/Taming-the-Asynchronous-Beast-with-CSP-in-JavaScript) - James Long
36 | * [ES6 Modules: The Final Syntax](http://www.2ality.com/2014/09/es6-modules-final.html) by @rauschma #AMDisDead
37 | * [javascript-sdk-design](https://github.com/huei90/javascript-sdk-design) A guide for people building JavaScript client SDKs **#article**
38 | * [Advanced Performance Audits with DevTools](http://www.paulirish.com/2015/advanced-performance-audits-with-devtools/) In-depth perf case studies with Paul Irish **#article**
39 | * [The Tech Behind the New Twitter.com](https://blog.twitter.com/2010/tech-behind-new-twittercom): The Twitter.com redesign on 2010, publicly switched to client-side templating, turning the server into something more like a simple API
40 | * [Facebook just taught us all how to build websites](https://medium.com/@ericflo/facebook-just-taught-us-all-how-to-build-websites-51f1e7e996f2)
41 | * [JavaScript-Garden](http://bonsaiden.github.io/JavaScript-Garden/): JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language.
42 | * [MindBEMding – getting your head ’round BEM syntax](http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/): BEM – meaning block, element, modifier – is a front-end naming methodology thought up by the guys at Yandex. It is a smart way of naming your CSS classes to give them more transparency and meaning to other developers. They are far more strict and informative, which makes the BEM naming convention ideal for teams of developers on larger projects that might last a while.
43 | * [Chrome DevTools: State Of The Union 2015](http://addyosmani.com/blog/chrome-devtools-state-of-the-union-2015/): [@addyosmani](http://twitter.com/addyosmani) walks through the latest updates on your favourite debugging companion; exploring new features like paint profiling, animation inspection and updates to the JavaScript editing workflow with V8.
44 | * [JavaScript Scene](https://medium.com/javascript-scene/learn-javascript-b631a4af11f2): Learn JavaScript Essentials(for all skill levels) by Eric Elliott (author of [Programming JavaScript Applications](http://chimera.labs.oreilly.com/books/1234000000262/index.html))
45 | * [miguelmota/javascript-idiosyncrasies](https://github.com/miguelmota/javascript-idiosyncrasies): A bunch of Javascript idiosyncrasies, kinda.
46 | * [A Baseline for Front-End Developers](http://rmurphey.com/blog/2012/04/12/a-baseline-for-front-end-developers/): by @rmurphey on APR 12TH, 2012
47 | * [A Baseline for Front-End [JS] Developers: 2015](http://rmurphey.com/blog/2015/03/23/a-baseline-for-front-end-developers-2015/): by @rmurphey on MAR 23RD, 2015
48 | * [Making NetFlix.com Faster](http://techblog.netflix.com/2015/08/making-netflixcom-faster.html): Performance isn't an option if you're aiming for an amazing user experience. A compelling post on how Netflix improved on how fast Netflix.com renders by @kristoferbaxter.
49 | * :star2: [Function as Child Components](https://medium.com/merrickchristensen/function-as-child-components-5f3920a9ace9#.3n1is9sod)
50 | * :star2: [Mixins Are Dead. Long Live Composition](https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750#.bhg0iefbm)
51 | * :star2: [Smart and Dumb Components](https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0#.l0xis2l65)
52 | * :star2: [dexteryy/spellbook-of-modern-webdev](https://github.com/dexteryy/spellbook-of-modern-webdev): A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development
53 | * :star2: [wearehive/project-guidelines](https://github.com/wearehive/project-guidelines): A set of best practices for JavaScript projects
54 |
55 | # Required Viewing
56 |
57 | * [Asynchronous Programming at Netflix](https://www.youtube.com/watch?v=gawmdhCNy-A) - [Jafar Husain](https://twitter.com/jhusain)
58 | * [David Nolen: Immutability: Putting The Dream Machine To Work](https://www.youtube.com/watch?v=SiFwRtCnxv4) - [David Nolen](https://twitter.com/swannodette)
59 | * [Delivering the Goods](https://www.youtube.com/watch?v=R8W_6xWphtw): Paul Irish on one of the most important but overlooked topics in the development world today - page load times.
60 | * [bolshchikov/js-must-watch](https://github.com/bolshchikov/js-must-watch): Must-watch videos about javascript.
61 | * [Classical Inheritance is Obsolete: How to Think in Prototypal OO](https://vimeo.com/69255635) by [Eric Elliott](https://twitter.com/_ericelliott) **#talk**
62 | * [Composition Over Inheritance](https://www.youtube.com/watch?v=wfMtDGfHWpA) by Mattias Petter Johansson **#video**
63 | * [Everything You Never Wanted to Know About JavaScript Numbers](https://www.youtube.com/watch?v=MqHDDtVYJRI) by Bartek Szopka **#talk**
64 | * [What is Reactive Programming?](https://www.youtube.com/watch?v=dwP1TNXE6fc) [Jafar Husain](https://twitter.com/jhusain) explains reactive programming **#talk**
65 | * [Introduction to React](https://www.youtube.com/watch?v=XxVg_s8xAms) by Jordan Walke **#talk**
66 | * [Introduction to Reactive Programming](https://egghead.io/series/introduction-to-reactive-programming) by André Staltz **#video** **#course**
67 | * [Immutability: Putting The Dream Machine To Work](https://www.youtube.com/watch?v=SiFwRtCnxv4) by [David Nolen](https://twitter.com/swannodette) **#talk**
68 | * [The Essence of FRP](http://begriffs.com/posts/2015-07-22-essence-of-frp.html) by Conal Elliott **#talk**
69 | * [JavaScript API Design Principles](https://www.youtube.com/watch?v=HYl7ReNB5TA) by Ariya Hidayat **#talk**
70 | * [Delivering the Goods](https://www.youtube.com/watch?v=R8W_6xWphtw) Paul Irish on one of the most important but overlooked topics in the development world today - page load times. **#talk**
71 | * [Supercharging Page Load](https://www.youtube.com/watch?v=d5_6yHixpsQ) by Jake Archibald **#video**
72 | * [Slay'n the Waste Monster](https://www.youtube.com/watch?v=RWmzxyMf2cE) by Colt McAnlis **#talk**
73 | * [Simplicity Matters](https://www.youtube.com/watch?v=rI8tNMsozo0) A later version of the influential talk, "Simple Made Easy" by [Rich Hickey](https://twitter.com/richhickey) **#talk**
74 | * [Making WebGL Dance](https://www.youtube.com/watch?v=GNO_CYUjMK8) by Steven Wittens **#talk**
75 | * [The Pixel Factory](https://www.youtube.com/watch?v=4NkjLWAkYZ8) by Steven Wittens **#talk**
76 | * [Getting Started with Redux](https://egghead.io/series/getting-started-with-redux) by Dan Abramov. Describes a functional approach to application state that all developers should be aware of. **#course** **#video**
77 | * [Cycle.js Fundamentals](https://egghead.io/series/cycle-js-fundamentals) by André Staltz. **#course** **#video**
78 |
79 |
80 | # Dailies and Weeklies
81 |
82 | * [JavaScript Weekly](http://javascriptweekly.com/): A free, once–weekly e-mail round-up of JavaScript news and articles.
83 | * ES.next News](http://esnextnews.com/): ES.next News: 5 ECMAScript.next links every week, in your inbox.
84 | * [Fresh Brewed Frontend](https://freshbrewed.co/frontend/): A weekly reading digest for frontend developers. One email. Handpicked articles. Every Tuesday. No spam.
85 | * [HTML5 Weekly](http://html5weekly.com): A once–weekly HTML5 and Web Platform technology roundup.
86 | CSS 3, Canvas, WebSockets, WebGL, Native Client, and more.
87 | * [CSS Weekly](http://css-weekly.com/): A weekly e-mail roundup of css articles, tutorials, experiments and tools curated by [Zoran Jambor](http://twitter.com/ZoranJambor).
88 | * [Mobile Web Weekly](http://mobilewebweekly.co/): A weekly round-up of the releases, articles, and links that affect Web developers working on the mobile-facing Web.
89 | * [Responsive Design Weekly](http://responsivedesignweekly.com/): A free, once–weekly round-up of responsive design articles, tools, tips, tutorials and inspirational links.
90 | * [Web Design Weekly](http://web-design-weekly.com/): A once a week email with no spam, no rambling. Just pure awesome links to the best news and articles to hit the interweb during the week.
91 | * [Node Weekly](http://nodeweekly.com/): A free, once–weekly e-mail round-up of Node.js news and articles.
92 | * [Web Tools Weekly](http://webtoolsweekly.com/):
93 | * [EchoJS](http://www.echojs.com/)
94 | * [DailyJS](http://dailyjs.com/): A JavaScript Blog.
95 | * [JavaScript Jabber](http://devchat.tv/js-jabber/)
96 | * [A Drip of JavaScript](http://adripofjavascript.com/): One quick JavaScript tip, delivered to your inbox every other week.
97 | * [Modern Web Observer](http://modernweb.com/modern-web-observer/)
98 | * [Web Development Reading List](https://wdrl.info/): A handcrafted, carefully selected list of web development related resources. Published usually every week.
99 | * [DevOps Weekly newsletter](http://www.devopsweekly.com/)
100 | * [DevOps newsletter by ServerDensity](https://blog.serverdensity.com/devops-newsletter/)
101 | * [SysAdmin Casts newsletter](https://sysadmincasts.com/)
102 | * [Servers for hackers newsletter](https://serversforhackers.com/)
103 | * [Docker Weekly newsletter](https://www.docker.com/newsletter-subscription)
104 | * [Kubernetes Weekly newsletter](https://kubeweekly.com/)
105 | * [Web Operations Weekly](http://webopsweekly.com/): A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal.
106 | * [Cloud Development Weekly](http://clouddevweekly.co/): News, links and resources for developers working with cloud services, cloud APIs, and cloud-based tools
107 | * [This Week on Domains](http://www.thisweekindomains.com/) : A free weekly newsletter featuring the best and hand curated links related to domains, development, monetization, how to guides, tips and tricks, resources, events and more.
108 | * [NoSQL Weekly](http://www.nosqlweekly.com/): A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to NoSQL.
109 | * [Founder Weekly](http://www.founderweekly.com/): A free weekly newsletter for entrepreneurs featuring best curated content, must read articles,
110 | how to guides, tips and tricks, resources, events and more.
111 | * [Python Weekly](http://www.pythonweekly.com/): A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to Python.
112 | * [Ruby Weekly](http://rubyweekly.com/): A free, once–weekly e-mail round-up of Ruby news and articles.
113 | * [Go Newsletter](http://golangweekly.com/): A weekly newsletter about the Go programming language.
114 | * [DB Weekly](http://dbweekly.com/): A weekly round-up of database technology news and articles covering new developments, SQL, NoSQL, document databases, graph databases, and more.
115 | * [MySQL Newsletter](http://mysqlnewsletter.com/): Unofficial Weekly News Digest of all things MySQL
116 | * [Postgres Weekly](http://postgresweekly.com/): A free, once–weekly e-mail round-up of PostgreSQL news and articles
117 | * [Data Science Weekly Newsletter](http://www.datascienceweekly.org/): A free weekly newsletter featuring curated news, articles and jobs related to Data Science.
118 | * [Big Data Weekly](http://www.bigdataweekly.com/): A free, hand-curated weekly round-up of Big Data news and links.
119 | * [Github Explore](https://github.com/explore): Browse interesting projects, solving all types of interesting problems.
120 | * [SaaS Weekly](http://hiten.com/): A weekly email of useful links for people interested in SaaS businesses.
121 | * [ng-newsletter](http://www.ng-newsletter.com/): The free, weekly newsletter of the best AngularJS content on the web. Hand-picked content by the experts in Angular - delivered directly to your inbox.
122 | * [Ember Weekly](http://emberweekly.com/): The latest Ember.js news, tips & code delivered directly to your inbox.
123 | * [HTML5 Game Development Newsletter](http://gamedevjsweekly.com/): Weekly newsletter
124 | about HTML5 Game Development.
125 | * [Offline First Reader](http://offlinefirst.org/): We live in a disconnected & battery powered world, but our technology and best practices are a leftover from the always connected & steadily powered past.
126 |
127 |
128 | # Awesomeness
129 |
130 | * [A curated list of awesome awesomeness](https://github.com/bayandin/awesome-awesomeness): A curated list of amazingly awesome awesomeness. Also available on: [Awesome-Awesomeness.ZEEF.com](https://awesome-awesomeness.zeef.com/alexander.bayandin)
131 | * [A curated list of awesome lists](https://github.com/sindresorhus/awesome): A curated list of awesome lists by @sindresorhus.
132 | * [moklick/frontend-stuff](https://github.com/moklick/frontend-stuff): A continuously expanded list of framework/libraries and tools I used/want to use when building things on the web. Mostly Javascript stuff.
133 | * [Front-end Feeds](https://github.com/impressivewebs/frontend-feeds): An up to date list of RSS feeds for front-end developers.
134 | * [RFC Reader](http://www.rfcreader.com/): An online reader(viewer) for IETF RFCs.
135 | * [HTTP Specifications](http://httpwg.github.io/): You could find anything you want for Hypertext Transfer Protocol - the core protocol of the World Wide Web.
136 | * [ECMAScript 6 Tools](https://github.com/addyosmani/es6-tools): An aggregation of tooling for using ES6 today.
137 | * [Web Performance Optimization](https://github.com/davidsonfellipe/awesome-wpo): A curated list of Web Performance Optimization.
138 | * [Frontend Guidelines](https://github.com/bendc/frontend-guidelines): Some HTML, CSS and JS best practices.
139 | * [free-for-dev](https://github.com/ripienaar/free-for-dev): A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev.
140 | * [timjacobi/angular2-education](https://github.com/timjacobi/angular2-education): A curated list of helpful material to get started with education on Angular 2
141 | * [CSS Tool Collection](https://medium.com/@vilcins/css-tools-that-i-use-67cb8bfa2e2d): CSS tools are important for front-end developers because they help them by simplifying the jobs they have to do, simplify development related tasks and allow to write clean css codes.
142 | * [Curated tutorial and resource links I've collected on React, Redux, ES6, and more](https://github.com/markerikson/react-redux-links)
143 |
144 |
145 | # Spec
146 |
147 | * [ECMAScript 2016 Language Specificiation](http://tc39.github.io/ecma262/)
148 | * [ES5 Spec](http://es5.github.io/) An annotated, hyperlinked version of the ES5 spec
149 | * [ES6 Spec](http://www.ecma-international.org/ecma-262/6.0/) ECMAScript® 2015 Language Specification
150 | * [ES2016 (ES7) Spec](http://www.ecma-international.org/ecma-262/7.0/)
151 |
152 | # Conf
153 |
154 | We need to keep learning. One of the most rewarding ways to do that is by attending conferences.
155 |
156 | * [JSConf](http://jsconf.com/): Conferences for the JavaScript community.
157 | * [Fluent Conf](http://fluentconf.com/): The O'Reilly Fluent Conference was first launched in 2012 as a new event for developers working with JavaScript, HTML5, and other web technologies. Fluent covers the full scope of the Web Platform and its associated technologies, including WebGL, CSS3, mobile APIs, Node.js, AngularJS, ECMAScript 6, and more.
158 | * [Velocity](http://velocityconf.com/): Web operations, performance, DevOps, optimization, and more. Join the engineers, developers, and technology leaders who are defining the IT-driven business at the Velocity conference.
159 | * [Forward JS](http://forwardjs.com/): WEB TECHNOLOGY SUMMIT
160 | * [MUNICH JS](http://www.munichjs.org/): MunichJS is a user group in Munich for developers (amateurs, journeymen and gurus) that meets monthly to discuss topics on JavaScript and ECMAScript. Meetings take place in each month on different locations. The group was established in October 2010 at the BarCamp in Munich. Orgnaized by Dr. Axel Rauschmayer@rauschma
161 | * [OSCON](http://www.oscon.com/): Open source software, architecture, frameworks, and tools for today’s engineers
162 | * [JS REMOTE CONFS](https://jsremoteconf.com/): JS Remote Conf is a great way to learn from the brightest minds in JavaScript while minimizing these issues. The main benefits of JS Remote Conf are: No travel, Low Cost, After Work, Watch Anywhere, Users' Group Friendly
163 | * [React.js Conf](http://conf.reactjs.com/): All cutting-edge techs related with React.
164 |
165 |
166 | # Books
167 |
168 | * [Professional JavaScript for Web Developer](http://www.amazon.com/Professional-JavaScript-Developers-Nicholas-Zakas/dp/1118026691/ref=sr_1_1?s=books&ie=UTF8&qid=1422710696&sr=1-1&keywords=Professional+JavaScript+for+Web+Developer&pebp=1422710700389&peasin=1118026691) by Nicholas C. Zakas: In this book JavaScript is covered from its beginning in the earliest Netscape browsers to the present-day versions that can support the DOM and Ajax. You will learn how to extend the language to suit specific needs and how to create client-server communications without intermediaries such as Java or hidden frames. You will also learn how to apply JavaScript solutions to business problems faced by web developers everywhere. This book provides a developer-level introduction along with more advanced and useful features of JavaScript.
169 | * [JavaScript for Kids](http://www.amazon.com/gp/product/B00QL616QE?ie=UTF8&camp=213733&creative=393177&creativeASIN=B00QL616QE&linkCode=shr&tag=ericleads-20&linkId=6AOODC27L6URY3K2)
170 | * [Speaking JavaScript](http://speakingjs.com/es5/index.html) by Dr. Axel Rauschmayer: An in-depth guide for JavaScript programmer
171 | * [Human JavaScript](http://read.humanjavascript.com/) by @HenrikJoreteg: This book will help you build native HTML5 apps
172 | * [Eloquent JavaScript](http://eloquentjavascript.net/)
173 | * [JavaScript: The Good Parts](http://www.amazon.com/gp/product/0596517742?ie=UTF8&camp=213733&creative=393185&creativeASIN=0596517742&linkCode=shr&tag=ericleads-20&linkId=IJKESYSOTWGC27DR)
174 | * [Effective JavaScript](http://www.amazon.com/gp/product/0321812182?ie=UTF8&camp=213733&creative=393185&creativeASIN=0321812182&linkCode=shr&tag=ericleads-20&linkId=JIC63I267I6UDQQZ) by David Herman: 68 Specific Ways to Harness the Power of JavaScript
175 | * [Expert JavaScript](http://www.amazon.com/Expert-JavaScript-Experts-Voice-Development/dp/1430260971/ref=sr_1_1?s=books&ie=UTF8&qid=1422710124&sr=1-1&keywords=Expert+JavaScript) by Mark E. Daggett: Take a deep dive into JavaScript and build better applications
176 | * [Programming JavaScript Applications](http://pjabook.com)
177 | * [JavaScript: The Definitive Guide](http://www.amazon.com/gp/product/0596805527?ie=UTF8&camp=213733&creative=393185&creativeASIN=0596805527&linkCode=shr&tag=ericleads-20&linkId=AENIF5KLRQI3N335)
178 | * [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS)
179 | * [Understanding ECMAScript 6](https://leanpub.com/understandinges6/read/) by Nicholas C. Zakas
180 | * [Exploring ES6: Upgrade to the next version of JavaScript](https://leanpub.com/exploring-es6/read) by Axel Rauschmayer@rauschma
181 | * [Node.js in Action](http://www.manning.com/cantelon/)
182 | * [The Dream Machine: J.C.R. Licklider and the Revolution That Made Computing Personal](http://www.amazon.com/gp/product/0670899763?ie=UTF8&camp=213733&creative=393177&creativeASIN=0670899763&linkCode=shr&tag=ericleads-20&linkId=NDUXYQOCMPC47SQI)
183 | * [Secrets of the JavaScript Ninja](http://www.amazon.com/Secrets-JavaScript-Ninja-John-Resig/dp/193398869X/ref=sr_1_1?s=books&ie=UTF8&qid=1422710614&sr=1-1&keywords=Secrets+of+the+JavaScript+Ninja&pebp=1422710616815&peasin=193398869X) Takes you on a journey towards mastering modern JavaScript development in three phases: design, construction, and maintenance
184 |
185 |
186 | # Dev tools & collaboration
187 |
188 | * [nvm](https://github.com/creationix/nvm) First install this...
189 | * [Node](http://nodejs.org/) Then install Node (with nvm). You'll need this even if you're a front-end dev.
190 | * [npm](https://www.npmjs.com/) Install lots of other things with npm. **The package manager for JavaScript.** Comes with Node.
191 | * [Yarn](https://yarnpkg.com/) "Fast, Reliable, and Secure Dependency Management". May speed up your installs and make them more deterministic than using npm. Uses the npm registry.
192 | * [Atom](https://atom.io/) Nice, hackable editor by GitHub.
193 | * [Tern](http://ternjs.net/) Static analysis in JavaScript
194 | * [Slate](https://github.com/tripit/slate) Generate beautiful API docs for your apps
195 | * [Slack](https://slack.com/) Chat for teams, with GitHub and Google hangouts integration
196 | * [Gitter](https://gitter.im/) Like Slack, but better for OSS projects and free chat.
197 | * [Zoom](https://zoom.us/) Video meetings with remote control - great for interviews and remote pair programming.
198 | * [PrettyDiff](http://prettydiff.com/)
199 | * [Babel Repl](http://babeljs.io/repl/) The Babel REPL with compiled output
200 | * [ESNextBin](http://esnextb.in/) A babel powered ES6+ browser bin with npm package support.
201 | * [Cloud9](https://c9.io/) Your dev environment and IDE in the cloud.
202 | * [Koding](https://koding.com) Online cloud development platform with video & audio collaboration.
203 | * [updtr](https://github.com/peerigon/updtr) Keep your modules up to date.
204 | * [Greenkeeper](https://greenkeeper.io/) Automatically opens PRs when your dependencies fall behind latest.
205 | * [greenkeeper-keeper](https://github.com/kkemple/greenkeeper-keeper) Automatically merges Greenkeeper PRs when tests pass.
206 |
207 |
208 | # Building
209 |
210 | * [Webpack](http://webpack.github.io/) Bundle modules for the browser.
211 | * [How to use NPM as a Build Tool](http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/)
212 | * [Husky](https://github.com/typicode/husky): 🐶 Git hooks made easy
213 | * [pre-commit](https://github.com/observing/pre-commit) Easily configure pre-commit hooks for your package
214 | * [Browserify](http://browserify.org/) Bundle modules for the browser
215 | * [How to use NPM as a Build Tool](http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/)
216 | * [jspm.io](http://jspm.io/): Frictionless browser package management
217 | * ~~[Grunt](http://gruntjs.com/): The JavaScript Task Runner~~
218 | * ~~[Grulp](http://gulpjs.com/): Automate and enhance your workflow~~
219 |
220 |
221 | # Testing / Lint / Quality checkers
222 |
223 | * [ESLint](http://eslint.org/) The pluggable linting utility for JavaScript and JSX.
224 | * [ESLint no-inferred-methodname](https://github.com/johnstonbl01/eslint-no-inferred-method-name) A custom rule for a common problem. **#code**
225 | * [Istanbul](https://github.com/gotwarlost/istanbul) Code coverage reporting
226 | * [nyc](https://github.com/bcoe/nyc) a code coverage tool built on istanbul that works for applications that spawn subprocesses.
227 | * [tape](https://github.com/substack/tape) Dead simple unit testing **#code**
228 | * [tap-browser-color](https://github.com/kirbysayshi/tap-browser-color) Prettify tap output in the browser. Works well with Tape. **#code**
229 | * [faucet](https://github.com/substack/faucet) Prettify tap output in the console. Plays well with Tape. **#code**
230 | * [Supertest](https://github.com/visionmedia/supertest) The best way to test HTTP endpoints. **#code**
231 |
232 |
233 | # Transpilers
234 |
235 | * [Babel](https://github.com/babel/babel) Transpile ES2015 (ES6), ES7 to ES5, JSX to React
236 | * [TypeScript](http://www.typescriptlang.org/) TypeScript's structural types are worth a look
237 | * [CoffeeScript](http://coffeescript.org/)
238 | * [Emscripten](http://kripken.github.io/emscripten-site/) Frequently used to compile C/C++ to JavaScript
239 | * [Traceur](https://github.com/google/traceur-compiler) (ES.next)
240 | * [ES6 tools](https://github.com/addyosmani/es6-tools) Addy Osmani's ES6 Tools list
241 | * [You Might Not Need TypeScript](https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b) **#article**
242 |
243 |
244 | # JavaScript environments
245 |
246 | * [Node.js](http://nodejs.org/) Server side JavaScript and more
247 | * [io.js](https://iojs.org/) - The Node fork
248 |
249 |
250 | # Libraries
251 |
252 | * [stats.js.org](http://stats.js.org/) JavaScript repos ranked by popularity. **#code**
253 | * [Express](http://expressjs.com/) The most popular framework for Node. **#code**
254 | * [Lodash](https://lodash.com/) Like Underscore, but much faster, and featuring a more expressive API. Check out the Ramda-style [fp versions](https://github.com/lodash/lodash/tree/npm/fp) you can import from `lodash/fp` **#code**
255 | * [cuid](https://github.com/ericelliott/cuid) GUIDs are broken - use cuid, instead. **#code**
256 | * [React](https://github.com/facebook/react) What do Facebook, Instagram, Netflix and PayPal have in common? React. **#code**
257 | * [RxJS](https://github.com/Reactive-Extensions/RxJS) Reactive extensions for JavaScript. [What's reactive?](https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4) **#code**
258 | * [Moment](http://momentjs.com/docs/) A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. **#code**
259 | * [https://qa.polyfill.io/v2/docs/](https://qa.polyfill.io/v2/docs/) Pollyfill browsers automatically. **#code**
260 | * [UpUp](https://www.talater.com/upup/) Make sure your site works even when your user is offline. **#code**
261 | * [The Universal React Boilerplate](https://github.com/cloverfield-tools/universal-react-boilerplate) Write apps using the same code for both the client and the server using Node, Express, and Browserify. **#code**
262 | * [NodeGoat](https://github.com/OWASP/NodeGoat) Identify security vulnerabilities in your Node apps. **#code**
263 | * [lightning.js](https://github.com/olark/lightningjs) Async fetch load 3rd party JS & expose a promise API. **#code**
264 | * [Deep Freeze](https://github.com/substack/deep-freeze) Deep freeze objects. **#code**
265 | * [jQuery](http://jquery.com/) Most popular JS lib by a landslide. **#code**
266 | * [Ramda](http://ramdajs.com/) Like Lodash and Underscore, but with all functions automatically curried, and parameters arranged so that the data to be operated on is supplied last. **#code**
267 | * [express-request-language](https://github.com/tinganho/express-request-language) Best implementation I've seen for `Accept-Language` negatiation in Express. **#code**
268 | * [accept-language](https://github.com/tinganho/node-accept-language) If you don't use express, accept-language is the low-level lib that powers `express-request-language` for language matching & fallback. **#code**
269 | * [Globalize](https://github.com/jquery/globalize) i18n / translate your app for many languages and locations (locales). **#code**
270 | * [dotenv](https://github.com/motdotla/dotenv) Easily manage environment variables **#code**
271 | * [Leaflet](http://leafletjs.com/) Interactive map UIs made easy. **#code**
272 | * [Lusca](https://github.com/krakenjs/lusca) Secure your Express application. By the Kraken team at PayPal.
273 | * [Stampit](https://github.com/stampit-org/stampit) Create objects from reusable, composable behaviors. Prototypal inheritance with stamps. **#code**
274 | * [Countly](http://github.com/countly/countly-server) Open source mobile & web analytics and marketing platform. **#code**
275 | * [node-jsonwebtoken](https://github.com/auth0/node-jsonwebtoken) Easy JSON Web Token auth. **#code**
276 | * [velocity](http://julian.com/research/velocity/) & [Velocity Motion Designer (VMD)](http://julian.com/research/velocity/#vmd) UI animation library. **#code**
277 | * [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) A fast [json-schema](http://json-schema.org/) validator. **#code**
278 | * [is-express-schema-valid](https://github.com/voronianski/is-express-schema-valid) is-my-json-valid as Express middleware for `req.body` `req.query` and `req.params`. **#code**
279 | * [inquirer.js](https://github.com/SBoudrias/Inquirer.js) Great library for building CLI tools. **#code**
280 | * [rimraf](https://github.com/isaacs/rimraf) `rm -rf` util for nodejs. Great for npm scripts. **#code**
281 | * [cross-env](https://www.npmjs.com/package/cross-env) Use environment variables with npm scripts cross-platform. **#code**
282 | * [Wemo.io Open Source VR Tools](https://wemo.io/os) **#code**
283 | * [IoT.js](http://samsung.github.io/iotjs/) An Internet of Things JavaScript platform.
284 | * [es5-shim](https://github.com/es-shims/es5-shim) Stable, production ready.
285 | * [es6-shim](https://github.com/es-shims/es6-shim/) Somewhat stable, but a few things I thought were solid got shifted to ES7.
286 | * [es7-shim](https://www.npmjs.com/package/es7-shim) Experimantal. Use with caution.
287 | * [native-promise-only](https://github.com/getify/native-promise-only) An ECMAScript standard promise polyfill by Kyle Simpson
288 | * [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) A [WHATWG fetch](https://fetch.spec.whatwg.org/) standard polyfill
289 | * [jQuery](http://jquery.com/) Yes, [I still use jQuery](https://docs.google.com/document/d/1LPaPA30bLUB_publLIMF0RlhdnPx_ePXm7oW02iiT6o/edit#) and so do 61% of the top 100,000 websites - for good reason.
290 | * [Blaze](http://meteor.github.io/blaze/) DOM-diffing isomorphic reactive templates from Meteor
291 | * [RxJS](https://github.com/Reactive-Extensions/RxJS) Reactive extensions for JavaScript. [What's reactive?](https://medium.com/javascript-scene/the-two-pillars-of-javascript-pt-2-functional-programming-a63aa53a41a4)
292 | * [Moment](http://momentjs.com/docs/) A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
293 | * [Globalize](https://github.com/jquery/globalize) i18n / translate your app for many languages and locations (locales)
294 | * [Express](http://expressjs.com/) The most popular framework for Node
295 | * [Stampit](https://github.com/ericelliott/stampit) Stampit - create objects from reusable, composable behaviors. Prototypal inheritance with stamps.
296 | * [Credential](https://github.com/ericelliott/credential) If you write Node apps with password logins, you need Credential
297 | * [cuid](https://github.com/ericelliott/cuid) GUIDs are broken - use cuid, instead
298 | * [velocity](http://julian.com/research/velocity/) & [Velocity Motion Designer (VMD)](http://julian.com/research/velocity/#vmd) UI animation library
299 | * [json-schema](https://github.com/kriszyp/json-schema) - Great for model validations
300 |
301 |
302 | # React
303 |
304 | * [Introducing React](https://www.youtube.com/watch?v=XxVg_s8xAms) **#video**
305 | * [React blog](http://facebook.github.io/react/blog/) Official React blog
306 | * [JSX Looks Like an Abomination but it's Good for You](https://medium.com/javascript-scene/jsx-looks-like-an-abomination-1c1ec351a918) My take on JSX **#article**
307 | * [React Pure Component Starter](https://github.com/ericelliott/react-pure-component-starter) Learn React pure components **#code**
308 | * [Baby's First Reaction](https://medium.com/javascript-scene/baby-s-first-reaction-2103348eccdd) Build your first working React component **#article**
309 | * [Immutable Data and React](https://www.youtube.com/watch?v=I7IdS-PbEgI&list=PLb0IAmt7-GS1cbw4qonlQztYV1TAW0sCr) by [Lee Byron](https://twitter.com/leeb) **#video**
310 | * [react-stamp](https://github.com/stampit-org/react-stamp) Composable, classless React components made easy **#code**
311 | * [react-engine](https://github.com/paypal/react-engine) PayPal's isomorphic React view engine for Express or Kraken **#code**
312 | * [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) **#code**
313 | * [Redux](https://github.com/rackt/redux) Predictable state container (store) for JavaScript apps **#code**
314 | * [Redux Devtools](https://github.com/gaearon/redux-devtools) DevTools for Redux with hot reloading, timetravel debugging, and customizable UI
315 | * [redux-saga](https://github.com/yelouafi/redux-saga) A synchronous-style side-effect library for Redux. **#code**
316 | * [MobX](https://github.com/mobxjs/mobx) Simple, scalable state management with TFRP. **#code**
317 | * [react-native](https://github.com/facebook/react-native) React for mobile devices **#code**
318 | * [Elemental-UI](http://elemental-ui.com/) Modular UI component library for React. **#code**
319 | * [velocity-react](https://github.com/twitter-fabric/velocity-react) The excellent Velocity UI animation library for React. **#code**
320 | * [react-art](https://github.com/reactjs/react-art) React for SVG or canvas **#code**
321 | * [react-canvas](https://github.com/Flipboard/react-canvas) React for canvas **#code**
322 | * [react-three](https://github.com/Izzimach/react-three) Three.js rendering for React **#code**
323 | * [react.rocks](https://react.rocks/) Pinterest-style directory of online demos with available code
324 | * [TodoMVC in React](http://todomvc.com/examples/react/) **#example**
325 | * [JSX Specification](http://facebook.github.io/jsx/) **#documentation**
326 |
327 |
328 | # Web Components
329 |
330 | * [FIRST](https://addyosmani.com/first/)
331 | * [Polyfills](http://webcomponents.org/polyfills/)
332 | * [HTML Imports](http://webcomponents.org/articles/introduction-to-html-imports/)
333 | * [Custom Elements](http://webcomponents.org/articles/introduction-to-custom-elements/)
334 | * [Templates](http://webcomponents.org/articles/introduction-to-template-element/)
335 | * [Shadow DOM](http://webcomponents.org/articles/introduction-to-shadow-dom/)
336 | * [x-gif](http://geelen.github.io/x-gif/#/http://i.imgur.com/iKXH4E2.gif) This web component wins the internet.
337 | * [Vulcanize](https://github.com/Polymer/vulcanize) Don't let web components slow your app down. Bundle your HTML imports.
338 |
339 |
340 | # GraphQL
341 |
342 | * [Let's Learn GraphQL](https://learngraphql.com/) **#course**
343 | * [GraphQL at Facebook](https://www.youtube.com/watch?v=etax3aEe2dA) **#talk**
344 | * [Getting started with GraphQL and Node.js](https://blog.risingstack.com/graphql-overview-getting-started-with-graphql-and-nodejs/) **#article**
345 | * [GraphQL Specification](https://github.com/facebook/graphql)
346 | * [GraphQL Reference Implementation](https://github.com/graphql/graphql-js) **#code**
347 | * [graphql-server](https://github.com/RisingStack/graphql-server) A GraphQL server implementation with Mongo / Mongoose **#code**
348 |
349 |
350 | # Progressive Web Apps (PWAs)
351 |
352 | * [Native Apps are Doomed](https://medium.com/javascript-scene/native-apps-are-doomed-ac397148a2c0) Intro to PWAs **#article**
353 | * [Why Native Apps Really Are Doomed](https://medium.com/javascript-scene/why-native-apps-really-are-doomed-native-apps-are-doomed-pt-2-e035b43170e9) Why we need PWAs - packed with stats you need to know if you're building an app. **#article**
354 |
355 |
356 | # QA / Deployment / Monitoring / CI
357 |
358 | * [PM2](https://github.com/Unitech/pm2) Process monitoring / self repair
359 | * [Pingdom](https://www.pingdom.com) Response monitoring and alert management (because incidents happen).
360 | * [New Relic](http://newrelic.com/) Deep insights into the performance and health of your production apps
361 | * [Sauce Labs](https://saucelabs.com/) Cross platform web application testing with great collaboration and integration support
362 | * [Travis CI](https://travis-ci.org/) CI, of course
363 | * [CircleCI](https://circleci.com/): Continuous Integration and Delivery
364 | * [Codeship](https://codeship.com/): Continuous Delivery with Codeship: Fast, secure and fully customizable.
365 | * [Docker](https://www.docker.com/) Run your CI process using the same OS configs as your production systems.
366 | * [Shippable](https://app.shippable.com/) Docker-based hosted build / CI
367 | * [Tensō](http://avoidwork.github.io/tenso/) A thin API facade in Node
368 | * [Kong](https://getkong.org/) API/microservice extension and management layer, centralize auth, cache, logging, rate limiting, etc... plugins in Lua );
369 |
370 |
371 | # Community
372 |
373 | * [JavaScript Questions Chat](https://gitter.im/learn-javascript-courses/javascript-questions)
374 | * [ES Discuss](https://esdiscuss.org/) The mailing list where all the ECMAScript standard discussion action is.
375 | * [JavaScript on Google+](https://plus.google.com/communities/100875929141897651837)
376 | * [HTML5 on Google+](https://plus.google.com/communities/103299867207875326585)
377 | * [Node.js on Google+](https://plus.google.com/communities/115365528781941125390)
378 | * IRC ##JavaScript irc://irc.freenode.net/javascript
379 | * IRC #node.js irc://irc.freenode.net/node.js
380 | * IRC #io.js irc://irc.freenode.net/io.js The Node fork
381 | * IRC #learnjavascript irc://irc.freenode.net/learnjavascript
382 |
383 |
384 | # News
385 |
386 | * [JavaScript Scene](https://medium.com/javascript-scene)
387 | * [JavaScript Weekly](http://javascriptweekly.com/)
388 | * [Node Weekly](http://nodeweekly.com/)
389 | * [HTML5 Weekly](http://html5weekly.com/)
390 | * [ESNext News](http://esnextnews.com/)
391 | * [EchoJS](http://www.echojs.com/)
392 | * [JavaScript Live](https://jslive.com/)
393 | * [JavaScript.com News](https://www.javascript.com/news)
394 | * [Node Module Of The Week](https://nmotw.in)
395 | * [JavascriptKicks](http://javascriptkicks.com)
396 | * [5 Minutes of Javascript](https://fivejs.codeschool.com/)
397 |
398 |
399 | # Pasting / sharing code
400 |
401 | * [Codepen](http://codepen.io/pen/)
402 | * [RequireBin](http://requirebin.com/)
403 | * [ES6 Fiddle](http://www.es6fiddle.net/)
404 | * [CodePicNic](https://codepicnic.com/) Embed interactive full-stack snippets & demos
405 | * [JSBin](http://jsbin.com/?html,css,js,output) Embed editable code snippets.
406 | * [jsFiddle](https://jsfiddle.net/)
407 | * [hyperdev](https://hyperdev.com/)
408 | * [Plunker](https://plnkr.co/)
409 | * [Cloud9](https://c9.io/): Your development environment in cloud.
410 | * [RegExr](http://www.regexr.com/): Learn, build, & test Regular Expressions.
411 |
412 |
413 | # Contests
414 |
415 | * [DemoJS](http://demojs.org/) The JavaScript demoscene party
416 | * [JS1k](http://js1k.com/) JavaScript demos in 1k of memory
417 | * [JS13k Games](http://js13kgames.com/) JavaScript games in 13k of memory
418 | * [FightCode game](http://fightcodegame.com/) program virtual battle bots and climb the leaderboard
419 | * [Node Knockout](http://www.nodeknockout.com/) The legendary Node competition
420 |
421 |
422 | # Hackable Hardware
423 |
424 | * [Nodebots](http://nodebots.io/)
425 | * [Cylon](http://cylonjs.com/)
426 | * [Nodecopter](http://www.nodecopter.com/)
427 | * [Tessel](https://tessel.io/)
428 | * [Espruino](http://www.espruino.com/)
429 | * [Onion Omega](https://onion.io/omega)
430 |
431 |
432 | # Hosting
433 |
434 | * [DigitalOcean](https://www.digitalocean.com/?refcode=fdcfedac5208)
435 | * [Heroku](https://www.heroku.com)
436 |
437 |
438 | # For kids (and people who just love to have fun)
439 |
440 | * [JavaScript for Kids](http://www.amazon.com/gp/product/B00QL616QE?ie=UTF8&camp=213733&creative=393177&creativeASIN=B00QL616QE&linkCode=shr&tag=ericleads-20&linkId=6AOODC27L6URY3K2)
441 | * [Screeps](https://screeps.com/) A strategy game you control by writing JavaScript
442 | * [CodingGame](https://www.codingame.com) Programming puzzle games
443 | * [Fightcode](http://fightcodegame.com/) Program robots to do battle
444 | * [LearnToMod](http://www.learntomod.com/) Mod Minecraft with JavaScript
445 | * [The Young Person's Guide to Programming in Minecraft](https://github.com/walterhiggins/ScriptCraft/blob/master/docs/YoungPersonsGuideToProgrammingMinecraft.md#the-young-persons-guide-to-programming-in-minecraft)
446 | * [CodeCombat](https://codecombat.com/) RPG adventure controlled by JavaScript
447 |
448 | # Twitter (alphabetical order)
449 |
450 | * [Addy Osmani](https://twitter.com/addyosmani) - App architecture expert, Chrome dev tools champion
451 | * [Angus Croll](https://twitter.com/angustweets) - Author, "If Hemingway Wrote JavaScript"
452 | * [Axel Rauschmayer](https://twitter.com/rauschma) - ES Next evangelist, author
453 | * [Brendan Eich](https://twitter.com/BrendanEich) - Created JavaScript
454 | * [David Nolen](https://twitter.com/swannodette) - Great functional programming content
455 | * [David Herman](https://twitter.com/littlecalculist) - Author, "Effective JavaScript"
456 | * [EchoJS](https://twitter.com/echojs) - News and links
457 | * [Eric Elliott](https://twitter.com/_ericelliott) - That's me. O'Reilly author. JavaScript architect. JS Instructor.
458 | * [Jafar Husain](https://twitter.com/jhusain) - Great talks on RxJS, ES next, etc...
459 | * [James Halliday](https://twitter.com/substack) aka Substack - author of ~one million~ Node modules you probably use.
460 | * [James Long](https://twitter.com/jlongster) - CSP, functional programming advocate, Mozilla developer
461 | * [JavaScript Cheerleader](https://twitter.com/JS_Cheerleader) - Mover & shaker, JavaScript evangelist, documentary film maker
462 | * [JavaScript Daily](https://twitter.com/JavaScriptDaily) - News and links
463 | * [Jordan Harband](https://twitter.com/ljharb) - Keeping us ahead of the JS curve
464 | * [Kyle Simpson](https://twitter.com/getify) - Author, YDKJS - O'Reilly, JS Instructor, open web evangelist
465 | * [Marijn Haverbeke](https://twitter.com/marijnjh) - Author, "Eloquent JavaScript"
466 | * [Nicholas C. Zakas](https://twitter.com/slicknet) - Author, speaker
467 | * [Nick Morgan](https://twitter.com/skilldrick) - Author, "JavaScript for Kids"
468 | * [Paul Irish](https://twitter.com/paul_irish) - Developer evangelist, Chrome dev tools champion
469 | * [Reginald Braithwaite](https://twitter.com/raganwald) - Author, "JavaScript Allongé", speaker, GitHub
470 | * [YDKJS](https://twitter.com/ydkjs) - You Don't Know JS, O'Reilly book series by Kyle Simpson
471 |
472 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
23 |
24 | Essential JavaScript Links
25 |
26 | [GitHub]
27 |
28 |
29 |
30 |
31 |
Essential JavaScript Links
32 |
Originally forked from Essential JavaScript Links but modified according to personal favor.
33 |
This is a very exclusive collection of only must-have JavaScript links. I’m only listing my favorite links. Nothing else makes the cut. Feel free to suggest links if you think they’re good enough to make this list. The really curious should feel free to browse the comments to find other links. I can’t guarantee the quality of links in the comments.
34 |
If you want to view the well organized version, please head to this link.
35 |
36 |
Required Reading
37 |
38 | - Learn JavaScript Essentials (for all skill levels) - One clear path to JavaScript mastery
39 | - JavaScript Training Sucks 99 out of 100 JS developers lack the skills they need to fill hundreds of thousands of jobs. We can change that.
40 | - The Two Pillars of JavaScript Part 1: Prototypal OO
41 | - The Two Pillars of JavaScript Part 2: Functional Programming
42 | - JavaScript Objects: An excellent explanation of inheritance in JavaScript by Kyle Simpson.
43 | - Isomorphic JavaScript
44 | - JavaScript Application Architecture on the Road to 2015 - Addy Osmani
45 | - Modularity A pragmatic take on the tiny modules vs batteries included approach
46 | - Computer Science in JavaScript by Nicholas C. Zakas #article
47 | - The Dao of Immutability The Way of the Functional Programmer #article
48 | - Reactive MVC and the Virtual DOM: Great read, even if you’re not a React user.
49 | - Introduction to Reactive Programming
50 | - The General Theory of Reactivity: What is all this talk about reactive? Functional? Promises? This is the beginning of a reactive programming bible.
51 | - Why Functional Programming Matters by John Hughes, 1984 #paper #pdf
52 | - Typed JavaScript Excellent post about the state of typed JavaScript by Axel Rauschmayer #article
53 | - ES6 Promises: This is a multi-part blog post series on the whys and hows and problems of Promises by Kyle Simpson.
54 | - ES6 Generators: A series of blog posts by Kyle Simpson.
55 | - Typed JavaScript: Excellent post about the state of typed JavaScript by Axel Rauschmayer
56 | - Taming the Asynchronous Beast with CSP in JavaScript - James Long
57 | - ES6 Modules: The Final Syntax by @rauschma #AMDisDead
58 | - javascript-sdk-design A guide for people building JavaScript client SDKs #article
59 | - Advanced Performance Audits with DevTools In-depth perf case studies with Paul Irish #article
60 | - The Tech Behind the New Twitter.com: The Twitter.com redesign on 2010, publicly switched to client-side templating, turning the server into something more like a simple API
61 | - Facebook just taught us all how to build websites
62 | - JavaScript-Garden: JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language.
63 | - MindBEMding – getting your head ’round BEM syntax: BEM – meaning block, element, modifier – is a front-end naming methodology thought up by the guys at Yandex. It is a smart way of naming your CSS classes to give them more transparency and meaning to other developers. They are far more strict and informative, which makes the BEM naming convention ideal for teams of developers on larger projects that might last a while.
64 | - Chrome DevTools: State Of The Union 2015: @addyosmani walks through the latest updates on your favourite debugging companion; exploring new features like paint profiling, animation inspection and updates to the JavaScript editing workflow with V8.
65 | - JavaScript Scene: Learn JavaScript Essentials(for all skill levels) by Eric Elliott (author of Programming JavaScript Applications)
66 | - miguelmota/javascript-idiosyncrasies: A bunch of Javascript idiosyncrasies, kinda.
67 | - A Baseline for Front-End Developers: by @rmurphey on APR 12TH, 2012
68 | - A Baseline for Front-End [JS] Developers: 2015: by @rmurphey on MAR 23RD, 2015
69 | - Making NetFlix.com Faster: Performance isn’t an option if you’re aiming for an amazing user experience. A compelling post on how Netflix improved on how fast Netflix.com renders by @kristoferbaxter.
70 | - :star2: Function as Child Components
71 | - :star2: Mixins Are Dead. Long Live Composition
72 | - :star2: Smart and Dumb Components
73 | - :star2: dexteryy/spellbook-of-modern-webdev: A Big Picture, Thesaurus, and Taxonomy of Modern JavaScript Web Development
74 | - :star2: wearehive/project-guidelines: A set of best practices for JavaScript projects
75 |
76 |
Required Viewing
77 |
100 |
Dailies and Weeklies
101 |
102 | - JavaScript Weekly: A free, once–weekly e-mail round-up of JavaScript news and articles.
103 | - ES.next News](http://esnextnews.com/): ES.next News: 5 ECMAScript.next links every week, in your inbox.
104 | - Fresh Brewed Frontend: A weekly reading digest for frontend developers. One email. Handpicked articles. Every Tuesday. No spam.
105 | - HTML5 Weekly: A once–weekly HTML5 and Web Platform technology roundup.
106 | CSS 3, Canvas, WebSockets, WebGL, Native Client, and more.
107 | - CSS Weekly: A weekly e-mail roundup of css articles, tutorials, experiments and tools curated by Zoran Jambor.
108 | - Mobile Web Weekly: A weekly round-up of the releases, articles, and links that affect Web developers working on the mobile-facing Web.
109 | - Responsive Design Weekly: A free, once–weekly round-up of responsive design articles, tools, tips, tutorials and inspirational links.
110 | - Web Design Weekly: A once a week email with no spam, no rambling. Just pure awesome links to the best news and articles to hit the interweb during the week.
111 | - Node Weekly: A free, once–weekly e-mail round-up of Node.js news and articles.
112 | - Web Tools Weekly:
113 | - EchoJS
114 | - DailyJS: A JavaScript Blog.
115 | - JavaScript Jabber
116 | - A Drip of JavaScript: One quick JavaScript tip, delivered to your inbox every other week.
117 | - Modern Web Observer
118 | - Web Development Reading List: A handcrafted, carefully selected list of web development related resources. Published usually every week.
119 | - DevOps Weekly newsletter
120 | - DevOps newsletter by ServerDensity
121 | - SysAdmin Casts newsletter
122 | - Servers for hackers newsletter
123 | - Docker Weekly newsletter
124 | - Kubernetes Weekly newsletter
125 | - Web Operations Weekly: A weekly newsletter on Web operations, infrastructure, performance, and tooling, from the browser down to the metal.
126 | - Cloud Development Weekly: News, links and resources for developers working with cloud services, cloud APIs, and cloud-based tools
127 | - This Week on Domains : A free weekly newsletter featuring the best and hand curated links related to domains, development, monetization, how to guides, tips and tricks, resources, events and more.
128 | - NoSQL Weekly: A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to NoSQL.
129 | - Founder Weekly: A free weekly newsletter for entrepreneurs featuring best curated content, must read articles,
130 | how to guides, tips and tricks, resources, events and more.
131 | - Python Weekly: A free weekly newsletter featuring curated news, articles, new releases, jobs etc related to Python.
132 | - Ruby Weekly: A free, once–weekly e-mail round-up of Ruby news and articles.
133 | - Go Newsletter: A weekly newsletter about the Go programming language.
134 | - DB Weekly: A weekly round-up of database technology news and articles covering new developments, SQL, NoSQL, document databases, graph databases, and more.
135 | - MySQL Newsletter: Unofficial Weekly News Digest of all things MySQL
136 | - Postgres Weekly: A free, once–weekly e-mail round-up of PostgreSQL news and articles
137 | - Data Science Weekly Newsletter: A free weekly newsletter featuring curated news, articles and jobs related to Data Science.
138 | - Big Data Weekly: A free, hand-curated weekly round-up of Big Data news and links.
139 | - Github Explore: Browse interesting projects, solving all types of interesting problems.
140 | - SaaS Weekly: A weekly email of useful links for people interested in SaaS businesses.
141 | - ng-newsletter: The free, weekly newsletter of the best AngularJS content on the web. Hand-picked content by the experts in Angular - delivered directly to your inbox.
142 | - Ember Weekly: The latest Ember.js news, tips & code delivered directly to your inbox.
143 | - HTML5 Game Development Newsletter: Weekly newsletter
144 | about HTML5 Game Development.
145 | - Offline First Reader: We live in a disconnected & battery powered world, but our technology and best practices are a leftover from the always connected & steadily powered past.
146 |
147 |
Awesomeness
148 |
163 |
Spec
164 |
170 |
Conf
171 |
We need to keep learning. One of the most rewarding ways to do that is by attending conferences.
172 |
173 | - JSConf: Conferences for the JavaScript community.
174 | - Fluent Conf: The O’Reilly Fluent Conference was first launched in 2012 as a new event for developers working with JavaScript, HTML5, and other web technologies. Fluent covers the full scope of the Web Platform and its associated technologies, including WebGL, CSS3, mobile APIs, Node.js, AngularJS, ECMAScript 6, and more.
175 | - Velocity: Web operations, performance, DevOps, optimization, and more. Join the engineers, developers, and technology leaders who are defining the IT-driven business at the Velocity conference.
176 | - Forward JS: WEB TECHNOLOGY SUMMIT
177 | - MUNICH JS: MunichJS is a user group in Munich for developers (amateurs, journeymen and gurus) that meets monthly to discuss topics on JavaScript and ECMAScript. Meetings take place in each month on different locations. The group was established in October 2010 at the BarCamp in Munich. Orgnaized by Dr. Axel Rauschmayer@rauschma
178 | - OSCON: Open source software, architecture, frameworks, and tools for today’s engineers
179 | - JS REMOTE CONFS: JS Remote Conf is a great way to learn from the brightest minds in JavaScript while minimizing these issues. The main benefits of JS Remote Conf are: No travel, Low Cost, After Work, Watch Anywhere, Users’ Group Friendly
180 | - React.js Conf: All cutting-edge techs related with React.
181 |
182 |
Books
183 |
201 |
202 |
203 | - nvm First install this…
204 | - Node Then install Node (with nvm). You’ll need this even if you’re a front-end dev.
205 | - npm Install lots of other things with npm. The package manager for JavaScript. Comes with Node.
206 | - Yarn “Fast, Reliable, and Secure Dependency Management”. May speed up your installs and make them more deterministic than using npm. Uses the npm registry.
207 | - Atom Nice, hackable editor by GitHub.
208 | - Tern Static analysis in JavaScript
209 | - Slate Generate beautiful API docs for your apps
210 | - Slack Chat for teams, with GitHub and Google hangouts integration
211 | - Gitter Like Slack, but better for OSS projects and free chat.
212 | - Zoom Video meetings with remote control - great for interviews and remote pair programming.
213 | - PrettyDiff
214 | - Babel Repl The Babel REPL with compiled output
215 | - ESNextBin A babel powered ES6+ browser bin with npm package support.
216 | - Cloud9 Your dev environment and IDE in the cloud.
217 | - Koding Online cloud development platform with video & audio collaboration.
218 | - updtr Keep your modules up to date.
219 | - Greenkeeper Automatically opens PRs when your dependencies fall behind latest.
220 | - greenkeeper-keeper Automatically merges Greenkeeper PRs when tests pass.
221 |
222 |
Building
223 |
234 |
Testing / Lint / Quality checkers
235 |
236 | - ESLint The pluggable linting utility for JavaScript and JSX.
237 | - ESLint no-inferred-methodname A custom rule for a common problem. #code
238 | - Istanbul Code coverage reporting
239 | - nyc a code coverage tool built on istanbul that works for applications that spawn subprocesses.
240 | - tape Dead simple unit testing #code
241 | - tap-browser-color Prettify tap output in the browser. Works well with Tape. #code
242 | - faucet Prettify tap output in the console. Plays well with Tape. #code
243 | - Supertest The best way to test HTTP endpoints. #code
244 |
245 |
Transpilers
246 |
255 |
JavaScript environments
256 |
257 | - Node.js Server side JavaScript and more
258 | - io.js - The Node fork
259 |
260 |
Libraries
261 |
262 | - stats.js.org JavaScript repos ranked by popularity. #code
263 | - Express The most popular framework for Node. #code
264 | - Lodash Like Underscore, but much faster, and featuring a more expressive API. Check out the Ramda-style fp versions you can import from
lodash/fp #code
265 | - cuid GUIDs are broken - use cuid, instead. #code
266 | - React What do Facebook, Instagram, Netflix and PayPal have in common? React. #code
267 | - RxJS Reactive extensions for JavaScript. What’s reactive? #code
268 | - Moment A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates. #code
269 | - https://qa.polyfill.io/v2/docs/ Pollyfill browsers automatically. #code
270 | - UpUp Make sure your site works even when your user is offline. #code
271 | - The Universal React Boilerplate Write apps using the same code for both the client and the server using Node, Express, and Browserify. #code
272 | - NodeGoat Identify security vulnerabilities in your Node apps. #code
273 | - lightning.js Async fetch load 3rd party JS & expose a promise API. #code
274 | - Deep Freeze Deep freeze objects. #code
275 | - jQuery Most popular JS lib by a landslide. #code
276 | - Ramda Like Lodash and Underscore, but with all functions automatically curried, and parameters arranged so that the data to be operated on is supplied last. #code
277 | - express-request-language Best implementation I’ve seen for
Accept-Language negatiation in Express. #code
278 | - accept-language If you don’t use express, accept-language is the low-level lib that powers
express-request-language for language matching & fallback. #code
279 | - Globalize i18n / translate your app for many languages and locations (locales). #code
280 | - dotenv Easily manage environment variables #code
281 | - Leaflet Interactive map UIs made easy. #code
282 | - Lusca Secure your Express application. By the Kraken team at PayPal.
283 | - Stampit Create objects from reusable, composable behaviors. Prototypal inheritance with stamps. #code
284 | - Countly Open source mobile & web analytics and marketing platform. #code
285 | - node-jsonwebtoken Easy JSON Web Token auth. #code
286 | - velocity & Velocity Motion Designer (VMD) UI animation library. #code
287 | - is-my-json-valid A fast json-schema validator. #code
288 | - is-express-schema-valid is-my-json-valid as Express middleware for
req.body req.query and req.params. #code
289 | - inquirer.js Great library for building CLI tools. #code
290 | - rimraf
rm -rf util for nodejs. Great for npm scripts. #code
291 | - cross-env Use environment variables with npm scripts cross-platform. #code
292 | - Wemo.io Open Source VR Tools #code
293 | - IoT.js An Internet of Things JavaScript platform.
294 | - es5-shim Stable, production ready.
295 | - es6-shim Somewhat stable, but a few things I thought were solid got shifted to ES7.
296 | - es7-shim Experimantal. Use with caution.
297 | - native-promise-only An ECMAScript standard promise polyfill by Kyle Simpson
298 | - isomorphic-fetch A WHATWG fetch standard polyfill
299 | - jQuery Yes, I still use jQuery and so do 61% of the top 100,000 websites - for good reason.
300 | - Blaze DOM-diffing isomorphic reactive templates from Meteor
301 | - RxJS Reactive extensions for JavaScript. What’s reactive?
302 | - Moment A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
303 | - Globalize i18n / translate your app for many languages and locations (locales)
304 | - Express The most popular framework for Node
305 | - Stampit Stampit - create objects from reusable, composable behaviors. Prototypal inheritance with stamps.
306 | - Credential If you write Node apps with password logins, you need Credential
307 | - cuid GUIDs are broken - use cuid, instead
308 | - velocity & Velocity Motion Designer (VMD) UI animation library
309 | - json-schema - Great for model validations
310 |
311 |
React
312 |
336 |
Web Components
337 |
347 |
GraphQL
348 |
356 |
Progressive Web Apps (PWAs)
357 |
361 |
QA / Deployment / Monitoring / CI
362 |
363 | - PM2 Process monitoring / self repair
364 | - Pingdom Response monitoring and alert management (because incidents happen).
365 | - New Relic Deep insights into the performance and health of your production apps
366 | - Sauce Labs Cross platform web application testing with great collaboration and integration support
367 | - Travis CI CI, of course
368 | - CircleCI: Continuous Integration and Delivery
369 | - Codeship: Continuous Delivery with Codeship: Fast, secure and fully customizable.
370 | - Docker Run your CI process using the same OS configs as your production systems.
371 | - Shippable Docker-based hosted build / CI
372 | - Tensō A thin API facade in Node
373 | - Kong API/microservice extension and management layer, centralize auth, cache, logging, rate limiting, etc… plugins in Lua );
374 |
375 |
376 |
387 |
News
388 |
401 |
Pasting / sharing code
402 |
414 |
Contests
415 |
416 | - DemoJS The JavaScript demoscene party
417 | - JS1k JavaScript demos in 1k of memory
418 | - JS13k Games JavaScript games in 13k of memory
419 | - FightCode game program virtual battle bots and climb the leaderboard
420 | - Node Knockout The legendary Node competition
421 |
422 |
Hackable Hardware
423 |
431 |
Hosting
432 |
436 |
For kids (and people who just love to have fun)
437 |
446 |
447 |
448 | - Addy Osmani - App architecture expert, Chrome dev tools champion
449 | - Angus Croll - Author, “If Hemingway Wrote JavaScript”
450 | - Axel Rauschmayer - ES Next evangelist, author
451 | - Brendan Eich - Created JavaScript
452 | - David Nolen - Great functional programming content
453 | - David Herman - Author, “Effective JavaScript”
454 | - EchoJS - News and links
455 | - Eric Elliott - That’s me. O’Reilly author. JavaScript architect. JS Instructor.
456 | - Jafar Husain - Great talks on RxJS, ES next, etc…
457 | - James Halliday aka Substack - author of ~one million~ Node modules you probably use.
458 | - James Long - CSP, functional programming advocate, Mozilla developer
459 | - JavaScript Cheerleader - Mover & shaker, JavaScript evangelist, documentary film maker
460 | - JavaScript Daily - News and links
461 | - Jordan Harband - Keeping us ahead of the JS curve
462 | - Kyle Simpson - Author, YDKJS - O’Reilly, JS Instructor, open web evangelist
463 | - Marijn Haverbeke - Author, “Eloquent JavaScript”
464 | - Nicholas C. Zakas - Author, speaker
465 | - Nick Morgan - Author, “JavaScript for Kids”
466 | - Paul Irish - Developer evangelist, Chrome dev tools champion
467 | - Reginald Braithwaite - Author, “JavaScript Allongé”, speaker, GitHub
468 | - YDKJS - You Don’t Know JS, O’Reilly book series by Kyle Simpson
469 |
470 |
471 |
476 |
477 |
478 |
--------------------------------------------------------------------------------