SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
THE JAVASCRIPT
TOOLKIT
An attempt to organize the recent explosion of Javascript based technologies and
frameworks into a coherent toolkit to be used by a web application developer.
1
Marcos Vinicius @bymarkone
Renan Martins @renan89
THE IDEA OF THE TOOLKIT
2
The Idea
Of A Toolkit
An attempt to organize the recent
explosion of Javascript based
technologies and frameworks into a
coherent toolkit to be used by a web
application developer.
purpose:
4
AGILE PURPOSE FOR DELIVERY
5
Deliver Fast
Deliver Often
Deliver Value
AGILE CHANGES IN PROCESS
6
Iterations
User Stores
Planning
Stand Ups
Retrospectives
Inception
Scrum - Lean -
XP Kanban
Team
Communication
…
TECHNICAL SUPPORT FOR AGILE
7
Continuous Delivery
Continuous Integration
Evolutionary Architecture
Evolutive Design
TDD
Lot’s of Automation
Programming Languages
Design Patterns
…
AGILE - TOOLKIT
8
Gradle, Maven, Ant, Ivy
jUnit, TestNG,
Cucumber
Design, Analysis,
Architecture Patterns
Jenkins, GO,
Snap, Bamboo
Java, Ruby, Scala,
Python, Clojure,
Racket, Javascript
www.thoughtworks.com/radar/
9
And
Javascript?
10
The great enabler…
https://github.com/bymarkone/
javascript-toolkit
11
NEED MOTIVATION TOOLS
Scaffold
Several tools. Several ways. Several Practices. Need to organize,
and give some good foundation - best practices, good design. yeoman
Build / Automation Lots of tasks to execute. Compile. Test. Minify. Concat. Etc. grunt, gulp, broccoli
Dependency
Management
Applications are getting complex. They rely on several other
libraries and frameworks. bower, component, NPM
Dynamic Loading
Big projects are split among several pieces of js for the sake of
modularization. No all of them should be loaded at the same time.
require, curl, broserify,
webpack
Testing
Testing is all around. Need to tests on different browsers, need to
write the tests, need to run the tests, need to report test results.
karma, jasmine, phatom, mocha, qunit,
protractor, sinon, sourcelabs, duck angular
Application
Applications on web are getting complex, need for
frameworks that support app development.
angular, backbone, ember,
knockout
Dom Utilities
DOM selection and maniputation, some auxiliary functions,
need for utilities that make work simple (and cross-
browser)
jquey, zepto
Language Utilities
Clean code, functional programming style, reactive
programming features, helpers and utilities
lodash, underscore, promise,
fn, q
CI
Continuous integration, continuous delivery, continuous
deployment
travis-ci, jenkins, concrete,
semaphore, go, snap
Other Languages
Have a syntactic sugar element, or even completely different syntax
(that in the end turn into javascript to run in the browser)
coffeescript, clojurescript,
typescript
Other Javascript ??
concat, minify, uglify, lint, jshint, watch,
page, director, crossroads, moment.js
12
13
WHAT TOOLS
CSS Preprocessors sass, less
Preprocessors Libs compass, bourbon
CSS Helpers
susy, zenGrids, neat, normalize,
modernizr, flexbox
CSS Frameworks boostrap, foundation, skeleton
Let’s talk about this needs,
And take a look at some tools
14
SCAFFOLD
15
Several tools. Several ways.
Several Practices. Need to
organize, and give some good
foundation - best practices,
good design.
16
BUILD - AUTOMATION
17
Lots of tasks to execute. Compile. Test.
Minify. Concat. Uglify. Etc.
18
github.com/broccolijs/broccoli
DEPENDENCY MANAGEMENT
19
Applications are getting complex. They
rely on several other libraries and
frameworks.
20
DYNAMIC LOADING
21
Big projects are split among several
pieces of javascript for the sake of
modularisation. No all of them should
be loaded at the same time.
22
github.com/cujojs/curl
github.com/webpack/webpack
TESTING
23
Testing is all around. Need to tests on
different browsers, need to write the
tests, need to run the tests, need to
report test results.
24
mocha, qunit, protractor, sinon, saucelabs, duck angular
APPLICATION
25
Applications on web are getting
complex, need for frameworks that
support app development.
26
DOM UTILITIES
27
DOM selection and manipulation, some
auxiliary functions, need for utilities that
make work simple (and cross-browser)
28
LANGUAGE UTILITIES
29
Clean code, functional programming
style, reactive programming features,
helpers and utilities
30
31
lodash.com
github.com/kriskowal/q
CI
32
Continuous integration, continuous
delivery, continuous deployment
33
github.com/ryankee/concrete
OTHER LANGUAGES
34
Have a syntactic sugar element, or even
completely different syntax (that in the
end turn into javascript to run in the
browser)
35
github.com/clojure/clojurescript
OTHER JAVASCRIPT
36
Several tools. Several ways. Several
Practices. Need to organize, and give
some good foundation - best practices,
good design.
37
minify-tools
concat-tools
WRAP UP
38
Difference Needs|Tools and
their relation
Agile demands for you as
a developer
Keep your mind open
For questions or suggestions:
!
Marcos Vinicius
@bymarkone
github.com/bymarkone
!
Renan Martins
@renan89
THANK YOU

Contenu connexe

Tendances

Coldfusion
ColdfusionColdfusion
Coldfusion
Ram
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
jbandi
 

Tendances (19)

Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Vim 讓你寫 Ruby 的速度飛起來
Vim 讓你寫 Ruby 的速度飛起來Vim 讓你寫 Ruby 的速度飛起來
Vim 讓你寫 Ruby 的速度飛起來
 
Coldfusion
ColdfusionColdfusion
Coldfusion
 
Up to speed in domain driven design
Up to speed in domain driven designUp to speed in domain driven design
Up to speed in domain driven design
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Application Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience CourseApplication Development Using Java - DIYComputerScience Course
Application Development Using Java - DIYComputerScience Course
 
[JS EXPERIENCE 2018] Os segredos dos pricipais frameworks JS: Vanilla.js - Ig...
[JS EXPERIENCE 2018] Os segredos dos pricipais frameworks JS: Vanilla.js - Ig...[JS EXPERIENCE 2018] Os segredos dos pricipais frameworks JS: Vanilla.js - Ig...
[JS EXPERIENCE 2018] Os segredos dos pricipais frameworks JS: Vanilla.js - Ig...
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
 
React Native
React NativeReact Native
React Native
 
Hack your carrer : teach yourself coding
Hack your carrer : teach yourself codingHack your carrer : teach yourself coding
Hack your carrer : teach yourself coding
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
Frontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed ComparisonFrontend Development vs Backend Development | Detailed Comparison
Frontend Development vs Backend Development | Detailed Comparison
 
Functional javascript
Functional javascriptFunctional javascript
Functional javascript
 
TDD with BDD in PHP and Symfony
TDD with BDD in PHP and SymfonyTDD with BDD in PHP and Symfony
TDD with BDD in PHP and Symfony
 
Behavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning RORBehavior Driven Education: A Story of Learning ROR
Behavior Driven Education: A Story of Learning ROR
 
2009 Eclipse Con
2009 Eclipse Con2009 Eclipse Con
2009 Eclipse Con
 
Ampersand Commerce Graduate Schemes 2013
Ampersand Commerce Graduate Schemes 2013Ampersand Commerce Graduate Schemes 2013
Ampersand Commerce Graduate Schemes 2013
 
From Objective-C to Swift
From Objective-C to SwiftFrom Objective-C to Swift
From Objective-C to Swift
 
From Monkey Coders To Smart Gorillas - Web Summit 2014
From Monkey Coders To Smart Gorillas - Web Summit 2014From Monkey Coders To Smart Gorillas - Web Summit 2014
From Monkey Coders To Smart Gorillas - Web Summit 2014
 

En vedette

Software Kaizen, por Gabriela Guerra e Luiza Souza
Software Kaizen, por Gabriela Guerra e Luiza SouzaSoftware Kaizen, por Gabriela Guerra e Luiza Souza
Software Kaizen, por Gabriela Guerra e Luiza Souza
Thoughtworks
 
Protractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to endProtractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to end
Daniel Amorim
 

En vedette (6)

Voto-Como-Vamos, por Carlos Vilella, Gabriela Guerra e Nelice Heck
Voto-Como-Vamos, por Carlos Vilella, Gabriela Guerra e Nelice HeckVoto-Como-Vamos, por Carlos Vilella, Gabriela Guerra e Nelice Heck
Voto-Como-Vamos, por Carlos Vilella, Gabriela Guerra e Nelice Heck
 
Seja Tester Ágil
Seja Tester ÁgilSeja Tester Ágil
Seja Tester Ágil
 
What if-your-application-could-speak, by Marcos Silveira
What if-your-application-could-speak, by Marcos SilveiraWhat if-your-application-could-speak, by Marcos Silveira
What if-your-application-could-speak, by Marcos Silveira
 
Software Kaizen, por Gabriela Guerra e Luiza Souza
Software Kaizen, por Gabriela Guerra e Luiza SouzaSoftware Kaizen, por Gabriela Guerra e Luiza Souza
Software Kaizen, por Gabriela Guerra e Luiza Souza
 
Projeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.SProjeto de API, por Gilmar P.S
Projeto de API, por Gilmar P.S
 
Protractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to endProtractor - Testando aplicações AngularJS end to end
Protractor - Testando aplicações AngularJS end to end
 

Similaire à Javascript toolkit

GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015
George Nicol
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
Alex Zeng
 
Prudential Insurance Exp
Prudential Insurance ExpPrudential Insurance Exp
Prudential Insurance Exp
Ankit Chohan
 
AbhishekMalik_CV_30Dec2018
AbhishekMalik_CV_30Dec2018AbhishekMalik_CV_30Dec2018
AbhishekMalik_CV_30Dec2018
Abhishek Malik
 
AbhishekMalik_CV_08jan2019
AbhishekMalik_CV_08jan2019AbhishekMalik_CV_08jan2019
AbhishekMalik_CV_08jan2019
Abhishek Malik
 
Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019
Abhishek Malik
 

Similaire à Javascript toolkit (20)

The Javascript Toolkit 2.0
The Javascript Toolkit 2.0The Javascript Toolkit 2.0
The Javascript Toolkit 2.0
 
GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015
 
Javascript Toolkit
Javascript ToolkitJavascript Toolkit
Javascript Toolkit
 
Introduction about Full stack Development
Introduction about Full stack DevelopmentIntroduction about Full stack Development
Introduction about Full stack Development
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
 
@@@Resume2016 11 11_v001
@@@Resume2016 11 11_v001@@@Resume2016 11 11_v001
@@@Resume2016 11 11_v001
 
Serguei_Kouzmine_Resume
Serguei_Kouzmine_ResumeSerguei_Kouzmine_Resume
Serguei_Kouzmine_Resume
 
Neeraja ganesh fs-v1
Neeraja ganesh fs-v1Neeraja ganesh fs-v1
Neeraja ganesh fs-v1
 
Javascript toolkit-2.0
Javascript toolkit-2.0Javascript toolkit-2.0
Javascript toolkit-2.0
 
Daniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého SchizmaDaniel Steigerwald - Este.js - konec velkého Schizma
Daniel Steigerwald - Este.js - konec velkého Schizma
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails Presentation
 
Prudential Insurance Exp
Prudential Insurance ExpPrudential Insurance Exp
Prudential Insurance Exp
 
Apcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
 
AbhishekMalik_CV_30Dec2018
AbhishekMalik_CV_30Dec2018AbhishekMalik_CV_30Dec2018
AbhishekMalik_CV_30Dec2018
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
История одного успешного ".NET" проекта, Александр Сугак
История одного успешного ".NET" проекта, Александр СугакИстория одного успешного ".NET" проекта, Александр Сугак
История одного успешного ".NET" проекта, Александр Сугак
 
AbhishekMalik_CV_08jan2019
AbhishekMalik_CV_08jan2019AbhishekMalik_CV_08jan2019
AbhishekMalik_CV_08jan2019
 
AbhishekMalik_CV_22Jan2019
AbhishekMalik_CV_22Jan2019AbhishekMalik_CV_22Jan2019
AbhishekMalik_CV_22Jan2019
 
AbhishekMalik_CV_01Mar19
AbhishekMalik_CV_01Mar19AbhishekMalik_CV_01Mar19
AbhishekMalik_CV_01Mar19
 
Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019Abhishek malik_cv_01jan2019
Abhishek malik_cv_01jan2019
 

Plus de Thoughtworks

Plus de Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Javascript toolkit

  • 1. THE JAVASCRIPT TOOLKIT An attempt to organize the recent explosion of Javascript based technologies and frameworks into a coherent toolkit to be used by a web application developer. 1 Marcos Vinicius @bymarkone Renan Martins @renan89
  • 2. THE IDEA OF THE TOOLKIT 2 The Idea Of A Toolkit
  • 3. An attempt to organize the recent explosion of Javascript based technologies and frameworks into a coherent toolkit to be used by a web application developer. purpose:
  • 4. 4
  • 5. AGILE PURPOSE FOR DELIVERY 5 Deliver Fast Deliver Often Deliver Value
  • 6. AGILE CHANGES IN PROCESS 6 Iterations User Stores Planning Stand Ups Retrospectives Inception Scrum - Lean - XP Kanban Team Communication …
  • 7. TECHNICAL SUPPORT FOR AGILE 7 Continuous Delivery Continuous Integration Evolutionary Architecture Evolutive Design TDD Lot’s of Automation Programming Languages Design Patterns …
  • 8. AGILE - TOOLKIT 8 Gradle, Maven, Ant, Ivy jUnit, TestNG, Cucumber Design, Analysis, Architecture Patterns Jenkins, GO, Snap, Bamboo Java, Ruby, Scala, Python, Clojure, Racket, Javascript www.thoughtworks.com/radar/
  • 12. NEED MOTIVATION TOOLS Scaffold Several tools. Several ways. Several Practices. Need to organize, and give some good foundation - best practices, good design. yeoman Build / Automation Lots of tasks to execute. Compile. Test. Minify. Concat. Etc. grunt, gulp, broccoli Dependency Management Applications are getting complex. They rely on several other libraries and frameworks. bower, component, NPM Dynamic Loading Big projects are split among several pieces of js for the sake of modularization. No all of them should be loaded at the same time. require, curl, broserify, webpack Testing Testing is all around. Need to tests on different browsers, need to write the tests, need to run the tests, need to report test results. karma, jasmine, phatom, mocha, qunit, protractor, sinon, sourcelabs, duck angular Application Applications on web are getting complex, need for frameworks that support app development. angular, backbone, ember, knockout Dom Utilities DOM selection and maniputation, some auxiliary functions, need for utilities that make work simple (and cross- browser) jquey, zepto Language Utilities Clean code, functional programming style, reactive programming features, helpers and utilities lodash, underscore, promise, fn, q CI Continuous integration, continuous delivery, continuous deployment travis-ci, jenkins, concrete, semaphore, go, snap Other Languages Have a syntactic sugar element, or even completely different syntax (that in the end turn into javascript to run in the browser) coffeescript, clojurescript, typescript Other Javascript ?? concat, minify, uglify, lint, jshint, watch, page, director, crossroads, moment.js 12
  • 13. 13 WHAT TOOLS CSS Preprocessors sass, less Preprocessors Libs compass, bourbon CSS Helpers susy, zenGrids, neat, normalize, modernizr, flexbox CSS Frameworks boostrap, foundation, skeleton
  • 14. Let’s talk about this needs, And take a look at some tools 14
  • 15. SCAFFOLD 15 Several tools. Several ways. Several Practices. Need to organize, and give some good foundation - best practices, good design.
  • 16. 16
  • 17. BUILD - AUTOMATION 17 Lots of tasks to execute. Compile. Test. Minify. Concat. Uglify. Etc.
  • 19. DEPENDENCY MANAGEMENT 19 Applications are getting complex. They rely on several other libraries and frameworks.
  • 20. 20
  • 21. DYNAMIC LOADING 21 Big projects are split among several pieces of javascript for the sake of modularisation. No all of them should be loaded at the same time.
  • 23. TESTING 23 Testing is all around. Need to tests on different browsers, need to write the tests, need to run the tests, need to report test results.
  • 24. 24 mocha, qunit, protractor, sinon, saucelabs, duck angular
  • 25. APPLICATION 25 Applications on web are getting complex, need for frameworks that support app development.
  • 26. 26
  • 27. DOM UTILITIES 27 DOM selection and manipulation, some auxiliary functions, need for utilities that make work simple (and cross-browser)
  • 28. 28
  • 29. LANGUAGE UTILITIES 29 Clean code, functional programming style, reactive programming features, helpers and utilities
  • 30. 30
  • 34. OTHER LANGUAGES 34 Have a syntactic sugar element, or even completely different syntax (that in the end turn into javascript to run in the browser)
  • 36. OTHER JAVASCRIPT 36 Several tools. Several ways. Several Practices. Need to organize, and give some good foundation - best practices, good design.
  • 38. WRAP UP 38 Difference Needs|Tools and their relation Agile demands for you as a developer Keep your mind open
  • 39. For questions or suggestions: ! Marcos Vinicius @bymarkone github.com/bymarkone ! Renan Martins @renan89 THANK YOU