Skip to content

Instantly share code, notes, and snippets.

@chrisbuttery
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrisbuttery/f3a75478fa81950df39f to your computer and use it in GitHub Desktop.
Save chrisbuttery/f3a75478fa81950df39f to your computer and use it in GitHub Desktop.
JavaScript Resources

##Sites

JS the right way
Links to tools, readings, podcast, frameworks, news etc

You might not need jQuery
A transition from jQuery to vanilla JS

JavaScript for cats
Entry level JS

A dive into plain JavaScript
Entry level JS

A re-introduction to JavaScript
Entry level JS

JavaScript Garden
About the quirky parts of JavaScript

JavaScript is Sexy
Intermediate guides to JS

DailyJS
JS news daily

##Books

JavaScript Allonge
An in depth exploration of JS (Intermediate)

JavaScript the good parts
JavaScript quirks explained. (Intermediate)

Effective JavaScript
An in depth exploration of JS (Intermediate)

Eloquent JavaScript
The best beginner JS book (Beginner)

Learning Node.js
I haven’t read this as yet - but it comes recommended by weblebrities (Beginner)

Node.js The Right Way
Written with the latest version of node in mind (currently 0.12.x) a good introduction to whats possible with node (Beginner/Intermediate)

Practical Node.js
A good intro into using Node.js with Express to build scalable web apps.

Express Web Application Development
A comprehensive guide to using Express

The Past, Present and Future of JavaScript
A comprehensive look at what lies ahead for JS (2012)

##Courses

Learn node.js by example
Entry level Node

nodeschool.io
Excellent JS and node courses at you’re own pace

##Style Guides

Principles of writing idiomatic JavaScript
An in depth guide to actually writing JS

Airbnb JavaScript style guide

Node.js style guide

##Podcasts

JavaScript Jabber

NodeUp

##Email Subscriptions

A drip of JavaScript
A tiny JS tip emailed once every few weeks

JavaScript Weekly
An email sent weekly of newly aggregated JS news

##ES6 Resources

ES6 Learning
A serious tonne of ES6 resources

ES6 tools
Another serious tonne of ES6 resources

##JavaScript Build Tools

Browserify
Browserify is a build tool that allows you to write requirable node-flavoured commonJS modules for the browser. It relies on NPM as it's package manager. Browserify initially just works with JS, however can be extended to provide CSS, ES6, JSX and a zillion other transforms through and extensive list of plugins. Browserify bundles everything to a single JS file.

Browserify Handbook
An in depth look at creating commonJS modules, how to import/export them and what build tools like Browserify do to them.

Other Browserify articles
On getting started with and about Browserify.

Duo
Using the best bits Browserify, Component and Go - Duo is a JS + CSS package manager and frontend build tool. Duo uses Github as it's registry and works with Component and Bower packages, but not standalone NPM packages (unless they also have a component.json and or bower.json). Duo bundles it's JS and CSS to separate output files (along with and referenced static assets).
Duo works with commonJS module system.

Component
Component is another package manager and build tool utilising Github as it's package registry. Built out of realisation that a frontend package manager was more than JavaScript - Component allowed you to install CSS and JS packages from Github. Component bundles it's JS and CSS to separate output files (along with and referenced static assets).
Component works with commonJS module system and is now superseded by Duo.

Webpack
Webpack works with both AMD and the commonJS module system. Webpack does a bit of everything. It can be configured to work with many environments including node and handles CSS, JS and static assets. Often thought as a good alternative for larger projects it offers the simplicity of bundling your output for specific views (still achievable in Browserify) amongst an plethora of other features

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment