49
Tania Gonzales THE JAVASCRIPT TOOLKIT

Javascript Toolkit

Embed Size (px)

Citation preview

Page 1: Javascript Toolkit

Ta n i a G o n z a l e s

THE JAVASCRIPT TOOLKIT

Page 2: Javascript Toolkit

ABOUT ME

Tania Gonzales Villa

Consultant/Developer @ ThoughtWorks

@taniadgv

2

Page 3: Javascript Toolkit

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.

Page 4: Javascript Toolkit

4

What is the reason of the recent explosion of Javascript libraries

and frameworks?

Page 5: Javascript Toolkit

MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT

5

Individuals and interactions over processes and toolsWorking software over comprehensive documentation.Customer collaboration over contract negotiation.Responding to change over following a plan.

Page 6: Javascript Toolkit

AGILE PURPOSE FOR DELIVERY

6

Deliver Fast

Deliver Often

Deliver Value

Page 7: Javascript Toolkit

TECHNICAL SUPPORT FOR AGILE

7

Evolutionary Architecture

Continuous Integration

Programming Languages

Design Patterns

TDD

Lot’s of Automatisation

Continuous Delivery

Evolutive Design

Page 8: Javascript Toolkit

8

Page 9: Javascript Toolkit

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

Page 10: Javascript Toolkit

AND JAVASCRIPT?10

Page 11: Javascript Toolkit

11

The great enabler…

Page 12: Javascript Toolkit

TOOLKIT CATEGORIES

12

Infrastructure

Application & Product

Development

Testing

Utilities & Support

Page 13: Javascript Toolkit

INFRASTRUCTUREYour toolbox for fast and easy development.

13

Page 14: Javascript Toolkit

SCAFFOLD

14

Several tools, several ways, several practices. Need to

organise and give some good foundation - best practices, good

design.

Page 15: Javascript Toolkit

15

Seed Projects

Bootstraps

Page 16: Javascript Toolkit

AUTOMATION

16

Lot’s of tasks to execute: compile, test, assembly, minify

and deliver your code.

Page 17: Javascript Toolkit

17

Page 18: Javascript Toolkit

AUTOMATION UTILITIES

18

While running your automated task you probably want some

tools to help you go even further.

Page 19: Javascript Toolkit

19

minify tools

concat tools

watch

Page 20: Javascript Toolkit

DEPENDENCY MANAGEMENT

20

Applications are getting complex, they rely on several other libraries and frameworks.

Page 21: Javascript Toolkit

21

Page 22: Javascript Toolkit

APPLICATION & PRODUCTApplication are getting complex, need for frameworks that support app development.

22

Page 23: Javascript Toolkit

APPLICATION FRAMEWORKS

23

Main javascript frameworks to build user interfaces.

Page 24: Javascript Toolkit

24

Page 25: Javascript Toolkit

APPLICATION UTILITIES

25

Libraries that will help when building the application.

Page 26: Javascript Toolkit

26

Page 27: Javascript Toolkit

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.

Page 28: Javascript Toolkit

28

github.com/cujojs/curl

github.com/amdjs

github.com/caolan/async

Page 29: Javascript Toolkit

DEVELOPMENT29

Page 30: Javascript Toolkit

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).

Page 31: Javascript Toolkit

31

github.com/clojure/clojurescript

Page 32: Javascript Toolkit

TESTINGTesting 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

Page 33: Javascript Toolkit

TEST RUNNERS

33

Applications are getting complex, they rely on several other libraries and frameworks.

Page 34: Javascript Toolkit

34

Page 35: Javascript Toolkit

FRAMEWORKS

35

Tools to allow you write your tests.

Page 36: Javascript Toolkit

36

Page 37: Javascript Toolkit

END TO END

37

Test the whole flow of your application.

Page 38: Javascript Toolkit

38

Page 39: Javascript Toolkit

TEST SUPPORT

39

Support libraries for writing and running tests.

Page 40: Javascript Toolkit

40

Page 41: Javascript Toolkit

UTILITIES & SUPPORTThe support you need while writing Javascript

41

Page 42: Javascript Toolkit

DOM UTILITIES

42

DOM selection and manipulation, some auxiliary functions, need

for utilities that make work simple.

Page 43: Javascript Toolkit

43

Page 44: Javascript Toolkit

LANGUAGES UTILITIES

44

Clean utilities, functional programming style, reactive

programming features, helpers and utilities.

Page 45: Javascript Toolkit

45

github.com/kriskowal/q

Page 46: Javascript Toolkit

CI

46

Continuos integration, continuous delivery, continuous deployment.

Page 47: Javascript Toolkit

47

Page 48: Javascript Toolkit

WRAP UP

48

Different needs/tools and their relation

Agile demands for you as a developer

Keep your mind open

Page 49: Javascript Toolkit

For questions or suggestions:

Tania Gonzales@taniadgv

[email protected]

THANK YOU