SlideShare a Scribd company logo
1 of 105
DEvelopper
dans le futur
Dès maintenant…
Mathieu PARISOT
Développeur Web et Java - Formateur
http://matparisot.fr
@matparisot
https://www.google.com/+ParisotMathieu
http://humantalks.com http://brownbaglunch.fr
Flexbox
Grid Layout
Service workers
GamePad API
Shadow DOM
CSS variables
Fetch API
Canvas
Media Queries lvl4
HTML imports
IndexDb
Flexbox
Grid Layout
Service workers
GamePad API
Shadow DOM
CSS variables
Fetch API
Canvas
Media Queries lvl4
HTML imports
IndexDb
WebSQL
Calendar API
Classes
Modules
Fat arrow functions
Iterators
Generators
String templates
Spreading
Destructuring
Rest operator
Default parameters
Mise à jour du slide en cours
Merci de patienter
Evergreen Browsers
https://github.com/edankwan/Jesus.js
I
Standards
http://caniuse.com
http://kangax.github.io/compat-table/es6/
71%
79%
85%
56%
54% (0.12 : 17%)
Parlons du temps…
Les conférences / blogs
Les conférences / blogs Le monde réel
Les conférences / blogs
Passé :
Toutes les normes dont on ne parle plus
car majoritairement implémentée
Les conférences / blogs
Passé :
Toutes les normes dont on ne parle plus
car majoritairement implémentée
Présent :
Toutes les normes en cours d’implémentation
Les conférences / blogs
Passé :
Toutes les normes dont on ne parle plus
car majoritairement implémentée
Présent :
Toutes les normes en cours d’implémentation
Futur :
Toutes les normes expérimentales
encore en cours de discussions
Le monde réel
Maintenant :
Les navigateurs que vos utilisateurs possèdent
“Official W3C policy states that you shouldn’t really use
experimental properties in production code, but people do, as
they want to make sites look cool and keep on the cutting edge.”
– W3C page on optimizing content for different browsers
Développer dans le passé
Dès maintenant…
if (Modernizr.webgl){
loadAllWebGLScripts();
} else {
alert('WebGL not supported');
}
if (Modernizr.webgl){
loadAllWebGLScripts();
} else {
alert('WebGL not supported');
}
Modernizr.load({
test: Modernizr.geolocation,
yep : 'myJs.js',
nope: 'html5-polyfill.js'
});
Ca ne marche pas pour tout

Développer dans le présent
Dès maintenant…
Et si on touche à la syntaxe ?
function buildUrl({protocol = 'http://',
domain,
port = 80}) {
return `${protocol}${domain}:${port}`;
}
function* integerGenerator() {
let curInt = 0;
while(true) {
curInt++;
yield curInt;
}
}
Télécharge le fichier
Télécharge le fichier
Le parse
Télécharge le fichier
Le parse
Transforme le résultat
Télécharge le fichier
Le parse
Transforme le résultat
Injecte le résultat
Et si on ne le faisait qu’une fois ?
(faisons un aparté)
Un transpiler transforme un langage informatique
en un autre de haut niveau
Un transpiler transforme un langage informatique
en un autre de haut niveau
Java  C
Java  JavaScript
Coffreescript  JavaScript
TypeScript  JavaScript
JavaScript  JavaScript
Etc.
Un transpiler est un compilateur un peu spécial…
ES2015 ES5
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
(faisons un autre aparté)
Un préprocessor étend un langage informatique
avec de nouvelles features
Sass  CSS
Less  CSS
Stylus  CSS
Etc.
Un postprocessor transforme du CSS
en CSS
Visiblement ça marche aussi avec les développeurs…
CSS3 standard CSS3 compatible
https://babeljs.io/ https://github.com/postcss/postcss
$ npm install babel postcss
$ babel script.js --out-file script-compiled.js
$ postcss style.css –o compatible-style.css
$ npm install babel postcss
Plugins
Et des
presets
Ou des
packs
Développer dans le futur
Dès maintenant…
:root {
--mainColor: red;
}
a {
color: var(--mainColor);
}
@media screen
and (width >= 500px)
and (width <= 1200px) {
.bar {
display: block;
}
}
@supports (display: flex) {
}
async function loadDataAsync() {
try {
let data = await getJSON('data.json');
addHtml(data);
} catch (err) {
addError("Oups: " + err.message);
}
}
// A simple decorator
@annotation
class MyClass { }
function annotation(target) {
// Add a property on target
target.annotated = true;
}
On recap !
On recap !
Build
On recap !
Javascript standard Javascript compatible
Build
On recap !
Javascript standard Javascript compatible
CSS standard CSS compatible
Build
On recap !
Javascript standard Javascript compatible
CSS standard CSS compatible
Build
Sauf qu’il nous manque un truc…
export function myFunction()
import {myFunction} from 'module'
AMD CommonJs
Modules + packaging
Modules + packaging
+ un serveur avec live reload…
Plugins
& loaders
On veut voir du code !
Du code
Sinon rien !
La conclusion
Plugins ! Plugins everywhere !!!
Keep it Simple !
Standards Frameworksou
Standards Frameworkset
http://matparisot.fr/3-nouveautes-majeurs-decmascript-2015-que-vous-allez-adorer/
http://matparisot.fr/7-nouveautes-qui-vont-vous-simplifier-la-vie-en-es-2015/
https://github.com/mparisot/conf_dev_futur
Merci !
@matparisot - http://matparisot.fr
http://humantalks.com http://brownbaglunch.fr
http://matparisot.fr/3-nouveautes-majeurs-decmascript-2015-que-vous-allez-adorer/
http://matparisot.fr/7-nouveautes-qui-vont-vous-simplifier-la-vie-en-es-2015/
https://github.com/mparisot/conf_dev_futur

More Related Content

Similar to Développez dans le futur, dès maintenant !

Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxMobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxFrédéric Harper
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopFrédéric Harper
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?Frédéric Harper
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPatelier111
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web componentsFrancois ANDRE
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live codingmatparisot
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousjwajsberg
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummiesMicrosoft
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizonMicrosoft
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 
Introduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptIntroduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptdavrous
 
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptMicrosoft
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 

Similar to Développez dans le futur, dès maintenant ! (20)

Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveauxMobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
Mobiz - 2012-11-15 - HTML5, une révolution à plusieurs niveaux
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XPUn site de collectivité sur WordPress ? Méthodes et retours d'XP
Un site de collectivité sur WordPress ? Méthodes et retours d'XP
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web components
 
Dev in the future live coding
Dev in the future   live codingDev in the future   live coding
Dev in the future live coding
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Le développement web : tour d'horizon
Le développement web : tour d'horizonLe développement web : tour d'horizon
Le développement web : tour d'horizon
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Introduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascriptIntroduction au développement windows 8 modern ui avec html5 et javascript
Introduction au développement windows 8 modern ui avec html5 et javascript
 
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScriptIntroduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
Introduction au développement Windows 8 ModernUI avec HTML5 et JavaScript
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 

Développez dans le futur, dès maintenant !