Upload
romain-linsolas
View
1.153
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Quickie presented during Devoxx World 2013 You are developing Java applications for years now, and you are used to have a very complete and powerful software factory: Git(Hub), Jenkins, Sonar, you practice TDD, BDD, etc.. But now your JavaScript codebase grows constantly, and you are wondering how to make your developments faster, safer, stronger, with a good software factory and well-chosen tools dedicated to JavaScript. So, how to industrialize your JavaScript developments? During this Quickie, we will make a tour of all the important components for your Software Factory, explaining how you can reuse your current tools, and also by introducing new elements such as Yeoman.
Citation preview
@romaintaz #DV13 #JS-SF
The Ingredients for a Perfect JavaScript Software Factory
Romain LINSOLAS
@romaintaz #DV13 #JS-SF
About me…
http://www.brownbaglunch.fr
@romaintaz #DV13 #JS-SF
Before I really start…
• Can't go into the details (15 minutes is too short) • The choices I've made are relevant today • Sorry for my accent
@romaintaz #DV13 #JS-SF
I will not talk about…
Services & Tools that are language agnostic: • SCM (Git, Subversion…)
• Bug tracker (JIRA…)
• "Agile tools" (GreenHopper, Trello…)
à Use what you have!
@romaintaz #DV13 #JS-SF
DON'T REPEAT YOURSELF
@romaintaz #DV13 #JS-SF
Continuous Integration Server
@romaintaz #DV13 #JS-SF
Sonar(Qube)
Easy to get!
Not so easy to get!
@romaintaz #DV13 #JS-SF
Maven
Dozens of plugins to integrate JS in Maven
à Mainly to run JS tests during the Maven lifecycle
Do not integrate Maven just for JavaScript!
@romaintaz #DV13 #JS-SF
LET'S FOCUS ON JAVASCRIPT TOOLS…
@romaintaz #DV13 #JS-SF
Yeoman
@romaintaz #DV13 #JS-SF
yo – Application Scaffolder
@romaintaz #DV13 #JS-SF
Bower – Package & Dependencies Manager
@romaintaz #DV13 #JS-SF
Grunt – Task Runner
Compilation
Testing
Minification
Linting
Documentation
Deployment
Many more…
@romaintaz #DV13 #JS-SF
Plugins for Grunt
1600+ Plugins!
@romaintaz #DV13 #JS-SF
Example of Grunt execution
Read Gruntfile.js
Tasks execution
@romaintaz #DV13 #JS-SF
Many others useful tools…
The Landscape Of Front-end Development Automation Addy Osmani
@addyosmani
http://bit.ly/landscape-frontend
@romaintaz #DV13 #JS-SF
TESTS!
@romaintaz #DV13 #JS-SF
Unit Testing - Jasmine
@romaintaz #DV13 #JS-SF
BDD – cucumber-js
@romaintaz #DV13 #JS-SF
Front-end testing - CasperJS
@romaintaz #DV13 #JS-SF
Need a testing library? You have the CHOICE!
@romaintaz #DV13 #JS-SF
JavaScript testing? No excuse! Writing tests is
so hard, and I don't have the time!
No excuse, we are in 2013!
@romaintaz #DV13 #JS-SF
Use what you have
Let's summarize…
Use JavaScript tools
Test!
@romaintaz #DV13 #JS-SF
One last word…
Don't forget that in JavaScript…
++[[]][+[]]+[+[]] === "10" is true!
@romaintaz #DV13 #JS-SF
QUESTIONS?
@romaintaz #DV13 #JS-SF
References
Photo Credit:
• http://jamandlam.blogspot.fr/2011/10/jam-lam-cook-lego-edition.html
• http://www.flickr.com/photos/swchk1993/7244394422/
• http://www.flickr.com/photos/7269902@N07/9533646890/
• http://www.flickr.com/photos/drywfiltiarn/5082592918/
• http://www.flickr.com/photos/balakov/4503616864/