Skip to content

Web Development

Kanit Wongsuphasawat edited this page May 30, 2016 · 6 revisions

Highly recommended topics are bolded.

HTML, CSS

Javascript

  • Fundamental JavaScript Concepts

  • Debugging:

    • Learn to use the Chrome Inspector (or Firebug if you’re a firefox fan.)

      • Learn useful short keys – the basic one is cmd+shift+I for opening inspector. Then you can learn more by clicking the gear button on the bottom right and see the shortcuts tab
      • Learn to use breakpoint to debug.
    • For unit testing, learn how to connect Visual Studio Code to unit testing tools (e.g., connect Mocha to VSCode).

    • Use a linter to avoid syntactic bugs such as JSHint. (gjslint, jslint are the other two alternatives.)

  • To write modular code, consider WebPack or Browserify (or AMD and requirejs).

  • More Style Guides

  • Useful Library

    • Lodash, a utility library, is helpful for writing javascript with functional programming paradigm. However, sometimes d3 helpers are enough. (Note: Lodash is an arguably better fork of underscore)
    • Bacon.js - functional reactive programming library
    • Need an in-memory database for your vis prototype? - try datavore or crossfilter
  • Syntax alternatives: TypeScript, CoffeeScript

    • TypeScript is worth considering especially for larger projects since you can leverage static analysis of types to avoid more bugs.
  • Build tools - a few options:

  • Javascript Frameworks - here are a few popular ones:

    • Backbone.js - Simple MVC Backbone
    • Angular.js - better but takes more time to learn (say 1-2 weeks to really understand concepts)
      • Start with egghead.io and thinkster.io.
      • Angular's official document is a pain. When you look at it, make sure to look at comments so you learn from others' confusion. Hopefully the community is big, so it should get better overtime though.
      • Use yeoman
      • Useful stuff from mg-newsletter
      • Make sure to have AngularJS Batarang in Chrome so you can debug scope.
    • React.js

Editor

  • Beginner? Start with:
    • Visual Studio Code
    • Sublime Text with Emmet and SublimeLinter/JSHint
    • Atom (We do not recommend Atom as it's often too slow for larger projects.)
  • Like IDE and willing to pay? Webstorm is a good option.
  • Dash for quick documentation look up.

Resources

Clone this wiki locally