Web Development Workflow: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
Zeile 31: Zeile 31:
 
** Test in Chrome
 
** Test in Chrome
 
*** Emulate touches, override device metrics
 
*** Emulate touches, override device metrics
** Emulators & Browserstack
+
** Emulators & [http://www.browserstack.com/ Browserstack]
 
** Real device & Adobe Shadow
 
** Real device & Adobe Shadow
 
** Chrome on Android w/ DevTools
 
** Chrome on Android w/ DevTools
 +
 
=== Testing ===
 
=== Testing ===
 
** Jasmin, QUnit or Mocha
 
** Jasmin, QUnit or Mocha

Version vom 12. Juni 2013, 20:22 Uhr

Javascript Development Workflow of 2013

Video: Javascript Development Workflow of 2013 by Paul Irish (PDF)

Shell

Editor

    • learn it well, most important
    • Code linting is your first unit test.
  • Realtime Feedback
    • live linting
    • live recompilation
    • live reload

Javascript

    • Modules / Dependency management
      • AMD modules
      • CommonJS modules
      • ECMAScript Harmony modules
      • Minispade require (ember.js example)
    • Tricks:
      • Template precompilation - into functions in a build step and ship the compiled templates.
      • Custom build output based on build-time forks. (require.js optimizier)
      • More module magic from Alex Sexton (MVC MODULE MAGIC)
  • Package Management - cooming soon.
  • In-Browser Devtools
  • Mobile
    • Test in Chrome
      • Emulate touches, override device metrics
    • Emulators & Browserstack
    • Real device & Adobe Shadow
    • Chrome on Android w/ DevTools

Testing

    • Jasmin, QUnit or Mocha
    • Execute tests in a variety of settings:
      • In the Browser
      • In a headless browser on-demand via cmd line
      • In a headless browser post-push. Continuous Integration
      • In multiple browsers via cmd line
      • In multiple browsers in the cloud via cmd line (e.g. with BrowserStack)
        • bunyip -f test/index.html -b ios

Build System

  • Use Grunt!
  • Resolve your dependency chain
  • concatenate
  • compile
  • flatten your CSS @imports
  • Remove debugging statements
  • Compress images
  • Precompile templates
  • Run tests in a variety of environments
  • Revs asset paths for caching
  • Affirm code quality

After Deployment

Client-Side Error Tracking

Projects to check out

  • Grunt
  • LiveReload
  • Shadow
  • CodeKit
  • Brunch - recompiler
  • WebStorm - unit testing, ...

Principles

  • DRY - Don't Repeat Yourself
    • don't type ./build.sh everytime you save a file
    • don't ftp everytime up you update the site's release branch.
  • Learn from other developers.
  • Share what you've learned.

Others