3. 3
An attempt to organise the recent
explosion of Javascript based
technologies and frameworks into a
coherent toolkit to be used by a web
application developer.
4. 4
What is the reason of the recent
explosion of Javascript libraries and
frameworks?
5. MANIFESTO FOR AGILE SOFTWARE
DEVELOPMENT
5
Individuals and interactions over processes
and tools
Working software over comprehensive
documentation.
Customer collaboration over contract
negotiation.
Responding to change over following a plan.
27. DYNAMIC LOADING
27
Big projects are split among several
pieces of javascript for the sake of the
modularisation. No all of them should
be loaded at the same time.
30. OTHER LANGUAGES
30
Have a syntactic sugar element, or
even completely different syntax (that
in the end turns into javascript to run
in the browser).
49. For questions or suggestions:
Tania Gonzales
@taniadgv
tgonzales@thoughtworks.com
THANK YOU
Notes de l'éditeur
Run a sustainable business
Champion software excellence and revolutionize the IT industry
Advocate passionately for social and economic justice.
Agile adoption
Where did it start? why do we need many tools for build, integration?
Agile adoption as best process for software development
Users, priorities, scope, time
Resolve to problem
Agile is more linked to process - > iterations, story planning, stand ups, retro
Adopt ->Feel strongly that the industry should adopt
Trial -> Worth pursuing , try in project can handle the risk.
Assess -> Worth exploring, how it will affect the enterprise
Hold -> Procede with caution
Why it didn’t have the explosion many years ago when agile did?
Node gave javascript the ability to be used in process like build, validate, compile, execute
No more the browser language
First class citizen
Users, priorities, scope, time
Resolve to problem
Agile is more linked to process - > iterations, story planning, stand ups, retro
generators
Minify, treat images, compile css, concatenation
Grunt -> Plugins are based on configuration via a Javascript object, no code logic
Gulp -> relies on code logic based on pipelines
brocoli -> tree based approach, every step makes use of cache
Community and plugins
Uglify -> JavaScript parser / mangler / compressor / beautifier library for NodeJS
JShint is a fork of JSLint,
jshint -> community-driven
npm -> management for node libraries, things that are going to stay on the server … npm for developer tools,
bower -> for front-end
Bower is optimized for the front-end. Bower uses a flat dependency tree, requiring only one version for each package, reducing page load to a minimum.
component -> does everything from package management to building, Component uses GitHub as a registry
Sauce Labs:
Automated testing in the cloud for CI.