Web Development Workflow: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
Zeile 64: Zeile 64:
  
 
=== Testing ===
 
=== Testing ===
** Jasmin, QUnit or Mocha
+
* Jasmin, QUnit or Mocha
** Execute tests in a variety of settings:
+
* Execute tests in a variety of settings:
*** In the Browser
+
** In the Browser
**** [http://devtoolsecrets.com/  Secrets of the Browser Developer Tools]
+
*** [http://devtoolsecrets.com/  Secrets of the Browser Developer Tools]
**** [https://developers.google.com/chrome-developer-tools/docs/authoring-development-workflow Chrome DevTools - Authoring & development workflow]
+
*** [https://developers.google.com/chrome-developer-tools/docs/authoring-development-workflow Chrome DevTools - Authoring & development workflow]
*** In a headless browser on-demand via cmd line
+
** In a headless browser on-demand via cmd line
*** In a headless browser post-push. Continuous Integration
+
** In a headless browser post-push. Continuous Integration
**** https://travis-ci.org/ - on every commit - test.
+
*** https://travis-ci.org/ - on every commit - test.
*** In multiple browsers via cmd line
+
** In multiple browsers via cmd line
**** [https://github.com/ryanseddon/bunyip bunyip] -f test/index.html
+
*** [https://github.com/ryanseddon/bunyip bunyip] -f test/index.html
*** In multiple browsers ''in the cloud'' via cmd line (e.g. with BrowserStack)
+
** In multiple browsers ''in the cloud'' via cmd line (e.g. with BrowserStack)
**** [https://github.com/ryanseddon/bunyip bunyip] -f test/index.html -b ios
+
*** [https://github.com/ryanseddon/bunyip bunyip] -f test/index.html -b ios
 +
* http://opendevicelab.com/
  
 
=== Build System ===
 
=== Build System ===

Version vom 2. Juli 2013, 22:20 Uhr

Overview of Tools

Design Workflow

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

HTML

CSS

Icons

Images

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

Build System

Grunt

Others

  • Resolve your dependency chain
  • concatenate
  • compile
  • flatten your CSS @imports
  • Minify
  • Beautify Javascript:
  • 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

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.

IDEs

Others

Stay Up to Date