diff --git a/README.md b/README.md
index d47da17b..2d271d56 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,3 @@
-
Spellbook of Modern Web Dev
@@ -21,24 +20,24 @@
-* This document originated from a bunch of most commonly used links and learning resources I sent to every new web developer on our full-stack web development team.
-* What I'm doing in this document now is trying to provide the __complete view angle__ of __modern web (app or page) development ruled by JavaScript__, reflect __technological advance__ and help developers to __acquire APIs, libraries, tools, services, best practices and learning resource__ which are __not outdated__ and __most commonly used__.
-* I hope this document can __help one developer to have more power to do much more and much better__, just __like a spellbook does in fantasy worlds__.
-* The JS/web technology is like [an ocean of stuff you don’t know](https://medium.com/javascript-scene/why-im-thankful-for-js-fatigue-i-know-you-re-sick-of-those-words-but-this-is-different-296fae0c888f). Simply collecting more stuff or composing dozens of "awesome lists" into a single one will only exacerbate the [Javascript Fatigue](https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4). So this document must __stay lean__ and focus on __the most frequent problems__ and __the most commonly used stuff__.
-* So for each problem domain and each technology, I try my best to pick only __one or a few__ links.
-* Which link belongs to "not outdated and most commonly used stuff" is not only decided by __clear trends__, __empirical observation__, and __working experience__, also by __public data__ and __web scraping scripts__.
-* __The npm package statistics (like download count) are given more weight than Github repo statistics (like starring data)__ because npm statistics can better reflect the actual usage and popularity.
-* Prefer __fine-grained classifications and deep hierarchies__ over __featureless descriptions and distractive comments__.
-* Ideally, __each line is a unique category__. The __" / "__ symbol between the links means they are replaceable. The __", "__ symbol between the links means they are complementary.
-* I wish this document could be closer to a kind of __knowledge graph__ or __skill tree__ than a list or a collection.
-* It currently contains __2000+__ links (projects, tools, plugins, services, articles, books, sites, etc.)
-* Feel free to submit the __missing__ or __better__ links in your opinion. Also, please provide the __reason__.
-* [Why not add a Europe (or other regions) section](https://github.com/dexteryy/spellbook-of-modern-webdev/pull/4#issuecomment-308073026)? [Why not add your project](https://github.com/dexteryy/spellbook-of-modern-webdev/pull/5)? [Why so many React-based projects? Why not Angular/Vue.js/XXX](http://www.npmtrends.com/rxjs-vs-mobx-vs-redux-vs-vue-vs-react-vs-@angular/core-vs-@cycle/dom-vs-backbone-vs-jquery-vs-vuex)?
+- This document originated from a bunch of most commonly used links and learning resources I sent to every new web developer on our full-stack web development team.
+- What I'm doing in this document now is trying to provide the **complete view angle** of **modern web (app or page) development ruled by JavaScript**, reflect **technological advance** and help developers to **acquire APIs, libraries, tools, services, best practices and learning resource** which are **not outdated** and **most commonly used**.
+- I hope this document can **help one developer to have more power to do much more and much better**, just **like a spellbook does in fantasy worlds**.
+- The JS/web technology is like [an ocean of stuff you don’t know](https://medium.com/javascript-scene/why-im-thankful-for-js-fatigue-i-know-you-re-sick-of-those-words-but-this-is-different-296fae0c888f). Simply collecting more stuff or composing dozens of "awesome lists" into a single one will only exacerbate the [Javascript Fatigue](https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4). So this document must **stay lean** and focus on **the most frequent problems** and **the most commonly used stuff**.
+- So for each problem domain and each technology, I try my best to pick only **one or a few** links.
+- Which link belongs to "not outdated and most commonly used stuff" is not only decided by **clear trends**, **empirical observation**, and **working experience**, also by **public data** and **web scraping scripts**.
+- **The npm package statistics (like download count) are given more weight than Github repo statistics (like starring data)** because npm statistics can better reflect the actual usage and popularity.
+- Prefer **fine-grained classifications and deep hierarchies** over **featureless descriptions and distractive comments**.
+- Ideally, **each line is a unique category**. The **" / "** symbol between the links means they are replaceable. The **", "** symbol between the links means they are complementary.
+- I wish this document could be closer to a kind of **knowledge graph** or **skill tree** than a list or a collection.
+- It currently contains **2000+** links (projects, tools, plugins, services, articles, books, sites, etc.)
+- Feel free to submit the **missing** or **better** links in your opinion. Also, please provide the **reason**.
+- [Why not add a Europe (or other regions) section](https://github.com/dexteryy/spellbook-of-modern-webdev/pull/4#issuecomment-308073026)? [Why not add your project](https://github.com/dexteryy/spellbook-of-modern-webdev/pull/5)? [Why so many React-based projects? Why not Angular/Vue.js/XXX](http://www.npmtrends.com/rxjs-vs-mobx-vs-redux-vs-vue-vs-react-vs-@angular/core-vs-@cycle/dom-vs-backbone-vs-jquery-vs-vuex)?
#### Understanding Modern Web Development
-* In English: coming soon...
-* In Chinese: [slides](https://speakerdeck.com/dexteryy/understanding-modern-web-development-at-jsconf-china-2017-zhong-wen) @ [JSConf CN 2017](http://2017.jsconf.cn/#schedule)
+- In English: coming soon...
+- In Chinese: [slides](https://speakerdeck.com/dexteryy/understanding-modern-web-development-at-jsconf-china-2017-zhong-wen) @ [JSConf CN 2017](http://2017.jsconf.cn/#schedule)
@@ -54,7 +53,6 @@
## Table of Contents
-
- [Platforms and Languages](#platforms-and-languages)
- [Open Web Platform](#open-web-platform)
- Learning, Reference, Visual Tools
@@ -161,7 +159,7 @@
- [Collaboration](#collaboration)
- Version Control, ChatOps, Kanban, Markdown, Design...
-A Subset as a __Learning Path__
+A Subset as a **Learning Path**
1. [Open Web Platform](#open-web-platform)
2. [HTML5 / Web APIs](#html5--web-apis)
@@ -176,9 +174,9 @@ A Subset as a __Learning Path__
11. [IDE / Editors](#ide--editors)
12. [GUI Framework](#gui-framework)
13. [Microservices / API Services (Node.js)](#microservices--api-services-nodejs)
-15. [Testing](#testing)
+14. [Testing](#testing)
-A Subset for __Finding Libraries__
+A Subset for **Finding Libraries**
- [Cross-browser / Polyfill Libraries](#cross-browser--polyfill-libraries)
- [Hybrid Libraries](#hybrid-libraries)
@@ -192,7 +190,7 @@ A Subset for __Finding Libraries__
- [Server-side Libraries (Node.js)](#server-side-libraries-nodejs)
- [Command-line Libraries (Node.js)](#command-line-libraries-nodejs)
-A Subset for __Architecture and Infrastructure__
+A Subset for **Architecture and Infrastructure**
- [GUI Framework](#gui-framework)
- [Toolchain](#toolchain)
@@ -218,846 +216,846 @@ A Subset for __Architecture and Infrastructure__
### Open Web Platform
-* Learning
- * [What is the Internet](http://www.20thingsilearned.com/en-US/what-is-the-internet/), [How does the Internet work](https://www.w3.org/wiki/How_does_the_Internet_work)
- * HTTP - see _[Server Side > Network](#network)_
- * [Evolution of the Web](http://www.evolutionoftheweb.com/)
- * [Timeline of web browsers](https://en.wikipedia.org/wiki/Timeline_of_web_browsers)
- * [Dive Into HTML5 - A Quite Biased History of HTML5](http://diveintohtml5.info/past.html)
- * [20 Things I Learned About Browsers and the Web](http://www.20thingsilearned.com/)
- * MDN's [Learn Web Development](https://developer.mozilla.org/en-US/docs/Learn)
-* Reference
- * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web)
- * [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference), [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG), [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference), [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model), [DOM Events](https://developer.mozilla.org/en-US/docs/Web/Events), [Web APIs](https://developer.mozilla.org/en-US/docs/Web/API)
- * [MDN content Roadmap](https://trello.com/b/LFl3umOX/mdn-content-roadmap)
- * [Google Developers](https://developers.google.com/web/)
- * [Web Fundamentals](https://developers.google.com/web/fundamentals/), [Update](https://developers.google.com/web/updates/), [HTML5Rocks Archived Tutorials](https://www.html5rocks.com/en/tutorials/)
- * Apple
- * [WebKit JS](https://developer.apple.com/reference/webkitjs/)
- * [CSSDB](https://cssdb.org/)
- * CSS-Tricks's [CSS Almanac](https://css-tricks.com/almanac/), [Codrops' CSS Reference](https://tympanus.net/codrops/css_reference/)
- * [Mastering CSS Principles: A Comprehensive Guide](https://www.smashingmagazine.com/mastering-css-principles-comprehensive-reference-guide/)
- * [HTML: The Living Standard (Web Developer Edition)](https://developers.whatwg.org/)
- * [The Web platform: Browser technologies](https://platform.html5.org/)
- * [W3Fools](http://www.w3fools.com/)
- * [W3Schools Responds to W3Fools](https://readwrite.com/2011/01/17/w3schools-responds-to-w3fools/)
- * [Why shouldn't I use W3Schools?](https://codereview.meta.stackexchange.com/questions/4975/why-shouldnt-i-use-w3schools-as-reference), [Why do people hate W3schools?](https://www.quora.com/Why-do-people-hate-W3schools-com), [Does W3Schools really suck?](https://www.quora.com/Does-W3Schools-really-suck)
- * Visual Tools
- * see _[Tooling > Useful Apps](#useful-apps) > Visual Tools_
-* Performance
- * Rendering
- * [How Browsers Work: Behind the scenes of modern web browsers](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/), \
+- Learning
+ - [What is the Internet](http://www.20thingsilearned.com/en-US/what-is-the-internet/), [How does the Internet work](https://www.w3.org/wiki/How_does_the_Internet_work)
+ - HTTP - see _[Server Side > Network](#network)_
+ - [Evolution of the Web](http://www.evolutionoftheweb.com/)
+ - [Timeline of web browsers](https://en.wikipedia.org/wiki/Timeline_of_web_browsers)
+ - [Dive Into HTML5 - A Quite Biased History of HTML5](http://diveintohtml5.info/past.html)
+ - [20 Things I Learned About Browsers and the Web](https://dusk.geo.orst.edu/gis/Google_Book_20Things.pdf)
+ - MDN's [Learn Web Development](https://developer.mozilla.org/en-US/docs/Learn)
+- Reference
+ - [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web)
+ - [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference), [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG), [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference), [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model), [DOM Events](https://developer.mozilla.org/en-US/docs/Web/Events), [Web APIs](https://developer.mozilla.org/en-US/docs/Web/API)
+ - [MDN content Roadmap](https://trello.com/b/LFl3umOX/mdn-content-roadmap)
+ - [Google Developers](https://developers.google.com/web/)
+ - [Web Fundamentals](https://developers.google.com/web/fundamentals/), [Update](https://developers.google.com/web/updates/), [HTML5Rocks Archived Tutorials](https://www.html5rocks.com/en/tutorials/)
+ - Apple
+ - [WebKit JS](https://developer.apple.com/reference/webkitjs/)
+ - [CSSDB](https://cssdb.org/)
+ - CSS-Tricks's [CSS Almanac](https://css-tricks.com/almanac/), [Codrops' CSS Reference](https://tympanus.net/codrops/css_reference/)
+ - [Mastering CSS Principles: A Comprehensive Guide](https://www.smashingmagazine.com/mastering-css-principles-comprehensive-reference-guide/)
+ - [HTML: The Living Standard (Web Developer Edition)](https://developers.whatwg.org/)
+ - [The Web platform: Browser technologies](https://platform.html5.org/)
+ - [W3Fools](http://www.w3fools.com/)
+ - [W3Schools Responds to W3Fools](https://readwrite.com/2011/01/17/w3schools-responds-to-w3fools/)
+ - [Why shouldn't I use W3Schools?](https://codereview.meta.stackexchange.com/questions/4975/why-shouldnt-i-use-w3schools-as-reference), [Why do people hate W3schools?](https://www.quora.com/Why-do-people-hate-W3schools-com), [Does W3Schools really suck?](https://www.quora.com/Does-W3Schools-really-suck)
+ - Visual Tools
+ - see _[Tooling > Useful Apps](#useful-apps) > Visual Tools_
+- Performance
+ - Rendering
+ - [How Browsers Work: Behind the scenes of modern web browsers](https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/), \
[How Browsers Lay Out Web Pages](https://dbaron.org/talks/2012-03-11-sxsw/master.xhtml)
- * [Rendering Performance](https://developers.google.com/web/fundamentals/performance/rendering/)
- * [GPU Animation: Doing It Right](https://www.smashingmagazine.com/2016/12/gpu-animation-doing-it-right/) / [An Introduction to Hardware Acceleration with CSS Animations](https://www.sitepoint.com/introduction-to-hardware-acceleration-css-animations/)
- * [CSS will-change](https://developer.mozilla.org/en-US/docs/Web/CSS/will-change)
- * [Everything You Need to Know About the CSS will-change Property](https://dev.opera.com/articles/css-will-change-property/)
- * [CSS Containment in Chrome 52](https://developers.google.com/web/updates/2016/06/css-containment)
- * Loading
- * [How DNS works](https://howdns.works/)
- * [Network resilience](https://web.dev/reliable)
- * [Evolution of Script Loading](https://www.stevesouders.com/blog/2010/12/06/evolution-of-script-loading/), [Browser script loading roundup](https://www.stevesouders.com/blog/2010/02/07/browser-script-loading-roundup/)
- * [JavaScript Start-up Performance](https://medium.com/reloading/javascript-start-up-performance-69200f43b201)
- * [Critical Rendering Path](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/),
- [CSS and the critical path](http://www.phpied.com/css-and-the-critical-path/)
- * Offline
- * see _[HTML5 / Web APIs](#html5--web-apis) > Offline_
- * Measure
- * [Performance budgets 101](https://web.dev/performance-budgets-101/)
- * [Measure Performance with the RAIL Model](https://developers.google.com/web/fundamentals/performance/rail)
- * [Measuring Page Load Speed with Navigation Timing](https://www.html5rocks.com/en/tutorials/webperformance/basics/)
- * [Measuring network performance with Resource Timing API](https://developers.googleblog.com/2013/12/measuring-network-performance-with.html)
- * [User Timing API](https://www.html5rocks.com/en/tutorials/webperformance/usertiming/)
- * [Why Web Developers Need to Care about Interactivity](https://philipwalton.com/articles/why-web-developers-need-to-care-about-interactivity/)
- * [requestIdleCallback](https://developers.google.com/web/updates/2015/08/using-requestidlecallback)
- * [PerformanceObserver](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver)
- * Optimization
- * [Fast load times](https://web.dev/fast)
- * [Why Performance Matters](https://developers.google.com/web/fundamentals/performance/why-performance-matters/)
- * [Performance audits](https://web.dev/lighthouse-performance)
- * [Lighthouse Audit References](https://developers.google.com/web/tools/lighthouse/audits/critical-request-chains)
-* Security
- * [Safe and secure](https://web.dev/secure)
- * [The Tangled Web: A Guide to Securing Modern Web Applications](http://lcamtuf.coredump.cx/tangled/)
- * [HTML5 Security Cheatsheet](https://html5sec.org/)
-* Semantics
- * SEO
- * [Let’s Talk about Semantics](http://html5doctor.com/lets-talk-about-semantics/)
- * [Easily discoverable](https://web.dev/discoverable)
- * [SEO audits](https://web.dev/lighthouse-seo)
- * [SEO Tutorial For Beginners](https://www.hobo-web.co.uk/seo-tutorial/), \
+ - [Rendering Performance](https://developers.google.com/web/fundamentals/performance/rendering/)
+ - [GPU Animation: Doing It Right](https://www.smashingmagazine.com/2016/12/gpu-animation-doing-it-right/) / [An Introduction to Hardware Acceleration with CSS Animations](https://www.sitepoint.com/introduction-to-hardware-acceleration-css-animations/)
+ - [CSS will-change](https://developer.mozilla.org/en-US/docs/Web/CSS/will-change)
+ - [Everything You Need to Know About the CSS will-change Property](https://dev.opera.com/articles/css-will-change-property/)
+ - [CSS Containment in Chrome 52](https://developers.google.com/web/updates/2016/06/css-containment)
+ - Loading
+ - [How DNS works](https://howdns.works/)
+ - [Network resilience](https://web.dev/reliable)
+ - [Evolution of Script Loading](https://www.stevesouders.com/blog/2010/12/06/evolution-of-script-loading/), [Browser script loading roundup](https://www.stevesouders.com/blog/2010/02/07/browser-script-loading-roundup/)
+ - [JavaScript Start-up Performance](https://medium.com/reloading/javascript-start-up-performance-69200f43b201)
+ - [Critical Rendering Path](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/),
+ [CSS and the critical path](http://www.phpied.com/css-and-the-critical-path/)
+ - Offline
+ - see _[HTML5 / Web APIs](#html5--web-apis) > Offline_
+ - Measure
+ - [Performance budgets 101](https://web.dev/performance-budgets-101/)
+ - [Measure Performance with the RAIL Model](https://developers.google.com/web/fundamentals/performance/rail)
+ - [Measuring Page Load Speed with Navigation Timing](https://www.html5rocks.com/en/tutorials/webperformance/basics/)
+ - [Measuring network performance with Resource Timing API](https://developers.googleblog.com/2013/12/measuring-network-performance-with.html)
+ - [User Timing API](https://www.html5rocks.com/en/tutorials/webperformance/usertiming/)
+ - [Why Web Developers Need to Care about Interactivity](https://philipwalton.com/articles/why-web-developers-need-to-care-about-interactivity/)
+ - [requestIdleCallback](https://developers.google.com/web/updates/2015/08/using-requestidlecallback)
+ - [PerformanceObserver](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver)
+ - Optimization
+ - [Fast load times](https://web.dev/fast)
+ - [Why Performance Matters](https://developers.google.com/web/fundamentals/performance/why-performance-matters/)
+ - [Performance audits](https://web.dev/lighthouse-performance)
+ - [Lighthouse Audit References](https://developers.google.com/web/tools/lighthouse/audits/critical-request-chains)
+- Security
+ - [Safe and secure](https://web.dev/secure)
+ - [The Tangled Web: A Guide to Securing Modern Web Applications](http://lcamtuf.coredump.cx/tangled/)
+ - [HTML5 Security Cheatsheet](https://html5sec.org/)
+- Semantics
+ - SEO
+ - [Let’s Talk about Semantics](http://html5doctor.com/lets-talk-about-semantics/)
+ - [Easily discoverable](https://web.dev/discoverable)
+ - [SEO audits](https://web.dev/lighthouse-seo)
+ - [SEO Tutorial For Beginners](https://www.hobo-web.co.uk/seo-tutorial/), \
Google's [Search Engine Optimization Starter Guide](http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf)
- * Accessibility
- * [Accessible to all](https://web.dev/accessible)
- * [The A11Y Project](http://a11yproject.com/), [Using ARIA](https://w3c.github.io/using-aria/)
+ - Accessibility
+ - [Accessible to all](https://web.dev/accessible)
+ - [The A11Y Project](http://a11yproject.com/), [Using ARIA](https://w3c.github.io/using-aria/)
\>\> Return to [Table of Contents](#table-of-contents)
### HTML5 / Web APIs
-* HTML / DOM
- * [You Might Not Need jQuery](http://youmightnotneedjquery.com/), \
+- HTML / DOM
+ - [You Might Not Need jQuery](http://youmightnotneedjquery.com/), \
[You Don't Need jQuery](https://github.com/oneuijs/You-Dont-Need-jQuery), \
[(Now More Than Ever) You Might Not Need jQuery](https://css-tricks.com/now-ever-might-not-need-jquery/)
- * [HEAD](https://github.com/joshbuchea/HEAD/)
- * [favicon](https://github.com/audreyr/favicon-cheat-sheet)
- * [Form pseudo-element](https://gist.github.com/webtobesocial/aefd6e25064c08e0cc9a)
- * [Native form elements](http://nativeformelements.com/)
- * [Detect DOM changes with Mutation Observers](https://developers.google.com/web/updates/2012/02/Detect-DOM-changes-with-Mutation-Observers)
-* Appearance
- * [Web Components](https://developers.google.com/web/updates/2017/01/webcomponents-org)
- * [Shadow DOM v1](https://developers.google.com/web/fundamentals/getting-started/primers/shadowdom), [Custom Elements v1](https://developers.google.com/web/fundamentals/getting-started/primers/customelements)
- * [Web Animations](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API)
- * [Web Animation Past, Present, and Future](https://alistapart.com/article/web-animation-past-present-and-future)
- * [Let's talk about the Web Animations API](http://danielcwilson.com/blog/2015/07/animations-intro/)
- * Status - [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)
-* Interaction
- * Desktop
- * [MouseEvent](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent), [WheelEvent](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent), [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent)
- * [Drag and Drop](https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API), [Pointer Lock](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API)
- * Mobile
- * [TouchEvent](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent)
- * [300ms tap delay, gone away](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away), [More Responsive Tapping on iOS](https://webkit.org/blog/5610/more-responsive-tapping-on-ios/)
- * [DeviceOrientationEvent + DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/Detecting_device_orientation)
- * Hardware Agnostic
- * [PointerEvent](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent), [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection)
- * [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) ([Intro](https://developers.google.com/web/updates/2016/04/intersectionobserver))
- * [Resize Observer API](https://developers.google.com/web/updates/2016/10/resizeobserver)
- * [Gamepad](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API), [Web Speech](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API)
-* Access
- * [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL), [History](https://developer.mozilla.org/en-US/docs/Web/API/History), [Navigator](https://developer.mozilla.org/en-US/docs/Web/API/Navigator), [Screen](https://developer.mozilla.org/en-US/docs/Web/API/Screen), [Page Visibility](https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API), [Clipboard](https://developer.mozilla.org/en-US/docs/tag/Clipboard%20API), [Performance](https://developer.mozilla.org/en-US/docs/Web/API/Performance), [Console](https://developer.mozilla.org/en-US/docs/Web/API/Console)
- * [Permissions](https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API), [Geolocation](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation)
- * [Web Notifications](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API) , [Vibration](https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API)
-* Network
- * [XMLHttpRequest2](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)
- * [Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
- * [Abortable Fetch](https://developers.google.com/web/updates/2017/09/abortable-fetch)
- * [Why I won’t be using Fetch API in my apps](https://medium.com/@shahata/why-i-wont-be-using-fetch-api-in-my-apps-6900e6c6fe78)
- * [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket), [Server-sent Event](https://developer.mozilla.org/en-US/docs/Web/API/EventSource)
- * [WebRTC](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API)
- * [Getting Started with WebRTC](https://www.html5rocks.com/en/tutorials/webrtc/basics/)
- * [WebRTC in the real world: STUN, TURN and signaling](https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
- * [WebRTC data channels](https://www.html5rocks.com/en/tutorials/webrtc/datachannels/)
- * Workshop - [Codelabs - Real time communication with WebRTC](https://codelabs.developers.google.com/codelabs/webrtc-web/)
-* Offline
- * Overview
- * [Offline UX Considerations](https://developers.google.com/web/fundamentals/instant-and-offline/offline-ux)
- * [The offline cookbook](https://jakearchibald.com/2014/offline-cookbook/)
- * [Offline First - HTML5 technologies for a faster, smarter, more engaging web](http://www.webdirections.org/offlineworkshop/ibooksDraft.pdf)
- * [Web Storage](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API), [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API#database_connection)
- * [FileReader](https://developer.mozilla.org/en-US/docs/Web/API/FileReader), [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
- * [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
- * [Service Workers Explained](https://github.com/w3c/ServiceWorker/blob/master/explainer.md)
- * [Service Workers: an Introduction](https://developers.google.com/web/fundamentals/getting-started/primers/service-workers), [The Service Worker Lifecycle](https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle)
- * [Instant Loading Web Apps with an Application Shell Architecture](https://developers.google.com/web/updates/2015/11/app-shell)
- * [Service Worker Cookbook](https://serviceworke.rs/)
- * Status - [Is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)
- * [Progressive Web Apps](https://developers.google.com/web/progressive-web-apps/)
- * [Progressive Web App Checklist](https://developers.google.com/web/progressive-web-apps/checklist), [PWA audits](https://web.dev/lighthouse-pwa)
- * [Offline Storage for Progressive Web Apps](https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa)
- * [The PRPL pattern](https://developers.google.com/web/fundamentals/performance/prpl-pattern/)
- * Workshop - [Codelabs - Your First Progressive Web App](https://codelabs.developers.google.com/codelabs/your-first-pwapp/)
-* Media
- * [\](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video), [\](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio)
- * [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
- * [Web Audio API Book](http://chimera.labs.oreilly.com/books/1234000001552/index.html)
- * Workshop - [Web Audio School](https://github.com/mmckegg/web-audio-school)
- * [Media Streams](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API)
- * [Capturing Audio & Video in HTML5](https://www.html5rocks.com/en/tutorials/getusermedia/intro/)
-* Graphics
- * [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG)
- * [Styling And Animating SVGs With CSS](https://www.smashingmagazine.com/2014/11/styling-and-animating-svgs-with-css/)
- * [Canvas](https://developer.mozilla.org/en-US/docs/HTML/Canvas)
- * [HTML5 Canvas](http://chimera.labs.oreilly.com/books/1234000001654/index.html)
- * [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)
- * [WebGL by example](https://developer.mozilla.org/en-US/docs/Learn/WebGL/By_example), [WebGL tutorial](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial), [Learning WebGL](http://learningwebgl.com/blog/?page_id=1217)
- * [Primer: Shaders](https://notes.underscorediscovery.com/shaders-a-primer/), [An Introduction to Shaders](https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/)
- * [The Book of Shaders](http://thebookofshaders.com/)
- * Workshop -[Shader School](https://github.com/stackgl/shader-school), [WebGL Workshop](https://github.com/stackgl/webgl-workshop), [WebGL Academy](http://www.webglacademy.com/)
- * [Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut/)
- * [WebXR / Immersive Web](https://github.com/immersive-web/webxr)
- * [Welcome to the immersive web](https://developers.google.com/web/updates/2018/05/welcome-to-immersive)
- * [Progressive WebXR](https://blog.mozvr.com/progressive-webxr-ar-store/)
-* Computing
- * [Web Cryptography](https://developer.mozilla.org/en-US/docs/Web/API/Crypto)
- * [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API)
- * WebAssembly
- * see _[WebAssembly](#webassembly)_
+ - [HEAD](https://github.com/joshbuchea/HEAD/)
+ - [favicon](https://github.com/audreyr/favicon-cheat-sheet)
+ - [Form pseudo-element](https://gist.github.com/webtobesocial/aefd6e25064c08e0cc9a)
+ - [Native form elements](http://nativeformelements.com/)
+ - [Detect DOM changes with Mutation Observers](https://developers.google.com/web/updates/2012/02/Detect-DOM-changes-with-Mutation-Observers)
+- Appearance
+ - [Web Components](https://developers.google.com/web/updates/2017/01/webcomponents-org)
+ - [Shadow DOM v1](https://developers.google.com/web/fundamentals/getting-started/primers/shadowdom), [Custom Elements v1](https://developers.google.com/web/fundamentals/getting-started/primers/customelements)
+ - [Web Animations](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API)
+ - [Web Animation Past, Present, and Future](https://alistapart.com/article/web-animation-past-present-and-future)
+ - [Let's talk about the Web Animations API](http://danielcwilson.com/blog/2015/07/animations-intro/)
+ - Status - [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)
+- Interaction
+ - Desktop
+ - [MouseEvent](https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent), [WheelEvent](https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent), [KeyboardEvent](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent)
+ - [Drag and Drop](https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API), [Pointer Lock](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API)
+ - Mobile
+ - [TouchEvent](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent)
+ - [300ms tap delay, gone away](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away), [More Responsive Tapping on iOS](https://webkit.org/blog/5610/more-responsive-tapping-on-ios/)
+ - [DeviceOrientationEvent + DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/Detecting_device_orientation)
+ - Hardware Agnostic
+ - [PointerEvent](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent), [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection)
+ - [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) ([Intro](https://developers.google.com/web/updates/2016/04/intersectionobserver))
+ - [Resize Observer API](https://developers.google.com/web/updates/2016/10/resizeobserver)
+ - [Gamepad](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API), [Web Speech](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API)
+- Access
+ - [URL](https://developer.mozilla.org/en-US/docs/Web/API/URL), [History](https://developer.mozilla.org/en-US/docs/Web/API/History), [Navigator](https://developer.mozilla.org/en-US/docs/Web/API/Navigator), [Screen](https://developer.mozilla.org/en-US/docs/Web/API/Screen), [Page Visibility](https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API), [Clipboard](https://developer.mozilla.org/en-US/docs/tag/Clipboard%20API), [Performance](https://developer.mozilla.org/en-US/docs/Web/API/Performance), [Console](https://developer.mozilla.org/en-US/docs/Web/API/Console)
+ - [Permissions](https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API), [Geolocation](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation)
+ - [Web Notifications](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API) , [Vibration](https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API)
+- Network
+ - [XMLHttpRequest2](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)
+ - [Fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
+ - [Abortable Fetch](https://developers.google.com/web/updates/2017/09/abortable-fetch)
+ - [Why I won’t be using Fetch API in my apps](https://medium.com/@shahata/why-i-wont-be-using-fetch-api-in-my-apps-6900e6c6fe78)
+ - [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket), [Server-sent Event](https://developer.mozilla.org/en-US/docs/Web/API/EventSource)
+ - [WebRTC](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API)
+ - [Getting Started with WebRTC](https://www.html5rocks.com/en/tutorials/webrtc/basics/)
+ - [WebRTC in the real world: STUN, TURN and signaling](https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
+ - [WebRTC data channels](https://www.html5rocks.com/en/tutorials/webrtc/datachannels/)
+ - Workshop - [Codelabs - Real time communication with WebRTC](https://codelabs.developers.google.com/codelabs/webrtc-web/)
+- Offline
+ - Overview
+ - [Offline UX Considerations](https://developers.google.com/web/fundamentals/instant-and-offline/offline-ux)
+ - [The offline cookbook](https://jakearchibald.com/2014/offline-cookbook/)
+ - [Offline First - HTML5 technologies for a faster, smarter, more engaging web](http://www.webdirections.org/offlineworkshop/ibooksDraft.pdf)
+ - [Web Storage](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API), [IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API#database_connection)
+ - [FileReader](https://developer.mozilla.org/en-US/docs/Web/API/FileReader), [File](https://developer.mozilla.org/en-US/docs/Web/API/File), [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
+ - [Service Worker](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
+ - [Service Workers Explained](https://github.com/w3c/ServiceWorker/blob/master/explainer.md)
+ - [Service Workers: an Introduction](https://developers.google.com/web/fundamentals/getting-started/primers/service-workers), [The Service Worker Lifecycle](https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle)
+ - [Instant Loading Web Apps with an Application Shell Architecture](https://developers.google.com/web/updates/2015/11/app-shell)
+ - [Service Worker Cookbook](https://serviceworke.rs/)
+ - Status - [Is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)
+ - [Progressive Web Apps](https://developers.google.com/web/progressive-web-apps/)
+ - [Progressive Web App Checklist](https://developers.google.com/web/progressive-web-apps/checklist), [PWA audits](https://web.dev/lighthouse-pwa)
+ - [Offline Storage for Progressive Web Apps](https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa)
+ - [The PRPL pattern](https://developers.google.com/web/fundamentals/performance/prpl-pattern/)
+ - Workshop - [Codelabs - Your First Progressive Web App](https://codelabs.developers.google.com/codelabs/your-first-pwapp/)
+- Media
+ - [\](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video), [\](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio)
+ - [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)
+ - [Web Audio API Book](http://chimera.labs.oreilly.com/books/1234000001552/index.html)
+ - Workshop - [Web Audio School](https://github.com/mmckegg/web-audio-school)
+ - [Media Streams](https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API)
+ - [Capturing Audio & Video in HTML5](https://www.html5rocks.com/en/tutorials/getusermedia/intro/)
+- Graphics
+ - [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG)
+ - [Styling And Animating SVGs With CSS](https://www.smashingmagazine.com/2014/11/styling-and-animating-svgs-with-css/)
+ - [Canvas](https://developer.mozilla.org/en-US/docs/HTML/Canvas)
+ - [HTML5 Canvas](http://chimera.labs.oreilly.com/books/1234000001654/index.html)
+ - [WebGL](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API)
+ - [WebGL by example](https://developer.mozilla.org/en-US/docs/Learn/WebGL/By_example), [WebGL tutorial](https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Tutorial), [Learning WebGL](http://learningwebgl.com/blog/?page_id=1217)
+ - [Primer: Shaders](https://notes.underscorediscovery.com/shaders-a-primer/), [An Introduction to Shaders](https://aerotwist.com/tutorials/an-introduction-to-shaders-part-1/)
+ - [The Book of Shaders](http://thebookofshaders.com/)
+ - Workshop -[Shader School](https://github.com/stackgl/shader-school), [WebGL Workshop](https://github.com/stackgl/webgl-workshop), [WebGL Academy](http://www.webglacademy.com/)
+ - [Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut/)
+ - [WebXR / Immersive Web](https://github.com/immersive-web/webxr)
+ - [Welcome to the immersive web](https://developers.google.com/web/updates/2018/05/welcome-to-immersive)
+ - [Progressive WebXR](https://blog.mozvr.com/progressive-webxr-ar-store/)
+- Computing
+ - [Web Cryptography](https://developer.mozilla.org/en-US/docs/Web/API/Crypto)
+ - [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API)
+ - WebAssembly
+ - see _[WebAssembly](#webassembly)_
\>\> Return to [Table of Contents](#table-of-contents)
### CSS Features
-* Basics
- * [You Don't Need JavaScript](https://github.com/you-dont-need/You-Dont-Need-JavaScript)
- * [CSS Selectors from CSS4 till CSS1](http://css4-selectors.com/selectors/)
- * [CSS Diner - Where we feast on CSS Selectors!](http://flukeout.github.io/)
- * [An Ultimate Guide To CSS Pseudo-Classes And Pseudo-Elements](https://www.smashingmagazine.com/2016/05/an-ultimate-guide-to-css-pseudo-classes-and-pseudo-elements/)
- * [@supports Rule (Feature Queries)](https://www.sitepoint.com/an-introduction-to-css-supports-rule-feature-queries/)
- * [Houdini](https://github.com/w3c/css-houdini-drafts/wiki)
- * [Houdini: Demystifying CSS](https://developers.google.com/web/updates/2016/05/houdini), [Houdini: Maybe The Most Exciting Development In CSS You've Never Heard Of](https://www.smashingmagazine.com/2016/03/houdini-maybe-the-most-exciting-development-in-css-youve-never-heard-of/)
-* Responsive Web Design
- * Media Queries
- * [Media Queries for Standard Devices](https://css-tricks.com/snippets/css/media-queries-for-standard-devices/)
- * Images
- * [Responsive Images](https://developers.google.com/web/fundamentals/design-and-ui/responsive/images), [Responsive Images in CSS](https://css-tricks.com/responsive-images-css/)
- * Units
- * [Font Size Idea: px at the Root, rem for Components, em for Text Elements](https://css-tricks.com/rems-ems/), \
+- Basics
+ - [You Don't Need JavaScript](https://github.com/you-dont-need/You-Dont-Need-JavaScript)
+ - [CSS Selectors from CSS4 till CSS1](http://css4-selectors.com/selectors/)
+ - [CSS Diner - Where we feast on CSS Selectors!](http://flukeout.github.io/)
+ - [An Ultimate Guide To CSS Pseudo-Classes And Pseudo-Elements](https://www.smashingmagazine.com/2016/05/an-ultimate-guide-to-css-pseudo-classes-and-pseudo-elements/)
+ - [@supports Rule (Feature Queries)](https://www.sitepoint.com/an-introduction-to-css-supports-rule-feature-queries/)
+ - [Houdini](https://github.com/w3c/css-houdini-drafts/wiki)
+ - [Houdini: Demystifying CSS](https://developers.google.com/web/updates/2016/05/houdini), [Houdini: Maybe The Most Exciting Development In CSS You've Never Heard Of](https://www.smashingmagazine.com/2016/03/houdini-maybe-the-most-exciting-development-in-css-youve-never-heard-of/)
+- Responsive Web Design
+ - Media Queries
+ - [Media Queries for Standard Devices](https://css-tricks.com/snippets/css/media-queries-for-standard-devices/)
+ - Images
+ - [Responsive Images](https://developers.google.com/web/fundamentals/design-and-ui/responsive/images), [Responsive Images in CSS](https://css-tricks.com/responsive-images-css/)
+ - Units
+ - [Font Size Idea: px at the Root, rem for Components, em for Text Elements](https://css-tricks.com/rems-ems/), \
[Understanding and Using rem Units in CSS](https://www.sitepoint.com/understanding-and-using-rem-units-in-css/)
- * [Truly Fluid Typography With vh And vw Units](https://www.smashingmagazine.com/2016/05/fluid-typography/)
-* [Layout](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout)
- * Flexbox, CSS Grid Layout
- * [CSS Grid, Flexbox And Box Alignment: Our New System For Web Layout](https://www.smashingmagazine.com/2016/11/css-grids-flexbox-and-box-alignment-our-new-system-for-web-layout/)
- * [A Complete Guide to Flexbox (CSS-Tricks)](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) / [Flexbox (Codrops)](https://tympanus.net/codrops/css_reference/flexbox/)
- * [Using Flexbox today](https://chriswrightdesign.com/experiments/using-flexbox-today/)
- * [Solved by Flexbox](https://philipwalton.github.io/solved-by-flexbox/), [Flexbox Patterns](http://www.flexboxpatterns.com/home)
- * [Centering Elements with Flexbox](https://www.smashingmagazine.com/2013/05/centering-elements-with-flexbox/)
- * [Quantity Queries with Flexbox](https://www.smashingmagazine.com/2015/07/quantity-ordering-with-css/)
- * [A Complete Guide to Grid (CSS-Tricks)](https://css-tricks.com/snippets/css/complete-guide-grid/) / [A Complete Guide to CSS Grid (Codrops)](https://tympanus.net/codrops/css_reference/grid/)
- * Traditional
- * [Learn CSS Layout](http://learnlayout.com/)
- * [Learn CSS Layout - the pedantic way](http://book.mixu.net/css/)
- * [CSS Floats 101](https://alistapart.com/article/css-floats-101), [All About Floats](https://css-tricks.com/all-about-floats/), [CSS Float Theory: Things You Should Know](https://www.smashingmagazine.com/2007/05/css-float-theory-things-you-should-know/)
- * [CSS Positioning 101](https://alistapart.com/article/css-positioning-101)
- * [CSS “position: sticky” – Introduction and Polyfills](https://www.sitepoint.com/css-position-sticky-introduction-polyfills/)
- * [The Z-Index CSS Property: A Comprehensive Look](https://www.smashingmagazine.com/2009/09/the-z-index-css-property-a-comprehensive-look/)
- * [Centering in CSS: A Complete Guide](https://css-tricks.com/centering-css-complete-guide/), [Absolute Center an Image](https://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/), [How To Center in CSS](http://howtocenterincss.com/)
-* Web Typography
- * [Using @font-face](https://css-tricks.com/snippets/css/using-font-face/)
- * [A Comprehensive Guide to Font Loading Strategies](https://www.zachleat.com/web/comprehensive-webfonts/)
-* Text
- * [Handling Long Words and URLs](https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/)
- * [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode) + [text-orientation](https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation)
-* Animation
- * CSS Transition
- * [Using CSS transitions](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
- * [Intro to CSS 3D transforms](http://desandro.github.io/3dtransforms/)
- * CSS Animation
- * [The Guide To CSS Animation: Principles and Examples](https://www.smashingmagazine.com/2011/09/the-guide-to-css-animation-principles-and-examples/)
- * [Upgrading CSS Animation With Motion Curves](https://www.smashingmagazine.com/2016/08/css-animations-motion-curves/)
- * Motion Path
- * [Animating Clipped Elements In SVG](https://www.smashingmagazine.com/2015/12/animating-clipped-elements-svg/)
- * [Moving along a curved path in CSS with layered animation](http://tobiasahlin.com/blog/curved-path-animations-in-css/)
- * [Future Use: CSS Motion Paths](https://codepen.io/danwilson/post/css-motion-paths)
-* Effects
- * [CSS Image Effects](https://una.im/vintage-washout/)
- * [Web Image Effects Performance Showdown](https://www.smashingmagazine.com/2016/05/web-image-effects-performance-showdown/)
- * [Basics of CSS Blend Modes](https://css-tricks.com/basics-css-blend-modes/)
- * [CSS Blend Modes could be the next big thing in Web Design](https://medium.com/@bennettfeely/css-blend-modes-could-be-the-next-big-thing-in-web-design-6b51bf53743a)
- * [Understanding CSS Filter Effects](https://www.html5rocks.com/en/tutorials/filters/understanding-css/)
- * [Clipping and Masking in CSS](https://css-tricks.com/clipping-masking-css/)
- * [The State of CSS Reflections](https://css-tricks.com/state-css-reflections/)
- * [CSS Shapes 101](https://alistapart.com/article/css-shapes-101)
+ - [Truly Fluid Typography With vh And vw Units](https://www.smashingmagazine.com/2016/05/fluid-typography/)
+- [Layout](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout)
+ - Flexbox, CSS Grid Layout
+ - [CSS Grid, Flexbox And Box Alignment: Our New System For Web Layout](https://www.smashingmagazine.com/2016/11/css-grids-flexbox-and-box-alignment-our-new-system-for-web-layout/)
+ - [A Complete Guide to Flexbox (CSS-Tricks)](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) / [Flexbox (Codrops)](https://tympanus.net/codrops/css_reference/flexbox/)
+ - [Using Flexbox today](https://chriswrightdesign.com/experiments/using-flexbox-today/)
+ - [Solved by Flexbox](https://philipwalton.github.io/solved-by-flexbox/), [Flexbox Patterns](http://www.flexboxpatterns.com/home)
+ - [Centering Elements with Flexbox](https://www.smashingmagazine.com/2013/05/centering-elements-with-flexbox/)
+ - [Quantity Queries with Flexbox](https://www.smashingmagazine.com/2015/07/quantity-ordering-with-css/)
+ - [A Complete Guide to Grid (CSS-Tricks)](https://css-tricks.com/snippets/css/complete-guide-grid/) / [A Complete Guide to CSS Grid (Codrops)](https://tympanus.net/codrops/css_reference/grid/)
+ - Traditional
+ - [Learn CSS Layout](http://learnlayout.com/)
+ - [Learn CSS Layout - the pedantic way](http://book.mixu.net/css/)
+ - [CSS Floats 101](https://alistapart.com/article/css-floats-101), [All About Floats](https://css-tricks.com/all-about-floats/), [CSS Float Theory: Things You Should Know](https://www.smashingmagazine.com/2007/05/css-float-theory-things-you-should-know/)
+ - [CSS Positioning 101](https://alistapart.com/article/css-positioning-101)
+ - [CSS “position: sticky” – Introduction and Polyfills](https://www.sitepoint.com/css-position-sticky-introduction-polyfills/)
+ - [The Z-Index CSS Property: A Comprehensive Look](https://www.smashingmagazine.com/2009/09/the-z-index-css-property-a-comprehensive-look/)
+ - [Centering in CSS: A Complete Guide](https://css-tricks.com/centering-css-complete-guide/), [Absolute Center an Image](https://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/), [How To Center in CSS](http://howtocenterincss.com/)
+- Web Typography
+ - [Using @font-face](https://css-tricks.com/snippets/css/using-font-face/)
+ - [A Comprehensive Guide to Font Loading Strategies](https://www.zachleat.com/web/comprehensive-webfonts/)
+- Text
+ - [Handling Long Words and URLs](https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/)
+ - [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode) + [text-orientation](https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation)
+- Animation
+ - CSS Transition
+ - [Using CSS transitions](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
+ - [Intro to CSS 3D transforms](http://desandro.github.io/3dtransforms/)
+ - CSS Animation
+ - [The Guide To CSS Animation: Principles and Examples](https://www.smashingmagazine.com/2011/09/the-guide-to-css-animation-principles-and-examples/)
+ - [Upgrading CSS Animation With Motion Curves](https://www.smashingmagazine.com/2016/08/css-animations-motion-curves/)
+ - Motion Path
+ - [Animating Clipped Elements In SVG](https://www.smashingmagazine.com/2015/12/animating-clipped-elements-svg/)
+ - [Moving along a curved path in CSS with layered animation](http://tobiasahlin.com/blog/curved-path-animations-in-css/)
+ - [Future Use: CSS Motion Paths](https://codepen.io/danwilson/post/css-motion-paths)
+- Effects
+ - [CSS Image Effects](https://una.im/vintage-washout/)
+ - [Web Image Effects Performance Showdown](https://www.smashingmagazine.com/2016/05/web-image-effects-performance-showdown/)
+ - [Basics of CSS Blend Modes](https://css-tricks.com/basics-css-blend-modes/)
+ - [CSS Blend Modes could be the next big thing in Web Design](https://medium.com/@bennettfeely/css-blend-modes-could-be-the-next-big-thing-in-web-design-6b51bf53743a)
+ - [Understanding CSS Filter Effects](https://www.html5rocks.com/en/tutorials/filters/understanding-css/)
+ - [Clipping and Masking in CSS](https://css-tricks.com/clipping-masking-css/)
+ - [The State of CSS Reflections](https://css-tricks.com/state-css-reflections/)
+ - [CSS Shapes 101](https://alistapart.com/article/css-shapes-101)
\>\> Return to [Table of Contents](#table-of-contents)
### Modern CSS / Next-Gen CSS
-* Component-based CSS
- * Utility Class / Functional CSS / Utility-first CSS / Atomic CSS
- * [The Case for Atomic / Utility-First CSS](https://johnpolacek.github.io/the-case-for-atomic-css/)
- * [CSS Utility Classes and "Separation of Concerns"](https://adamwathan.me/css-utility-classes-and-separation-of-concerns/)
- * [A Year of Utility Classes](https://css-irl.info/a-year-of-utility-classes/)
- * [So you need a CSS utility library?](https://css-tricks.com/need-css-utility-library/)
- * see _[UI Toolkits](#ui-toolkits)_
- * [CSS Modules](https://github.com/css-modules/css-modules)
- * [The End of Global CSS](https://medium.com/seek-blog/the-end-of-global-css-90d2a4a06284)
- * Tools - see _[Tooling > Toolchain](#toolchain) > Builder / Bundler > Webpack_
- * [Styled-Components](https://github.com/styled-components/styled-components) / [Emotion](https://emotion.sh/)
- * [CSS in JS](https://speakerdeck.com/vjeux/react-css-in-js)
- * [A Unified Styling Language](https://medium.com/seek-blog/a-unified-styling-language-d0c208de2660)
- * [A Brief History of CSS-in-JS: How We Got Here and Where We’re Going](https://levelup.gitconnected.com/a-brief-history-of-css-in-js-how-we-got-here-and-where-were-going-ea6261c19f04), [The State of CSS](http://ryanogles.by/css/javascript/2017/05/25/the-state-of-css.html)
- * [Comparison of CSS-in-JS solutions](http://michelebertoli.github.io/css-in-js/)
- * [Styled Components: Enforcing Best Practices In Component-Based Systems](https://www.smashingmagazine.com/2017/01/styled-components-enforcing-best-practices-component-based-systems/)
- * [Writing your styles in JS ≠ writing inline styles](http://mxstbr.blog/2016/11/inline-styles-vs-css-in-js/)
- * Libraries
- * [styled-system](https://github.com/jxnblk/styled-system), [system-components](https://github.com/jxnblk/styled-system/tree/master/system-components), [grid-styled](https://jxnblk.com/grid-styled/)
- * [styled-normalize](https://github.com/sergeysova/styled-normalize) / [styled-sanitize](https://www.npmjs.com/package/styled-sanitize)
- * [styled-components-breakpoint](https://github.com/jameslnewell/styled-components-breakpoint)
- * [styled-tools](https://github.com/diegohaz/styled-tools)
-* Preprocessor-based CSS
- * [PostCSS](http://postcss.org/)
- * Intro
- * [Meet PostCSS](http://www.meetpostcss.com/)
- * [PostCSS – A Comprehensive Introduction](https://www.smashingmagazine.com/2015/12/introduction-to-postcss/)
- * [PostCSS – Sass Killer or Preprocessing Pretender?](https://ashleynolan.co.uk/blog/postcss-a-review)
- * [PostCSS Playground](https://sneakertack.github.io/postcss-playground/)
- * [Preset Env](https://preset-env.cssdb.org/features)
- * [It’s Time To Start Using CSS Custom Properties](https://www.smashingmagazine.com/2017/04/start-using-css-custom-properties/)
- * [Getting Started With CSS calc()](https://www.smashingmagazine.com/2015/12/getting-started-css-calc-techniques/)
- * More Plugins - see _[Tooling > Toolchain](#toolchain) > Compiler / Transpiler / Preprocessor > PostCSS_
-* Best Practices
- * [Sanitize.css](https://github.com/csstools/sanitize.css) / [Normalize.css](http://nicolasgallagher.com/about-normalize-css/) / [Reset.css](http://meyerweb.com/eric/tools/css/reset/)
- * Methodology
- * [BEM](https://en.bem.info/methodology/)
- * [BEM 101](https://css-tricks.com/bem-101/) / [MindBEMding](https://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/)
- * [OOCSS](https://github.com/stubbornella/oocss/wiki)
- * [An Introduction To Object Oriented CSS (OOCSS)](https://www.smashingmagazine.com/2011/12/an-introduction-to-object-oriented-css-oocss/)
- * [SMACSS](https://smacss.com/)
- * [ITCSS](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/), [RSCSS](http://rscss.io/), [SOLID CSS](http://blog.millermedeiros.com/solid-css/)
- * [CSS Guidelines](https://cssguidelin.es/), [MaintainableCSS](https://maintainablecss.com/)
- * Code Style
- * [Idiomatic CSS](https://github.com/necolas/idiomatic-css)
- * [Airbnb CSS / Sass Styleguide](https://github.com/airbnb/css)
- * [Airbnb CSS-in-JavaScript Style Guide](https://github.com/airbnb/javascript/tree/master/css-in-javascript)
- * CSS + HTML
- * [Isobar Front-end Code Standards](http://isobar-idev.github.io/code-standards/)
- * [Code Guide by @mdo](http://codeguide.co/)
-* Know More about Web Design / [UI Design / UX Design](https://medium.com/@Mockplus/ux-vs-ui-vs-ia-vs-ixd-4-confusing-digital-design-terms-defined-ebd679f53f2)
- * Responsive/Adaptive Web Design
- * [Responsive Web Design Basics](https://developers.google.com/web/fundamentals/design-and-ui/responsive/) /\
+- Component-based CSS
+ - Utility Class / Functional CSS / Utility-first CSS / Atomic CSS
+ - [The Case for Atomic / Utility-First CSS](https://johnpolacek.github.io/the-case-for-atomic-css/)
+ - [CSS Utility Classes and "Separation of Concerns"](https://adamwathan.me/css-utility-classes-and-separation-of-concerns/)
+ - [A Year of Utility Classes](https://css-irl.info/a-year-of-utility-classes/)
+ - [So you need a CSS utility library?](https://css-tricks.com/need-css-utility-library/)
+ - see _[UI Toolkits](#ui-toolkits)_
+ - [CSS Modules](https://github.com/css-modules/css-modules)
+ - [The End of Global CSS](https://medium.com/seek-blog/the-end-of-global-css-90d2a4a06284)
+ - Tools - see _[Tooling > Toolchain](#toolchain) > Builder / Bundler > Webpack_
+ - [Styled-Components](https://github.com/styled-components/styled-components) / [Emotion](https://emotion.sh/)
+ - [CSS in JS](https://speakerdeck.com/vjeux/react-css-in-js)
+ - [A Unified Styling Language](https://medium.com/seek-blog/a-unified-styling-language-d0c208de2660)
+ - [A Brief History of CSS-in-JS: How We Got Here and Where We’re Going](https://levelup.gitconnected.com/a-brief-history-of-css-in-js-how-we-got-here-and-where-were-going-ea6261c19f04), [The State of CSS](http://ryanogles.by/css/javascript/2017/05/25/the-state-of-css.html)
+ - [Comparison of CSS-in-JS solutions](http://michelebertoli.github.io/css-in-js/)
+ - [Styled Components: Enforcing Best Practices In Component-Based Systems](https://www.smashingmagazine.com/2017/01/styled-components-enforcing-best-practices-component-based-systems/)
+ - [Writing your styles in JS ≠ writing inline styles](http://mxstbr.blog/2016/11/inline-styles-vs-css-in-js/)
+ - Libraries
+ - [styled-system](https://github.com/jxnblk/styled-system), [system-components](https://github.com/jxnblk/styled-system/tree/master/system-components), [grid-styled](https://jxnblk.com/grid-styled/)
+ - [styled-normalize](https://github.com/sergeysova/styled-normalize) / [styled-sanitize](https://www.npmjs.com/package/styled-sanitize)
+ - [styled-components-breakpoint](https://github.com/jameslnewell/styled-components-breakpoint)
+ - [styled-tools](https://github.com/diegohaz/styled-tools)
+- Preprocessor-based CSS
+ - [PostCSS](http://postcss.org/)
+ - Intro
+ - [Meet PostCSS](http://www.meetpostcss.com/)
+ - [PostCSS – A Comprehensive Introduction](https://www.smashingmagazine.com/2015/12/introduction-to-postcss/)
+ - [PostCSS – Sass Killer or Preprocessing Pretender?](https://ashleynolan.co.uk/blog/postcss-a-review)
+ - [PostCSS Playground](https://sneakertack.github.io/postcss-playground/)
+ - [Preset Env](https://preset-env.cssdb.org/features)
+ - [It’s Time To Start Using CSS Custom Properties](https://www.smashingmagazine.com/2017/04/start-using-css-custom-properties/)
+ - [Getting Started With CSS calc()](https://www.smashingmagazine.com/2015/12/getting-started-css-calc-techniques/)
+ - More Plugins - see _[Tooling > Toolchain](#toolchain) > Compiler / Transpiler / Preprocessor > PostCSS_
+- Best Practices
+ - [Sanitize.css](https://github.com/csstools/sanitize.css) / [Normalize.css](http://nicolasgallagher.com/about-normalize-css/) / [Reset.css](http://meyerweb.com/eric/tools/css/reset/)
+ - Methodology
+ - [BEM](https://en.bem.info/methodology/)
+ - [BEM 101](https://css-tricks.com/bem-101/) / [MindBEMding](https://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/)
+ - [OOCSS](https://github.com/stubbornella/oocss/wiki)
+ - [An Introduction To Object Oriented CSS (OOCSS)](https://www.smashingmagazine.com/2011/12/an-introduction-to-object-oriented-css-oocss/)
+ - [SMACSS](https://smacss.com/)
+ - [ITCSS](https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/), [RSCSS](http://rscss.io/), [SOLID CSS](http://blog.millermedeiros.com/solid-css/)
+ - [CSS Guidelines](https://cssguidelin.es/), [MaintainableCSS](https://maintainablecss.com/)
+ - Code Style
+ - [Idiomatic CSS](https://github.com/necolas/idiomatic-css)
+ - [Airbnb CSS / Sass Styleguide](https://github.com/airbnb/css)
+ - [Airbnb CSS-in-JavaScript Style Guide](https://github.com/airbnb/javascript/tree/master/css-in-javascript)
+ - CSS + HTML
+ - [Isobar Front-end Code Standards](http://isobar-idev.github.io/code-standards/)
+ - [Code Guide by @mdo](http://codeguide.co/)
+- Know More about Web Design / [UI Design / UX Design](https://medium.com/@Mockplus/ux-vs-ui-vs-ia-vs-ixd-4-confusing-digital-design-terms-defined-ebd679f53f2)
+ - Responsive/Adaptive Web Design
+ - [Responsive Web Design Basics](https://developers.google.com/web/fundamentals/design-and-ui/responsive/) /\
[Responsive Web Design: What It Is And How To Use It](https://www.smashingmagazine.com/2011/01/guidelines-for-responsive-web-design/)
- * [The Difference Between Responsive and Adaptive Design](https://css-tricks.com/the-difference-between-responsive-and-adaptive-design/)
- * [The Current State of Adaptive Design](https://medium.com/swlh/the-current-state-of-adaptive-design-6b2b89b258c4)
- * Responsivedesign.is - [Design](https://responsivedesign.is/design/), [Develop](https://responsivedesign.is/develop/)
- * Patterns
- * [Responsive Web Design Patterns](https://developers.google.com/web/fundamentals/design-and-ui/responsive/patterns), \
+ - [The Difference Between Responsive and Adaptive Design](https://css-tricks.com/the-difference-between-responsive-and-adaptive-design/)
+ - [The Current State of Adaptive Design](https://medium.com/swlh/the-current-state-of-adaptive-design-6b2b89b258c4)
+ - Responsivedesign.is - [Design](https://responsivedesign.is/design/), [Develop](https://responsivedesign.is/develop/)
+ - Patterns
+ - [Responsive Web Design Patterns](https://developers.google.com/web/fundamentals/design-and-ui/responsive/patterns), \
[Responsive Patterns](http://bradfrost.github.io/this-is-responsive/patterns.html), \
[ResponsiveDesign.is Patterns](https://responsivedesign.is/patterns/)
- * [Responsive Data Table Roundup](https://css-tricks.com/responsive-data-table-roundup/)
- * Motion Design
- * [Creating Usability with Motion: The UX in Motion Manifesto](https://medium.com/ux-in-motion/creating-usability-with-motion-the-ux-in-motion-manifesto-a87a4584ddc)
- * [10 principles for smooth web animations](https://blog.gyrosco.pe/smooth-css-animations-7d8ffc2c1d29)
- * Grid System - [A Comprehensive Introduction to Grids in Web Design](https://webdesign.tutsplus.com/articles/a-comprehensive-introduction-to-grids-in-web-design--cms-26521)
- * calc() grid system - [Lost Grid](http://lostgrid.org/)
- * flexbox grid system - [Flexbox Grid](http://flexboxgrid.com/)
- * [The 8-Point Grid](https://spec.fm/specifics/8-pt-grid)
- * Typography
- * [Typography.js](https://www.npmjs.com/package/typography)
- * [Gutenberg](http://matejlatin.github.io/Gutenberg/)
- * [The Equilateral Triangle of a Perfect Paragraph](https://betterwebtype.com/triangle)
- * [The Elements of Typographic Style Applied to the Web](http://webtypography.net/toc/)
- * [Why is Vertical Rhythm an Important Typography Practice?](https://zellwk.com/blog/why-vertical-rhythms/)
- * [CSS with vertical rhythm](https://drewish.com/tools/vertical-rhythm/)
- * [More Meaningful Typography](https://alistapart.com/article/more-meaningful-typography)
- * [Modular Scale](http://www.modularscale.com/)
- * [Atomic Design](http://bradfrost.com/blog/post/atomic-web-design/) ([Book](http://atomicdesign.bradfrost.com/table-of-contents/))
- * [The Atomic Workflow — People, Process, And Making Design Systems Happen](https://www.smashingmagazine.com/atomic-design-workflow/)
- * [The “Other” Interface: Atomic Design With Sass](https://www.smashingmagazine.com/2013/08/other-interface-atomic-design-sass/)
- * [Atomic Design – Your Ultimate Guide to Scalable & Modular CSS (Sass)](https://blog.alexdevero.com/atomic-design-scalable-modular-css-sass/)
- * Design System
- * [A comprehensive guide to design systems](https://www.invisionapp.com/blog/guide-to-design-systems/), [Design Systems Handbook](https://www.designbetter.co/design-systems-handbook/introducing-design-systems)
- * Design Tokens
- * [Tokens in Design Systems](https://medium.com/eightshapes-llc/tokens-in-design-systems-25dd82d58421)
- * [How to manage your Design Tokens with Style Dictionary](https://medium.com/@didoo/how-to-manage-your-design-tokens-with-style-dictionary-98c795b938aa)
- * [What Are Design Tokens?](https://css-tricks.com/what-are-design-tokens/)
- * Style Guide
- * [Style Guide Driven Development / Living Style Guides](http://styleguides.io/)
- * Tools - see _[Tooling > Documentation](#documentation) > Style Guide_
- * Examples
- * Apple's [Human Interface Guidelines](https://developer.apple.com/design/)
- * Google's [Material Design](https://material.io/)
- * Microsoft's [Fluent Design System](http://fluent.microsoft.com/)
- * Airbnb's [new design system](https://airbnb.design/building-a-visual-language/)
- * Github's [Primer](http://primercss.io/)
- * Atlassian's [Design Guidelines](https://atlassian.design/guidelines/product/overview)
- * Salesforce's [Lightning Design System](https://www.lightningdesignsystem.com/)
- * Yelp's [Styleguide](https://www.yelp.com/styleguide)
- * IBM's [Living Language](https://www.ibm.com/design/language/)
- * BBC's [GEL Guidelines](http://www.bbc.co.uk/gel/guidelines/)
- * A List Apart's [pattern library](http://patterns.alistapart.com/)
- * USA .gov's [Web Design Standards](https://standards.usa.gov/)
- * MailChimp's [Email Design Guide](https://mailchimp.com/email-design-guide/)
+ - [Responsive Data Table Roundup](https://css-tricks.com/responsive-data-table-roundup/)
+ - Motion Design
+ - [Creating Usability with Motion: The UX in Motion Manifesto](https://medium.com/ux-in-motion/creating-usability-with-motion-the-ux-in-motion-manifesto-a87a4584ddc)
+ - [10 principles for smooth web animations](https://blog.gyrosco.pe/smooth-css-animations-7d8ffc2c1d29)
+ - Grid System - [A Comprehensive Introduction to Grids in Web Design](https://webdesign.tutsplus.com/articles/a-comprehensive-introduction-to-grids-in-web-design--cms-26521)
+ - calc() grid system - [Lost Grid](http://lostgrid.org/)
+ - flexbox grid system - [Flexbox Grid](http://flexboxgrid.com/)
+ - [The 8-Point Grid](https://spec.fm/specifics/8-pt-grid)
+ - Typography
+ - [Typography.js](https://www.npmjs.com/package/typography)
+ - [Gutenberg](http://matejlatin.github.io/Gutenberg/)
+ - [The Equilateral Triangle of a Perfect Paragraph](https://betterwebtype.com/triangle)
+ - [The Elements of Typographic Style Applied to the Web](http://webtypography.net/toc/)
+ - [Why is Vertical Rhythm an Important Typography Practice?](https://zellwk.com/blog/why-vertical-rhythms/)
+ - [CSS with vertical rhythm](https://drewish.com/tools/vertical-rhythm/)
+ - [More Meaningful Typography](https://alistapart.com/article/more-meaningful-typography)
+ - [Modular Scale](http://www.modularscale.com/)
+ - [Atomic Design](http://bradfrost.com/blog/post/atomic-web-design/) ([Book](http://atomicdesign.bradfrost.com/table-of-contents/))
+ - [The Atomic Workflow — People, Process, And Making Design Systems Happen](https://www.smashingmagazine.com/atomic-design-workflow/)
+ - [The “Other” Interface: Atomic Design With Sass](https://www.smashingmagazine.com/2013/08/other-interface-atomic-design-sass/)
+ - [Atomic Design – Your Ultimate Guide to Scalable & Modular CSS (Sass)](https://blog.alexdevero.com/atomic-design-scalable-modular-css-sass/)
+ - Design System
+ - [A comprehensive guide to design systems](https://www.invisionapp.com/blog/guide-to-design-systems/), [Design Systems Handbook](https://www.designbetter.co/design-systems-handbook/introducing-design-systems)
+ - Design Tokens
+ - [Tokens in Design Systems](https://medium.com/eightshapes-llc/tokens-in-design-systems-25dd82d58421)
+ - [How to manage your Design Tokens with Style Dictionary](https://medium.com/@didoo/how-to-manage-your-design-tokens-with-style-dictionary-98c795b938aa)
+ - [What Are Design Tokens?](https://css-tricks.com/what-are-design-tokens/)
+ - Style Guide
+ - [Style Guide Driven Development / Living Style Guides](http://styleguides.io/)
+ - Tools - see _[Tooling > Documentation](#documentation) > Style Guide_
+ - Examples
+ - Apple's [Human Interface Guidelines](https://developer.apple.com/design/)
+ - Google's [Material Design](https://material.io/)
+ - Microsoft's [Fluent Design System](http://fluent.microsoft.com/)
+ - Airbnb's [new design system](https://airbnb.design/building-a-visual-language/)
+ - Github's [Primer](http://primercss.io/)
+ - Atlassian's [Design Guidelines](https://atlassian.design/guidelines/product/overview)
+ - Salesforce's [Lightning Design System](https://www.lightningdesignsystem.com/)
+ - Yelp's [Styleguide](https://www.yelp.com/styleguide)
+ - IBM's [Living Language](https://www.ibm.com/design/language/)
+ - BBC's [GEL Guidelines](http://www.bbc.co.uk/gel/guidelines/)
+ - A List Apart's [pattern library](http://patterns.alistapart.com/)
+ - USA .gov's [Web Design Standards](https://standards.usa.gov/)
+ - MailChimp's [Email Design Guide](https://mailchimp.com/email-design-guide/)
\>\> Return to [Table of Contents](#table-of-contents)
### Modern JS / Next-Gen JS
-* ES6+ Features
- * [Overview of ECMAScript 6 features](https://github.com/lukehoban/es6features)
- * [Babel REPL](http://babeljs.io/repl/) / [ES6 New Features Comparison](http://es6-features.org/)
-* Intro to ES6+
- * [Dr. Axel Rauschmayer's blog](http://2ality.com/)
- * [Exploring ES6](http://exploringjs.com/es6/)
- * [Exploring ES2016 and ES2017](http://exploringjs.com/es2016-es2017/)
- * [ES6 In Depth](https://hacks.mozilla.org/category/es6-in-depth/)
- * Nicholas C. Zakas's [Understanding ECMAScript 6](https://leanpub.com/understandinges6)
-* Re-intro to JS
- * Articles
- * MDN
- * [A re-introduction to JavaScript (JS tutorial)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)
- * [Equality comparisons and sameness](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness), [Data types and data structures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures), [Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures), [Inheritance and the prototype chain](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain)
- * [Concurrency model and Event Loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop), [Memory Management](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management)
- * Dmitry Soshnikov
- * [JavaScript. The Core](http://dmitrysoshnikov.com/ecmascript/javascript-the-core/)
- * ECMA-262-3 in detail
- * [Execution Contexts](http://dmitrysoshnikov.com/ecmascript/chapter-1-execution-contexts/), [Variable object](http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-object/), [This](http://dmitrysoshnikov.com/ecmascript/chapter-3-this/), [Scope chain](http://dmitrysoshnikov.com/ecmascript/chapter-4-scope-chain/), [Functions](http://dmitrysoshnikov.com/ecmascript/chapter-5-functions/), [Closures](http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/), [Evaluation strategy](http://dmitrysoshnikov.com/ecmascript/chapter-8-evaluation-strategy/)
- * OOP: [The general theory](http://dmitrysoshnikov.com/ecmascript/chapter-7-1-oop-general-theory/), [ECMAScript implementation](http://dmitrysoshnikov.com/ecmascript/chapter-7-2-oop-ecmascript-implementation/),
- * ECMA-262-5 in detail
- * [Properties and Property Descriptors](http://dmitrysoshnikov.com/ecmascript/es5-chapter-1-properties-and-property-descriptors/), [Strict Mode](http://dmitrysoshnikov.com/ecmascript/es5-chapter-2-strict-mode/)
- * Lexical environments: [Common Theory](http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-1-lexical-environments-common-theory/), [ECMAScript implementation](http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/)
- * Notes
- * [Equality operators](http://dmitrysoshnikov.com/notes/note-2-ecmascript-equality-operators/), [Default values of parameters](http://dmitrysoshnikov.com/ecmascript/es6-notes-default-values-of-parameters/)
- * Dmitri Pavlutin
- * [equality operator](https://dmitripavlutin.com/the-legend-of-javascript-equality-operator/), [undefined](https://dmitripavlutin.com/7-tips-to-handle-undefined-in-javascript/)
- * [variables hoisting](https://dmitripavlutin.com/javascript-hoisting-in-details/), [variables lifecycle](https://dmitripavlutin.com/variables-lifecycle-and-why-let-is-not-hoisted/)
- * [declare functions](https://dmitripavlutin.com/6-ways-to-declare-javascript-functions/), ['this' keyword](https://dmitripavlutin.com/gentle-explanation-of-this-in-javascript/)
- * [three dots](https://dmitripavlutin.com/how-three-dots-changed-javascript/)
- * [array creation](https://dmitripavlutin.com/power-up-the-array-creation-in-javascript/), [object literals](https://dmitripavlutin.com/why-object-literals-in-javascript-are-cool/)
- * [well-known symbols](https://dmitripavlutin.com/detailed-overview-of-well-known-symbols/)
- * [small and plain functions](https://dmitripavlutin.com/the-art-of-writing-small-and-plain-functions/)
- * [unicode](https://dmitripavlutin.com/what-every-javascript-developer-should-know-about-unicode/)
- * Other
- * [The Evolution of JavaScript Modularity](https://github.com/myshov/history-of-javascript/tree/master/4_evolution_of_js_modularity)
- * [About object-oriented design and the “class” & “extends” keywords in ES6](http://blog.wolksoftware.com/about-classes-inheritance-and-object-oriented-design-in-typescript-and-es6)
- * [JavaScript Regular Expression Enlightenment](http://codylindley.com/techpro/2013_05_14__javascript-regular-expression-/)
- * Books
- * [Eloquent JavaScript](http://eloquentjavascript.net/)
- * [Speaking JavaScript](http://speakingjs.com/es5/)
- * [You Don't Know JS (book series)](https://github.com/getify/You-Dont-Know-JS)
-* Reference
- * [JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
- * [JavaScript Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
-* Important Proposals
- * ESM (ECMAScript Modules)
- * Intro
- * [The state of JavaScript modules](https://medium.com/webpack/the-state-of-javascript-modules-4636d1774358)
- * [ECMAScript 6 modules: the final syntax](http://2ality.com/2014/09/es6-modules-final.html)
- * [ES6 Modules in Depth](https://ponyfoo.com/articles/es6-modules-in-depth#the-es6-module-system)
- * Browsers
- * [ECMAScript modules in browsers](https://jakearchibald.com/2017/es-modules-in-browsers/)
- * Node.js
- * [Node.js, TC-39, and Modules](https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e)
- * [.mjs](https://nodejs.org/api/esm.html)
- * [Using ES modules natively in Node.js](http://2ality.com/2017/09/native-esm-node.html)
- * [esm](https://www.npmjs.com/package/esm)
- * [ES Modules in Node Today!](https://medium.com/web-on-the-edge/es-modules-in-node-today-32cff914e4b)
- * [Dynamic Import (`import()`)](https://github.com/tc39/proposal-dynamic-import)
- * [Class Fields & Static Properties](https://github.com/tc39/proposal-class-public-fields/issues/46#issuecomment-239031422)
- * [Decorators](https://github.com/wycats/javascript-decorators)
- * [async/await](https://github.com/yortus/asyncawait), [Promise](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), [Promise Promote](https://www.promisejs.org/), [Promises/A+](https://promisesaplus.com/implementations)
- * [Observables](https://github.com/tc39/proposal-observable)
- * [Static Typing](https://ecmascript-daily.github.io/pages/status-of-static-typing-in-ecmascript/)
- * Concurrent JS / Parallel JavaScript
- * [Concurrent JavaScript: It can work!](https://webkit.org/blog/7846/concurrent-javascript-it-can-work/)
- * [The Path to Parallel JavaScript](https://blog.mozilla.org/javascript/2015/02/26/the-path-to-parallel-javascript/)
- * [A Taste of JavaScript’s New Parallel Primitives](https://hacks.mozilla.org/2016/05/a-taste-of-javascripts-new-parallel-primitives/)
- * [A cartoon intro to ArrayBuffers and SharedArrayBuffers](https://hacks.mozilla.org/2017/06/a-cartoon-intro-to-arraybuffers-and-sharedarraybuffers/)
-* Functional Programming
- * [Functional Programming for JavaScript People](https://medium.com/@chetcorcos/functional-programming-for-javascript-people-1915d8775504)
- * [Functional Programming Jargon](https://github.com/hemanth/functional-programming-jargon)
- * [Composing Software](https://medium.com/javascript-scene/the-rise-and-fall-and-rise-of-functional-programming-composable-software-c2d91b424c8c)
- * Books
- * [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://drboolean.gitbooks.io/mostly-adequate-guide)
- * [Functional-Light JavaScript](https://github.com/getify/functional-light-js)
- * [Lodash's FP Guide](https://github.com/lodash/lodash/wiki/FP-Guide)
- * [Introduction to Immutable.js and Functional Programming Concepts](https://auth0.com/blog/intro-to-immutable-js/)
- * [Why Ramda?](http://fr.umio.us/why-ramda/)
- * [The Philosophy of Ramda](http://fr.umio.us/the-philosophy-of-ramda/)
- * [Favoring Curry](http://fr.umio.us/favoring-curry/)
- * [Thinking in Ramda](http://randycoulman.com/blog/2016/05/24/thinking-in-ramda-getting-started/)
- * [Fantasy Land](https://github.com/fantasyland/fantasy-land)
- * [From Callback to Future -> Functor -> Monad](https://hackernoon.com/from-callback-to-future-functor-monad-6c86d9c16cb5)
- * [ADT (Algebraic Data Types)](http://blog.jenkster.com/2016/06/functional-mumbo-jumbo-adts.html)
- * [JavaScript and Type Thinking](https://medium.com/@yelouafi/javascript-and-type-thinking-735edddc388d)
- * [Functors, Applicatives, And Monads In Pictures](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)
-* FRP (Functional Reactive Programming)
- * [The introduction to Reactive Programming you've been missing](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754)
- * [How Is Reactive Different From Procedural Programming?](http://insights.dice.com/2014/01/13/how-is-reactive-different-from-procedural-programming/)
- * [A General Theory of Reactivity](https://github.com/kriskowal/gtor)
- * [Learn RxJS](https://www.learnrxjs.io/)
- * [Rx Book](http://xgrommx.github.io/rx-book/index.html)
- * [Functional Programming in JavaScript](http://reactivex.io/learnrx/)
- * [RxMarbles](http://rxmarbles.com/)
-* Static Typing
- * Intro
- * [Why use static types in JavaScript?](https://medium.freecodecamp.com/why-use-static-types-in-javascript-part-1-8382da1e0adb)
- * [You Might Not Need TypeScript (or Static Types)](https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b)
- * [Flow](https://flow.org/en/docs/)
- * [Flow Runtime](https://codemix.github.io/flow-runtime/)
- * [Flow Comments](https://flow.org/blog/2015/02/20/Flow-Comments/)
- * [TypeScript](http://www.typescriptlang.org/)
- * [TypeScript Playground](https://www.typescriptlang.org/play/)
- * [DefinitelyTyped](http://definitelytyped.org/), [TypeSearch](http://microsoft.github.io/TypeSearch/)
- * [tcomb](https://www.npmjs.com/package/tcomb)
- * [JSDoc Tags](https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler)
- * [jsdoc-to-assert](https://github.com/azu/jsdoc-to-assert)
-* Concurrent JS / Parallel JavaScript
- * [Napa.js](https://github.com/Microsoft/napajs/)
-* Code Style
- * [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- * [Node.js Style Guide](https://github.com/felixge/node-style-guide)
- * [Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript)
- * [JavaScript Clean Coding Best Practices](https://blog.risingstack.com/javascript-clean-coding-best-practices-node-js-at-scale/)
+- ES6+ Features
+ - [Overview of ECMAScript 6 features](https://github.com/lukehoban/es6features)
+ - [Babel REPL](http://babeljs.io/repl/) / [ES6 New Features Comparison](http://es6-features.org/)
+- Intro to ES6+
+ - [Dr. Axel Rauschmayer's blog](http://2ality.com/)
+ - [Exploring ES6](http://exploringjs.com/es6/)
+ - [Exploring ES2016 and ES2017](http://exploringjs.com/es2016-es2017/)
+ - [ES6 In Depth](https://hacks.mozilla.org/category/es6-in-depth/)
+ - Nicholas C. Zakas's [Understanding ECMAScript 6](https://leanpub.com/understandinges6)
+- Re-intro to JS
+ - Articles
+ - MDN
+ - [A re-introduction to JavaScript (JS tutorial)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)
+ - [Equality comparisons and sameness](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness), [Data types and data structures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures), [Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures), [Inheritance and the prototype chain](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Inheritance_and_the_prototype_chain)
+ - [Concurrency model and Event Loop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop), [Memory Management](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management)
+ - Dmitry Soshnikov
+ - [JavaScript. The Core](http://dmitrysoshnikov.com/ecmascript/javascript-the-core/)
+ - ECMA-262-3 in detail
+ - [Execution Contexts](http://dmitrysoshnikov.com/ecmascript/chapter-1-execution-contexts/), [Variable object](http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-object/), [This](http://dmitrysoshnikov.com/ecmascript/chapter-3-this/), [Scope chain](http://dmitrysoshnikov.com/ecmascript/chapter-4-scope-chain/), [Functions](http://dmitrysoshnikov.com/ecmascript/chapter-5-functions/), [Closures](http://dmitrysoshnikov.com/ecmascript/chapter-6-closures/), [Evaluation strategy](http://dmitrysoshnikov.com/ecmascript/chapter-8-evaluation-strategy/)
+ - OOP: [The general theory](http://dmitrysoshnikov.com/ecmascript/chapter-7-1-oop-general-theory/), [ECMAScript implementation](http://dmitrysoshnikov.com/ecmascript/chapter-7-2-oop-ecmascript-implementation/),
+ - ECMA-262-5 in detail
+ - [Properties and Property Descriptors](http://dmitrysoshnikov.com/ecmascript/es5-chapter-1-properties-and-property-descriptors/), [Strict Mode](http://dmitrysoshnikov.com/ecmascript/es5-chapter-2-strict-mode/)
+ - Lexical environments: [Common Theory](http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-1-lexical-environments-common-theory/), [ECMAScript implementation](http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/)
+ - Notes
+ - [Equality operators](http://dmitrysoshnikov.com/notes/note-2-ecmascript-equality-operators/), [Default values of parameters](http://dmitrysoshnikov.com/ecmascript/es6-notes-default-values-of-parameters/)
+ - Dmitri Pavlutin
+ - [equality operator](https://dmitripavlutin.com/the-legend-of-javascript-equality-operator/), [undefined](https://dmitripavlutin.com/7-tips-to-handle-undefined-in-javascript/)
+ - [variables hoisting](https://dmitripavlutin.com/javascript-hoisting-in-details/), [variables lifecycle](https://dmitripavlutin.com/variables-lifecycle-and-why-let-is-not-hoisted/)
+ - [declare functions](https://dmitripavlutin.com/6-ways-to-declare-javascript-functions/), ['this' keyword](https://dmitripavlutin.com/gentle-explanation-of-this-in-javascript/)
+ - [three dots](https://dmitripavlutin.com/how-three-dots-changed-javascript/)
+ - [array creation](https://dmitripavlutin.com/power-up-the-array-creation-in-javascript/), [object literals](https://dmitripavlutin.com/why-object-literals-in-javascript-are-cool/)
+ - [well-known symbols](https://dmitripavlutin.com/detailed-overview-of-well-known-symbols/)
+ - [small and plain functions](https://dmitripavlutin.com/the-art-of-writing-small-and-plain-functions/)
+ - [unicode](https://dmitripavlutin.com/what-every-javascript-developer-should-know-about-unicode/)
+ - Other
+ - [The Evolution of JavaScript Modularity](https://github.com/myshov/history-of-javascript/tree/master/4_evolution_of_js_modularity)
+ - [About object-oriented design and the “class” & “extends” keywords in ES6](http://blog.wolksoftware.com/about-classes-inheritance-and-object-oriented-design-in-typescript-and-es6)
+ - [JavaScript Regular Expression Enlightenment](http://codylindley.com/techpro/2013_05_14__javascript-regular-expression-/)
+ - Books
+ - [Eloquent JavaScript](http://eloquentjavascript.net/)
+ - [Speaking JavaScript](http://speakingjs.com/es5/)
+ - [You Don't Know JS (book series)](https://github.com/getify/You-Dont-Know-JS)
+- Reference
+ - [JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)
+ - [JavaScript Reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference)
+- Important Proposals
+ - ESM (ECMAScript Modules)
+ - Intro
+ - [The state of JavaScript modules](https://medium.com/webpack/the-state-of-javascript-modules-4636d1774358)
+ - [ECMAScript 6 modules: the final syntax](http://2ality.com/2014/09/es6-modules-final.html)
+ - [ES6 Modules in Depth](https://ponyfoo.com/articles/es6-modules-in-depth#the-es6-module-system)
+ - Browsers
+ - [ECMAScript modules in browsers](https://jakearchibald.com/2017/es-modules-in-browsers/)
+ - Node.js
+ - [Node.js, TC-39, and Modules](https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e)
+ - [.mjs](https://nodejs.org/api/esm.html)
+ - [Using ES modules natively in Node.js](http://2ality.com/2017/09/native-esm-node.html)
+ - [esm](https://www.npmjs.com/package/esm)
+ - [ES Modules in Node Today!](https://medium.com/web-on-the-edge/es-modules-in-node-today-32cff914e4b)
+ - [Dynamic Import (`import()`)](https://github.com/tc39/proposal-dynamic-import)
+ - [Class Fields & Static Properties](https://github.com/tc39/proposal-class-public-fields/issues/46#issuecomment-239031422)
+ - [Decorators](https://github.com/wycats/javascript-decorators)
+ - [async/await](https://github.com/yortus/asyncawait), [Promise](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), [Promise Promote](https://www.promisejs.org/), [Promises/A+](https://promisesaplus.com/implementations)
+ - [Observables](https://github.com/tc39/proposal-observable)
+ - [Static Typing](https://ecmascript-daily.github.io/pages/status-of-static-typing-in-ecmascript/)
+ - Concurrent JS / Parallel JavaScript
+ - [Concurrent JavaScript: It can work!](https://webkit.org/blog/7846/concurrent-javascript-it-can-work/)
+ - [The Path to Parallel JavaScript](https://blog.mozilla.org/javascript/2015/02/26/the-path-to-parallel-javascript/)
+ - [A Taste of JavaScript’s New Parallel Primitives](https://hacks.mozilla.org/2016/05/a-taste-of-javascripts-new-parallel-primitives/)
+ - [A cartoon intro to ArrayBuffers and SharedArrayBuffers](https://hacks.mozilla.org/2017/06/a-cartoon-intro-to-arraybuffers-and-sharedarraybuffers/)
+- Functional Programming
+ - [Functional Programming for JavaScript People](https://medium.com/@chetcorcos/functional-programming-for-javascript-people-1915d8775504)
+ - [Functional Programming Jargon](https://github.com/hemanth/functional-programming-jargon)
+ - [Composing Software](https://medium.com/javascript-scene/the-rise-and-fall-and-rise-of-functional-programming-composable-software-c2d91b424c8c)
+ - Books
+ - [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://drboolean.gitbooks.io/mostly-adequate-guide)
+ - [Functional-Light JavaScript](https://github.com/getify/functional-light-js)
+ - [Lodash's FP Guide](https://github.com/lodash/lodash/wiki/FP-Guide)
+ - [Introduction to Immutable.js and Functional Programming Concepts](https://auth0.com/blog/intro-to-immutable-js/)
+ - [Why Ramda?](http://fr.umio.us/why-ramda/)
+ - [The Philosophy of Ramda](http://fr.umio.us/the-philosophy-of-ramda/)
+ - [Favoring Curry](http://fr.umio.us/favoring-curry/)
+ - [Thinking in Ramda](http://randycoulman.com/blog/2016/05/24/thinking-in-ramda-getting-started/)
+ - [Fantasy Land](https://github.com/fantasyland/fantasy-land)
+ - [From Callback to Future -> Functor -> Monad](https://hackernoon.com/from-callback-to-future-functor-monad-6c86d9c16cb5)
+ - [ADT (Algebraic Data Types)](http://blog.jenkster.com/2016/06/functional-mumbo-jumbo-adts.html)
+ - [JavaScript and Type Thinking](https://medium.com/@yelouafi/javascript-and-type-thinking-735edddc388d)
+ - [Functors, Applicatives, And Monads In Pictures](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)
+- FRP (Functional Reactive Programming)
+ - [The introduction to Reactive Programming you've been missing](https://gist.github.com/staltz/868e7e9bc2a7b8c1f754)
+ - [How Is Reactive Different From Procedural Programming?](http://insights.dice.com/2014/01/13/how-is-reactive-different-from-procedural-programming/)
+ - [A General Theory of Reactivity](https://github.com/kriskowal/gtor)
+ - [Learn RxJS](https://www.learnrxjs.io/)
+ - [Rx Book](http://xgrommx.github.io/rx-book/index.html)
+ - [Functional Programming in JavaScript](http://reactivex.io/learnrx/)
+ - [RxMarbles](http://rxmarbles.com/)
+- Static Typing
+ - Intro
+ - [Why use static types in JavaScript?](https://medium.freecodecamp.com/why-use-static-types-in-javascript-part-1-8382da1e0adb)
+ - [You Might Not Need TypeScript (or Static Types)](https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b)
+ - [Flow](https://flow.org/en/docs/)
+ - [Flow Runtime](https://codemix.github.io/flow-runtime/)
+ - [Flow Comments](https://flow.org/blog/2015/02/20/Flow-Comments/)
+ - [TypeScript](http://www.typescriptlang.org/)
+ - [TypeScript Playground](https://www.typescriptlang.org/play/)
+ - [DefinitelyTyped](http://definitelytyped.org/), [TypeSearch](http://microsoft.github.io/TypeSearch/)
+ - [tcomb](https://www.npmjs.com/package/tcomb)
+ - [JSDoc Tags](https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler)
+ - [jsdoc-to-assert](https://github.com/azu/jsdoc-to-assert)
+- Concurrent JS / Parallel JavaScript
+ - [Napa.js](https://github.com/Microsoft/napajs/)
+- Code Style
+ - [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
+ - [Node.js Style Guide](https://github.com/felixge/node-style-guide)
+ - [Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript)
+ - [JavaScript Clean Coding Best Practices](https://blog.risingstack.com/javascript-clean-coding-best-practices-node-js-at-scale/)
\>\> Return to [Table of Contents](#table-of-contents)
### WebAssembly
-* References
- * [WebAssembly.org](http://webassembly.org/)
- * [MDN docs](https://developer.mozilla.org/en-US/docs/WebAssembly)
-* Concepts
- * [WebAssembly High-Level Goals](https://github.com/WebAssembly/design/blob/master/HighLevelGoals.md)
- * [Minimum Viable Product](https://github.com/WebAssembly/design/blob/master/MVP.md)
- * [WebAssembly concepts](https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts)
- * [An Abridged Cartoon Introduction To WebAssembly](https://www.smashingmagazine.com/2017/05/abridged-cartoon-introduction-webassembly/)
-* Features
- * [Features to add after the MVP](https://github.com/WebAssembly/design/blob/master/FutureFeatures.md)
- * [WebAssembly proposals](https://github.com/WebAssembly/proposals)
-* Workshop
- * [Codelabs - An Introduction to Web Assembly](https://codelabs.developers.google.com/codelabs/web-assembly-intro/)
-* Languages
- * [Rust](https://www.rust-lang.org)
- * [Rust and WebAssembly](https://rustwasm.github.io/docs.html)
- * [The Rust Wasm Book](https://rustwasm.github.io/docs/book/)
+- References
+ - [WebAssembly.org](http://webassembly.org/)
+ - [MDN docs](https://developer.mozilla.org/en-US/docs/WebAssembly)
+- Concepts
+ - [WebAssembly High-Level Goals](https://github.com/WebAssembly/design/blob/master/HighLevelGoals.md)
+ - [Minimum Viable Product](https://github.com/WebAssembly/design/blob/master/MVP.md)
+ - [WebAssembly concepts](https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts)
+ - [An Abridged Cartoon Introduction To WebAssembly](https://www.smashingmagazine.com/2017/05/abridged-cartoon-introduction-webassembly/)
+- Features
+ - [Features to add after the MVP](https://github.com/WebAssembly/design/blob/master/FutureFeatures.md)
+ - [WebAssembly proposals](https://github.com/WebAssembly/proposals)
+- Workshop
+ - [Codelabs - An Introduction to Web Assembly](https://codelabs.developers.google.com/codelabs/web-assembly-intro/)
+- Languages
+ - [Rust](https://www.rust-lang.org)
+ - [Rust and WebAssembly](https://rustwasm.github.io/docs.html)
+ - [The Rust Wasm Book](https://rustwasm.github.io/docs/book/)
### Node.js
-* Intro
- * [The Art of Node](https://github.com/maxogden/art-of-node)
- * [You Don’t Know Node](https://webapplog.com/you-dont-know-node/)
- * [RisingStack's](https://blog.risingstack.com/node-js-at-scale-understanding-node-js-event-loop/) / [NodeSource's](https://nodesource.com/blog/understanding-the-nodejs-event-loop/) Understanding the Node.js Event Loop
- * [Node.js Garbage Collection Explained](https://blog.risingstack.com/node-js-at-scale-node-js-garbage-collection/)
- * [Stream Handbook](https://github.com/substack/stream-handbook)
- * [A Brief History of Node Streams](https://medium.com/the-node-js-collection/a-brief-history-of-node-streams-pt-1-3401db451f21)
- * [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/)
- * [Keeping the Node.js core small](https://developer.ibm.com/node/2017/04/20/keeping-node-js-core-small/)
- * [Debugging Node.js with Google Chrome](https://medium.com/the-node-js-collection/debugging-node-js-with-google-chrome-4965b5f910f4)
- * [Add v8_inspector supports](https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27)
- * [How to Debug Node.js with the Best Tools Available](https://blog.risingstack.com/how-to-debug-nodej-js-with-the-best-tools-available/)
-* Workshop
- * [NodeSchool](https://nodeschool.io/)
- * [learnyounode](https://www.npmjs.com/package/learnyounode)
-* Best Practices
- * [The Node Way](http://thenodeway.io/introduction/)
- * [Joyent's Production Practices - Design](https://www.joyent.com/node-js/production/design/), [Error Handling](https://www.joyent.com/node-js/production/design/errors)
- * [Best Practices for Node.js Development](https://devcenter.heroku.com/articles/node-best-practices)
- * [Node.js Best Practices](https://github.com/alanjames1987/Node.js-Best-Practices)
+- Intro
+ - [The Art of Node](https://github.com/maxogden/art-of-node)
+ - [You Don’t Know Node](https://webapplog.com/you-dont-know-node/)
+ - [RisingStack's](https://blog.risingstack.com/node-js-at-scale-understanding-node-js-event-loop/) / [NodeSource's](https://nodesource.com/blog/understanding-the-nodejs-event-loop/) Understanding the Node.js Event Loop
+ - [Node.js Garbage Collection Explained](https://blog.risingstack.com/node-js-at-scale-node-js-garbage-collection/)
+ - [Stream Handbook](https://github.com/substack/stream-handbook)
+ - [A Brief History of Node Streams](https://medium.com/the-node-js-collection/a-brief-history-of-node-streams-pt-1-3401db451f21)
+ - [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/)
+ - [Keeping the Node.js core small](https://developer.ibm.com/node/2017/04/20/keeping-node-js-core-small/)
+ - [Debugging Node.js with Google Chrome](https://medium.com/the-node-js-collection/debugging-node-js-with-google-chrome-4965b5f910f4)
+ - [Add v8_inspector supports](https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27)
+ - [How to Debug Node.js with the Best Tools Available](https://blog.risingstack.com/how-to-debug-nodej-js-with-the-best-tools-available/)
+- Workshop
+ - [NodeSchool](https://nodeschool.io/)
+ - [learnyounode](https://www.npmjs.com/package/learnyounode)
+- Best Practices
+ - [The Node Way](http://thenodeway.io/introduction/)
+ - [Joyent's Production Practices - Design](https://www.joyent.com/node-js/production/design/), [Error Handling](https://www.joyent.com/node-js/production/design/errors)
+ - [Best Practices for Node.js Development](https://devcenter.heroku.com/articles/node-best-practices)
+ - [Node.js Best Practices](https://github.com/alanjames1987/Node.js-Best-Practices)
\>\> Return to [Table of Contents](#table-of-contents)
### Platform Compatibility and Proposal Status
-* Web
- * Platform Status
- * [Can I Use](http://caniuse.com/)
- * [Chrome](https://www.chromestatus.com/features), [WebKit](https://webkit.org/status/), [Firefox](https://platform-status.mozilla.org/), [Edge](https://developer.microsoft.com/en-us/microsoft-edge/platform/status/), [TBS (China)](http://x5.tencent.com/tbs/guide/w3c.html)
- * Platform Releases
- * [Chrome](https://chromereleases.googleblog.com/), [Safari](https://developer.apple.com/safari/whats-new/) ([Webkit](https://trac.webkit.org/)), [Firefox](https://www.mozilla.org/en-US/firefox/releases/), [Edge](https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/)
- * Platform Updates
- * [Mozilla Hacks](https://hacks.mozilla.org/)
- * [Web Updates](https://developers.google.com/web/updates/), [Chromium Blog](https://blog.chromium.org/)
- * [Webkit Blog](https://webkit.org/blog/)
- * [Microsoft Edge Dev Blog](https://developer.microsoft.com/en-us/microsoft-edge/community/)
- * [Writing forward-compatible websites](https://developer.mozilla.org/en-US/docs/Web/Guide/Writing_forward-compatible_websites)
- * Polyfill - [What is a Polyfill?](https://remysharp.com/2010/10/08/what-is-a-polyfill)
- * Feature Detection - [Modernizr/feature-detects](https://github.com/Modernizr/Modernizr/tree/master/feature-detects), [feature.js](https://github.com/viljamis/feature.js/blob/master/feature.js)
- * Browser/Device/Runtime Detection - see _[Platforms and Languages > Universal Utility Libraries](#universal-utility-libraries) > Parsing / Manipulating_
- * [Graded Browser Support](https://github.com/yui/yui3/wiki/Graded-Browser-Support) - [Grade components, not browsers](https://www.filamentgroup.com/lab/grade-the-components.html)
- * Email
- * [CSS Support Guide for Email Clients](https://www.campaignmonitor.com/css/) / [Email Client CSS Support](https://templates.mailchimp.com/resources/email-client-css-support/)
- * [Email Design Reference](https://templates.mailchimp.com/) + [HTML Email Templates](https://github.com/mailchimp/Email-Blueprints)
-* Node.js
- * Platform Releases
- * [Node.js Release Working Group](https://github.com/nodejs/Release)
-* ECMAScript Support
- * [ECMAScript compatibility table](http://kangax.github.io/compat-table/es6/)
- * [Node.js ES2015+ Support](http://node.green/)
- * Node 10.x LTS - Supports ES modules natively (without `--experimental-modules`)
- * [Node.8.5](https://nodejs.org/en/blog/release/v8.5.0/) - Supports ES modules natively (`.mjs` + `--experimental-modules`)
- * [Node 8.3](https://nodejs.org/en/blog/release/v8.3.0/) - [V8 6.0](https://v8project.blogspot.hk/2017/04/v8-release-59.html), [Ignition + Turbofan launched](https://v8project.blogspot.hk/2017/05/launching-ignition-and-turbofan.html)
- * [Node 8.0 LTS](https://nodejs.org/en/blog/release/v8.0.0/) - [V8 5.8](https://v8project.blogspot.hk/2017/03/v8-release-58.html), [Five New Features You Need To Know](http://codingsans.com/blog/node-8)
- * [Node 7.6](https://nodejs.org/en/blog/release/v7.6.0/) - [V8 5.5](https://v8project.blogspot.hk/2016/10/v8-release-55.html), Async functions
- * [Node 6.0 LTS](https://nodejs.org/en/blog/release/v6.0.0/) - [V8 5.0](https://v8project.blogspot.hk/2016/03/v8-release-50.html), 93% of ES6 language features
- * Performance - [Six Speed](https://kpdecker.github.io/six-speed/)
-* Proposal Status
- * [W3C WG](https://www.w3.org/Consortium/activities#Working) (World Wide Web Consortium Working Groups)
- * [Web Platform Publication Status](https://www.w3.org/WebPlatform/WG/PubStatus)
- * [JavaScript APIs](https://www.w3.org/standards/techs/js), [Mobile Web Applications](https://www.w3.org/standards/techs/mobileapp), [CSS](https://www.w3.org/standards/techs/css)
- * [CSS current work](https://www.w3.org/Style/CSS/current-work)
- * [Current HTML5 Specifications](http://html5-overview.net/current)
- * Inside
- * [W3C TR (Technical Reports)](https://www.w3.org/2014/Process-20140801/#rec-advance)
- * [An Inside View of the CSS Working Group at W3C](http://fantasai.inkedblade.net/weblog/2011/inside-csswg/)
- * [WICG](https://wicg.github.io/admin/charter.html) (Web Incubator Community Group)
- * [Proposals](https://github.com/WICG)
- * [WHATWG](https://whatwg.org/faq) (Web Hypertext Application Technology Working Group)
- * [WHATWG Live Standards](https://spec.whatwg.org/)
- * Inside
- * [W3C vs. WHATWG HTML5 Specs – The Differences Documented](http://developer.telerik.com/featured/w3c-vs-whatwg-html5-specs-differences-documented/)
- * [ECMA TC39](http://ecma-international.org/memento/TC39.htm) (Ecma International Technical Committee 39)
- * [Status, process, and documents for ECMA262](https://github.com/tc39/ecma262)
- * [ECMAScript Proposals](https://github.com/tc39/proposals) / [TC39 Proposals](https://prop-tc39.now.sh/)
- * Inside
- * [The TC39 Process](http://tc39.github.io/process-document/) / [The TC39 process for ECMAScript features](http://2ality.com/2015/11/tc39-process.html)
- * [Node.js TSC](https://github.com/nodejs/TSC) (Node.js Foundation Technical Steering Committee)
- * [Meeting Notes](https://github.com/nodejs/TSC/tree/master/meetings)
- * Inside
- * [How Node.js created a model open source community](https://readwrite.com/2016/04/15/how-node-js-model-open-source-community-pl1/)
- * [Healthy Open Source](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
-* JS Engine
- * [A Guide to JavaScript Engines for Idiots](http://developer.telerik.com/featured/a-guide-to-javascript-engines-for-idiots/)
- * [V8](https://developers.google.com/v8/)
- * [How the V8 engine works?](http://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/)
- * Internal
- * [v8: a tale of two compilers](https://wingolog.org/archives/2011/07/05/v8-a-tale-of-two-compilers), \
+- Web
+ - Platform Status
+ - [Can I Use](http://caniuse.com/)
+ - [Chrome](https://www.chromestatus.com/features), [WebKit](https://webkit.org/status/), [Firefox](https://platform-status.mozilla.org/), [Edge](https://developer.microsoft.com/en-us/microsoft-edge/platform/status/), [TBS (China)](http://x5.tencent.com/tbs/guide/w3c.html)
+ - Platform Releases
+ - [Chrome](https://chromereleases.googleblog.com/), [Safari](https://developer.apple.com/safari/whats-new/) ([Webkit](https://trac.webkit.org/)), [Firefox](https://www.mozilla.org/en-US/firefox/releases/), [Edge](https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/)
+ - Platform Updates
+ - [Mozilla Hacks](https://hacks.mozilla.org/)
+ - [Web Updates](https://developers.google.com/web/updates/), [Chromium Blog](https://blog.chromium.org/)
+ - [Webkit Blog](https://webkit.org/blog/)
+ - [Microsoft Edge Dev Blog](https://developer.microsoft.com/en-us/microsoft-edge/community/)
+ - [Writing forward-compatible websites](https://developer.mozilla.org/en-US/docs/Web/Guide/Writing_forward-compatible_websites)
+ - Polyfill - [What is a Polyfill?](https://remysharp.com/2010/10/08/what-is-a-polyfill)
+ - Feature Detection - [Modernizr/feature-detects](https://github.com/Modernizr/Modernizr/tree/master/feature-detects), [feature.js](https://github.com/viljamis/feature.js/blob/master/feature.js)
+ - Browser/Device/Runtime Detection - see _[Platforms and Languages > Universal Utility Libraries](#universal-utility-libraries) > Parsing / Manipulating_
+ - [Graded Browser Support](https://github.com/yui/yui3/wiki/Graded-Browser-Support) - [Grade components, not browsers](https://www.filamentgroup.com/lab/grade-the-components.html)
+ - Email
+ - [CSS Support Guide for Email Clients](https://www.campaignmonitor.com/css/) / [Email Client CSS Support](https://templates.mailchimp.com/resources/email-client-css-support/)
+ - [Email Design Reference](https://templates.mailchimp.com/) + [HTML Email Templates](https://github.com/mailchimp/Email-Blueprints)
+- Node.js
+ - Platform Releases
+ - [Node.js Release Working Group](https://github.com/nodejs/Release)
+- ECMAScript Support
+ - [ECMAScript compatibility table](http://kangax.github.io/compat-table/es6/)
+ - [Node.js ES2015+ Support](http://node.green/)
+ - Node 10.x LTS - Supports ES modules natively (without `--experimental-modules`)
+ - [Node.8.5](https://nodejs.org/en/blog/release/v8.5.0/) - Supports ES modules natively (`.mjs` + `--experimental-modules`)
+ - [Node 8.3](https://nodejs.org/en/blog/release/v8.3.0/) - [V8 6.0](https://v8project.blogspot.hk/2017/04/v8-release-59.html), [Ignition + Turbofan launched](https://v8project.blogspot.hk/2017/05/launching-ignition-and-turbofan.html)
+ - [Node 8.0 LTS](https://nodejs.org/en/blog/release/v8.0.0/) - [V8 5.8](https://v8project.blogspot.hk/2017/03/v8-release-58.html), [Five New Features You Need To Know](http://codingsans.com/blog/node-8)
+ - [Node 7.6](https://nodejs.org/en/blog/release/v7.6.0/) - [V8 5.5](https://v8project.blogspot.hk/2016/10/v8-release-55.html), Async functions
+ - [Node 6.0 LTS](https://nodejs.org/en/blog/release/v6.0.0/) - [V8 5.0](https://v8project.blogspot.hk/2016/03/v8-release-50.html), 93% of ES6 language features
+ - Performance - [Six Speed](https://kpdecker.github.io/six-speed/)
+- Proposal Status
+ - [W3C WG](https://www.w3.org/Consortium/activities#Working) (World Wide Web Consortium Working Groups)
+ - [Web Platform Publication Status](https://www.w3.org/WebPlatform/WG/PubStatus)
+ - [JavaScript APIs](https://www.w3.org/standards/techs/js), [Mobile Web Applications](https://www.w3.org/standards/techs/mobileapp), [CSS](https://www.w3.org/standards/techs/css)
+ - [CSS current work](https://www.w3.org/Style/CSS/current-work)
+ - [Current HTML5 Specifications](http://html5-overview.net/current)
+ - Inside
+ - [W3C TR (Technical Reports)](https://www.w3.org/2014/Process-20140801/#rec-advance)
+ - [An Inside View of the CSS Working Group at W3C](http://fantasai.inkedblade.net/weblog/2011/inside-csswg/)
+ - [WICG](https://wicg.github.io/admin/charter.html) (Web Incubator Community Group)
+ - [Proposals](https://github.com/WICG)
+ - [WHATWG](https://whatwg.org/faq) (Web Hypertext Application Technology Working Group)
+ - [WHATWG Live Standards](https://spec.whatwg.org/)
+ - Inside
+ - [W3C vs. WHATWG HTML5 Specs – The Differences Documented](http://developer.telerik.com/featured/w3c-vs-whatwg-html5-specs-differences-documented/)
+ - [ECMA TC39](http://ecma-international.org/memento/TC39.htm) (Ecma International Technical Committee 39)
+ - [Status, process, and documents for ECMA262](https://github.com/tc39/ecma262)
+ - [ECMAScript Proposals](https://github.com/tc39/proposals) / [TC39 Proposals](https://prop-tc39.now.sh/)
+ - Inside
+ - [The TC39 Process](http://tc39.github.io/process-document/) / [The TC39 process for ECMAScript features](http://2ality.com/2015/11/tc39-process.html)
+ - [Node.js TSC](https://github.com/nodejs/TSC) (Node.js Foundation Technical Steering Committee)
+ - [Meeting Notes](https://github.com/nodejs/TSC/tree/master/meetings)
+ - Inside
+ - [How Node.js created a model open source community](https://readwrite.com/2016/04/15/how-node-js-model-open-source-community-pl1/)
+ - [Healthy Open Source](https://medium.com/the-node-js-collection/healthy-open-source-967fa8be7951)
+- JS Engine
+ - [A Guide to JavaScript Engines for Idiots](http://developer.telerik.com/featured/a-guide-to-javascript-engines-for-idiots/)
+ - [V8](https://developers.google.com/v8/)
+ - [How the V8 engine works?](http://thibaultlaurens.github.io/javascript/2013/04/29/how-the-v8-engine-works/)
+ - Internal
+ - [v8: a tale of two compilers](https://wingolog.org/archives/2011/07/05/v8-a-tale-of-two-compilers), \
[A tour of V8: full compiler](http://jayconrod.com/posts/51/a-tour-of-v8-full-compiler)
- * [A tour of V8: Garbage Collection](http://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection)
- * Next Generation
- * [Ignition + TurboFan launch and Declarative JavaScript](http://benediktmeurer.de/2017/04/03/v8-behind-the-scenes-march-edition/)
- * [Launching Ignition and TurboFan](https://v8project.blogspot.hk/2017/05/launching-ignition-and-turbofan.html)
- * [A tale of TurboFan](http://benediktmeurer.de/2017/03/01/v8-behind-the-scenes-february-edition/)
- * [Ignition + TurboFan and ES2015](http://benediktmeurer.de/2016/11/25/v8-behind-the-scenes-november-edition/)
- * [JSC](https://trac.webkit.org/wiki/JavaScriptCore)
- * [JavaScriptCore, the WebKit JS implementation](https://wingolog.org/archives/2011/10/28/javascriptcore-the-webkit-js-implementation)
- * Internal
- * [Introducing the WebKit FTL JIT](https://webkit.org/blog/3362/introducing-the-webkit-ftl-jit/)
- * Next Generation
- * [JSC Love ES6](https://webkit.org/blog/7536/jsc-loves-es6/)
- * [Introducing the B3 JIT Compiler](https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/)
- * [Chakra](https://github.com/Microsoft/ChakraCore)
- * [Microsoft Edge’s JavaScript engine to go open-source](https://blogs.windows.com/msedgedev/2015/12/05/open-source-chakra-core/)
- * [Architecture Overview](https://github.com/Microsoft/ChakraCore/wiki/Architecture-Overview)
- * [Node-ChakraCore and VM Neutrality in Node.js](https://blogs.windows.com/msedgedev/2016/11/29/node-chakracore-vm-neutrality/)
- * Internal
- * JavaScript performance updates - [2015](https://blogs.windows.com/msedgedev/2015/05/20/delivering-fast-javascript-performance-in-microsoft-edge), [2016](https://blogs.windows.com/msedgedev/2016/06/22/javascript-performance-updates-anniversary-update/), [2017](https://blogs.windows.com/msedgedev/2017/04/20/improved-javascript-performance-webassembly-shared-memory/)
- * Next Generation
- * [Roadmap](https://github.com/Microsoft/ChakraCore/wiki/Roadmap)
- * [SpiderMonkey](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey)
- * [The monkeys in 2013](https://blog.mozilla.org/javascript/2014/01/23/the-monkeys-in-2013/)
- * Benchmarks
- * [The truth about traditional JavaScript benchmarks](http://benediktmeurer.de/2016/12/16/the-truth-about-traditional-javascript-benchmarks/)
- * [Browser Benchmarks](http://browserbench.org/)
-* Web Runtime / JS Runtime
- * [Electron](https://electron.atom.io/)
- * Tutorials - [Essential Electron](http://jlord.us/essential-electron/)
- * [Cordova](https://cordova.apache.org/)
- * [Platform Support](https://cordova.apache.org/docs/en/latest/guide/support/index.html)
- * [Top Mistakes by Developers new to Cordova/Phonegap](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md)
- * Curated Plugins - [Awesome Cordova Plugins](https://github.com/rdn87/awesome-cordova-plugins#list-plugins)
- * Finding Plugins - [plugreg](http://www.plugreg.com/) / [Plugin Search](https://cordova.apache.org/plugins/)
- * [React Native](http://facebook.github.io/react-native/) / [NativeScript](https://www.nativescript.org/) / [Weex](https://weex-project.io/)
- * [React Native Styling Cheat Sheet](https://github.com/vhpoet/react-native-styling-cheat-sheet)
- * [Bridging in React Native - An in-depth look into React Native's core](https://tadeuzagallo.com/blog/react-native-bridge/)
- * Tutorials - [React Native Express](http://www.reactnativeexpress.com/), [React Native Workshop](https://rangle-io.gitbooks.io/react-native-workshop/), [React Native Training](https://unbug.gitbooks.io/react-native-training/content/)
- * Examples - [30 Days of React Native](https://github.com/fangwei716/30-days-of-react-native)
-* Device
- * [The Ultimate Guide To iPhone Resolutions](https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions)
- * [Device Metrics](https://material.io/devices/) / [Screen Sizes](http://screensiz.es/monitor)
+ - [A tour of V8: Garbage Collection](http://jayconrod.com/posts/55/a-tour-of-v8-garbage-collection)
+ - Next Generation
+ - [Ignition + TurboFan launch and Declarative JavaScript](http://benediktmeurer.de/2017/04/03/v8-behind-the-scenes-march-edition/)
+ - [Launching Ignition and TurboFan](https://v8project.blogspot.hk/2017/05/launching-ignition-and-turbofan.html)
+ - [A tale of TurboFan](http://benediktmeurer.de/2017/03/01/v8-behind-the-scenes-february-edition/)
+ - [Ignition + TurboFan and ES2015](http://benediktmeurer.de/2016/11/25/v8-behind-the-scenes-november-edition/)
+ - [JSC](https://trac.webkit.org/wiki/JavaScriptCore)
+ - [JavaScriptCore, the WebKit JS implementation](https://wingolog.org/archives/2011/10/28/javascriptcore-the-webkit-js-implementation)
+ - Internal
+ - [Introducing the WebKit FTL JIT](https://webkit.org/blog/3362/introducing-the-webkit-ftl-jit/)
+ - Next Generation
+ - [JSC Love ES6](https://webkit.org/blog/7536/jsc-loves-es6/)
+ - [Introducing the B3 JIT Compiler](https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/)
+ - [Chakra](https://github.com/Microsoft/ChakraCore)
+ - [Microsoft Edge’s JavaScript engine to go open-source](https://blogs.windows.com/msedgedev/2015/12/05/open-source-chakra-core/)
+ - [Architecture Overview](https://github.com/Microsoft/ChakraCore/wiki/Architecture-Overview)
+ - [Node-ChakraCore and VM Neutrality in Node.js](https://blogs.windows.com/msedgedev/2016/11/29/node-chakracore-vm-neutrality/)
+ - Internal
+ - JavaScript performance updates - [2015](https://blogs.windows.com/msedgedev/2015/05/20/delivering-fast-javascript-performance-in-microsoft-edge), [2016](https://blogs.windows.com/msedgedev/2016/06/22/javascript-performance-updates-anniversary-update/), [2017](https://blogs.windows.com/msedgedev/2017/04/20/improved-javascript-performance-webassembly-shared-memory/)
+ - Next Generation
+ - [Roadmap](https://github.com/Microsoft/ChakraCore/wiki/Roadmap)
+ - [SpiderMonkey](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey)
+ - [The monkeys in 2013](https://blog.mozilla.org/javascript/2014/01/23/the-monkeys-in-2013/)
+ - Benchmarks
+ - [The truth about traditional JavaScript benchmarks](http://benediktmeurer.de/2016/12/16/the-truth-about-traditional-javascript-benchmarks/)
+ - [Browser Benchmarks](http://browserbench.org/)
+- Web Runtime / JS Runtime
+ - [Electron](https://electron.atom.io/)
+ - Tutorials - [Essential Electron](http://jlord.us/essential-electron/)
+ - [Cordova](https://cordova.apache.org/)
+ - [Platform Support](https://cordova.apache.org/docs/en/latest/guide/support/index.html)
+ - [Top Mistakes by Developers new to Cordova/Phonegap](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md)
+ - Curated Plugins - [Awesome Cordova Plugins](https://github.com/rdn87/awesome-cordova-plugins#list-plugins)
+ - Finding Plugins - [plugreg](http://www.plugreg.com/) / [Plugin Search](https://cordova.apache.org/plugins/)
+ - [React Native](http://facebook.github.io/react-native/) / [NativeScript](https://www.nativescript.org/) / [Weex](https://weex-project.io/)
+ - [React Native Styling Cheat Sheet](https://github.com/vhpoet/react-native-styling-cheat-sheet)
+ - [Bridging in React Native - An in-depth look into React Native's core](https://tadeuzagallo.com/blog/react-native-bridge/)
+ - Tutorials - [React Native Express](http://www.reactnativeexpress.com/), [React Native Workshop](https://rangle-io.gitbooks.io/react-native-workshop/), [React Native Training](https://unbug.gitbooks.io/react-native-training/content/)
+ - Examples - [30 Days of React Native](https://github.com/fangwei716/30-days-of-react-native)
+- Device
+ - [The Ultimate Guide To iPhone Resolutions](https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions)
+ - [Device Metrics](https://material.io/devices/) / [Screen Sizes](http://screensiz.es/monitor)
\>\> Return to [Table of Contents](#table-of-contents)
### Cross-browser / Polyfill Libraries
-* Appearance
- * Responsive Web Design
- * Media Queries - [Enquire.js](https://www.npmjs.com/package/enquire.js)
- * Responsive Image - [Picturefill](https://www.npmjs.com/package/picturefill)
- * [Viewport Units Buggyfill](https://www.npmjs.com/package/viewport-units-buggyfill)
- * Web Typography
- * `@font-face` - [Font Face Observer](https://www.npmjs.com/package/fontfaceobserver)
- * Web Animation API
- * [Web Animations Polyfill](https://www.npmjs.com/package/web-animations-js)
- * Web Components
- * [webcomponents.js (v1 spec polyfills)](https://github.com/webcomponents/webcomponentsjs) / [Polymer](https://www.polymer-project.org/)
-* Interaction
- * Keyboard - [Mousetrap](https://craig.is/killing/mice)
- * `scroll-behavior: smooth;` - [Smoothscroll Polyfill](https://www.npmjs.com/package/smoothscroll-polyfill)
- * PointerEvent - [PEP](https://www.npmjs.com/package/pepjs) / [React Pointable](https://www.npmjs.com/package/react-pointable)
- * [ResizeObserver Polyfill](https://github.com/que-etc/resize-observer-polyfill)
-* Access
- * Web Notifications API - [Push.js](https://www.npmjs.com/package/push.js) / [Notify.js](https://www.npmjs.com/package/notifyjs)
- * Clipboard API - [Clipboard.js](https://www.npmjs.com/package/clipboard) / [copy-to-clipboard](https://www.npmjs.com/package/copy-to-clipboard)
- * Fullscreen API - [Screenfull](https://www.npmjs.com/package/screenfull)
- * Page Visibility API - [Visibility.js](https://www.npmjs.com/package/visibilityjs)
- * `