SlideShare a Scribd company logo
1 of 49
T a n i a G o n z a l e s
THE JAVASCRIPT
TOOLKIT
ABOUT ME
Tania Gonzales Villa
Consultant/Developer @ ThoughtWorks
@taniadgv
2
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
What is the reason of the recent
explosion of Javascript libraries and
frameworks?
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.
AGILE PURPOSE FOR
DELIVERY
6
Deliver Fast
Deliver Often
Deliver Value
TECHNICAL SUPPORT FOR AGILE
7
Evolutionary Architecture
Continuous Integration
Programming Languages
Design Patterns
TDD
Lot’s of Automatisation
Continuous Delivery
Evolutive Design
8
AGILE TOOLKIT
9
jUnit, TestNG, Cucumber
Design, Analysis,
Architecture Patterns Gradle, Maven, Ant, Ivy
Jenkins, GO,
Snap, Bamboo
http://www.thoughtworks.com/radar
Java, Ruby, Scala,
Python, Clojure, Javascript
AND JAVASCRIPT? 10
11
The great enabler…
TOOLKIT CATEGORIES
12
Infrastructure
Application & Product
Development
Testing
Utilities & Support
INFRASTRUCTURE
Your toolbox for fast and easy development.
13
SCAFFOLD
14
Several tools, several ways, several
practices. Need to organise and give
some good foundation - best
practices, good design.
15
Seed Projects
Bootstraps
AUTOMATION
16
Lot’s of tasks to execute: compile,
test, assembly, minify and deliver your
code.
17
AUTOMATION UTILITIES
18
While running your automated task
you probably want some tools to help
you go even further.
19
minify tools
concat tools
watch
DEPENDENCY MANAGEMENT
20
Applications are getting complex, they
rely on several other libraries and
frameworks.
21
APPLICATION &
PRODUCT
Application are getting complex, need for frameworks that support app
development.
22
APPLICATION FRAMEWORKS
23
Main javascript frameworks to build
user interfaces.
24
APPLICATION UTILITIES
25
Libraries that will help when building
the application.
26
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.
28
github.com/cujojs/curl
github.com/amdjs
github.com/caolan/async
DEVELOPMENT
29
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).
31
github.com/clojure/clojurescript
TESTING
Testing is all around. Need to test in different browsers, need to write the
tests, need to run the tests, need to report the results.
32
TEST RUNNERS
33
Applications are getting complex, they
rely on several other libraries and
frameworks.
34
FRAMEWORKS
35
Tools to allow you write your tests.
36
END TO END
37
Test the whole flow of your
application.
38
TEST SUPPORT
39
Support libraries for writing and
running tests.
40
UTILITIES & SUPPORT
The support you need while writing Javascript
41
DOM UTILITIES
42
DOM selection and manipulation,
some auxiliary functions, need for
utilities that make work simple.
43
LANGUAGES UTILITIES
44
Clean utilities, functional programming
style, reactive programming features,
helpers and utilities.
45
github.com/kriskowal/q
CI
46
Continuos integration, continuous
delivery, continuous deployment.
47
WRAP UP
48
Different needs/tools and their relation
Agile demands for you as a developer
Keep your mind open
For questions or suggestions:
Tania Gonzales
@taniadgv
tgonzales@thoughtworks.com
THANK YOU

More Related Content

What's hot

2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings
Haufe-Lexware GmbH & Co KG
 

What's hot (20)

Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
 
Docs or it didn’t happen
Docs or it didn’t happenDocs or it didn’t happen
Docs or it didn’t happen
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD process
 
OpenTuesday: Agile Testautomatisierung und Continuous Integration
OpenTuesday: Agile Testautomatisierung und Continuous IntegrationOpenTuesday: Agile Testautomatisierung und Continuous Integration
OpenTuesday: Agile Testautomatisierung und Continuous Integration
 
Moving to microservices from idea to production - GitLabJP meetup
Moving to microservices  from idea to production - GitLabJP meetupMoving to microservices  from idea to production - GitLabJP meetup
Moving to microservices from idea to production - GitLabJP meetup
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Owasp Juice Shop: Achieving sustainability for open source projects
Owasp Juice Shop: Achieving sustainability for open source projectsOwasp Juice Shop: Achieving sustainability for open source projects
Owasp Juice Shop: Achieving sustainability for open source projects
 
2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings2015 05-06-karsten gaebert-akademie-etrainings
2015 05-06-karsten gaebert-akademie-etrainings
 
Gitlab meets Kubernetes
Gitlab meets KubernetesGitlab meets Kubernetes
Gitlab meets Kubernetes
 
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
 
Exploring the GitHub Service Universe
Exploring the GitHub Service UniverseExploring the GitHub Service Universe
Exploring the GitHub Service Universe
 
Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要
 
Continuously Break The Android
Continuously Break The AndroidContinuously Break The Android
Continuously Break The Android
 
Android Building, Testing and reversing
Android Building, Testing and reversingAndroid Building, Testing and reversing
Android Building, Testing and reversing
 
Github copilot
Github copilotGithub copilot
Github copilot
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastrutturaGitOps: Git come unica fonte di verità per applicazioni e infrastruttura
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
 
Dev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelDev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the Wheel
 
Refine your ci:cd pipeline with automated test
Refine your ci:cd pipeline with automated testRefine your ci:cd pipeline with automated test
Refine your ci:cd pipeline with automated test
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
TDC - MVVM with ReactiveKit
TDC - MVVM with ReactiveKitTDC - MVVM with ReactiveKit
TDC - MVVM with ReactiveKit
 

Viewers also liked

Bonato_Carlos_CV_20150612
Bonato_Carlos_CV_20150612Bonato_Carlos_CV_20150612
Bonato_Carlos_CV_20150612
Carlos Bonato
 
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
mbehan
 
fashion beauty and hair trends from SS16 NYFW
fashion beauty and hair trends from SS16 NYFWfashion beauty and hair trends from SS16 NYFW
fashion beauty and hair trends from SS16 NYFW
Heba Dajani
 

Viewers also liked (15)

Spooky2 Rife Machine for Pets
Spooky2 Rife Machine for PetsSpooky2 Rife Machine for Pets
Spooky2 Rife Machine for Pets
 
Open Science Grid
Open Science GridOpen Science Grid
Open Science Grid
 
Bonato_Carlos_CV_20150612
Bonato_Carlos_CV_20150612Bonato_Carlos_CV_20150612
Bonato_Carlos_CV_20150612
 
Тема 1. Інформатика та її зв’язок з комп’ютером
Тема 1. Інформатика  та її зв’язок з  комп’ютеромТема 1. Інформатика  та її зв’язок з  комп’ютером
Тема 1. Інформатика та її зв’язок з комп’ютером
 
The Open Science Grid
The Open Science GridThe Open Science Grid
The Open Science Grid
 
Sultan Brunei tidak pernah serahkan timur Sabah kepada sulu
Sultan Brunei tidak pernah serahkan timur Sabah kepada suluSultan Brunei tidak pernah serahkan timur Sabah kepada sulu
Sultan Brunei tidak pernah serahkan timur Sabah kepada sulu
 
Mcfly
McflyMcfly
Mcfly
 
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
TerraCure Chosen for Oil Site Remediation in Louisiana - International Dredgi...
 
CLIENTIX | Arquitectura de Experiencias
CLIENTIX | Arquitectura de ExperienciasCLIENTIX | Arquitectura de Experiencias
CLIENTIX | Arquitectura de Experiencias
 
Anllerly
AnllerlyAnllerly
Anllerly
 
fashion beauty and hair trends from SS16 NYFW
fashion beauty and hair trends from SS16 NYFWfashion beauty and hair trends from SS16 NYFW
fashion beauty and hair trends from SS16 NYFW
 
Kenyataan RASMI SSKM-SSU(UK) Berhubung Dengan Status dan Hubungkait Kerajaan ...
Kenyataan RASMI SSKM-SSU(UK) Berhubung Dengan Status dan Hubungkait Kerajaan ...Kenyataan RASMI SSKM-SSU(UK) Berhubung Dengan Status dan Hubungkait Kerajaan ...
Kenyataan RASMI SSKM-SSU(UK) Berhubung Dengan Status dan Hubungkait Kerajaan ...
 
Presentacion bombas
Presentacion bombasPresentacion bombas
Presentacion bombas
 
Austin Arthritis
Austin ArthritisAustin Arthritis
Austin Arthritis
 
Secession a right of any state that joined malaysia voluntarily says sabah po...
Secession a right of any state that joined malaysia voluntarily says sabah po...Secession a right of any state that joined malaysia voluntarily says sabah po...
Secession a right of any state that joined malaysia voluntarily says sabah po...
 

Similar to Javascript Toolkit

Similar to Javascript Toolkit (20)

quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxquantum_leap_angularjs_tools_redefining_development_in_2023.pptx
quantum_leap_angularjs_tools_redefining_development_in_2023.pptx
 
Javascript toolkit-2.0
Javascript toolkit-2.0Javascript toolkit-2.0
Javascript toolkit-2.0
 
Frontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs VueFrontend War: Angular vs React vs Vue
Frontend War: Angular vs React vs Vue
 
Web components and friends
Web components and friendsWeb components and friends
Web components and friends
 
Selecting the Best Javascript Web Framework
Selecting the Best Javascript Web FrameworkSelecting the Best Javascript Web Framework
Selecting the Best Javascript Web Framework
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
 
Node.js vs. java
Node.js vs. javaNode.js vs. java
Node.js vs. java
 
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
Comparing AngularJS and ReactJS_ Finding the Best Framework for your Next Pro...
 
JavaScript Frameworks Popularity
JavaScript Frameworks PopularityJavaScript Frameworks Popularity
JavaScript Frameworks Popularity
 
The Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian CockcroftThe Future of Cloud Innovation, featuring Adrian Cockcroft
The Future of Cloud Innovation, featuring Adrian Cockcroft
 
Java Development Company | Xicom
Java Development Company | XicomJava Development Company | Xicom
Java Development Company | Xicom
 
DevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOpsDevOps para Open Source com Azure DevOps
DevOps para Open Source com Azure DevOps
 
Java magazine jan feb 2018
Java magazine jan feb 2018Java magazine jan feb 2018
Java magazine jan feb 2018
 
Javascript toolkit
Javascript toolkitJavascript toolkit
Javascript toolkit
 
Javascript toolkit
Javascript toolkitJavascript toolkit
Javascript toolkit
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps[JAZUG Tohoku Azure DevOps] Azure DevOps
[JAZUG Tohoku Azure DevOps] Azure DevOps
 
UI5con 2017 - UI5 Evolution
UI5con 2017 - UI5 EvolutionUI5con 2017 - UI5 Evolution
UI5con 2017 - UI5 Evolution
 
Why Use React Js A Complete Guide (1).pdf
Why Use React Js A Complete Guide (1).pdfWhy Use React Js A Complete Guide (1).pdf
Why Use React Js A Complete Guide (1).pdf
 

Recently uploaded

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Javascript Toolkit

Editor's Notes

  1. Run a sustainable business Champion software excellence and revolutionize the IT industry Advocate passionately for social and economic justice.
  2. Agile adoption
  3. Where did it start? why do we need many tools for build, integration? Agile adoption as best process for software development
  4. Users, priorities, scope, time Resolve to problem Agile is more linked to process - > iterations, story planning, stand ups, retro
  5. 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
  6. Why it didn’t have the explosion many years ago when agile did?
  7. Node gave javascript the ability to be used in process like build, validate, compile, execute No more the browser language First class citizen
  8. Users, priorities, scope, time Resolve to problem Agile is more linked to process - > iterations, story planning, stand ups, retro
  9. generators
  10. Minify, treat images, compile css, concatenation
  11. 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
  12. Uglify -> JavaScript parser / mangler / compressor / beautifier library for NodeJS JShint is a fork of JSLint, jshint -> community-driven
  13. 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
  14. Sauce Labs: Automated testing in the cloud for CI.