Développement web avancé

Séance 1

Simon Cleriot

@scleriot

cleriotsimon@gmail.com

Directeur Technique  @

Sujet du cours

Vue.js

Frontend

Vue.js ?

  • Framework Javascript
  • "Réactif"
  • Orienté composant
  • Forte communauté

 

  • Coeur du framework léger (30Ko)
  • Librairies officielles

 

  • V3 sortie en 2020

Rappels sur le langage

Le langage

  • Interprété (pas de compilation)
  • Haut niveau
  • Faible typage
  • "Orienté objet"
  • Différents types de programmation :
    • Impérative
    • Event-driven
    • Fonctionnelle

Types de programmation

  • Impérative

Chaque instruction modifie l'état du programme et sont exécutées les unes à la suite des autres.

console.log("Hello World")
alert("Coucou")
document.getElementById("text").innerHTML = "Hello !"

Types de programmation

  • Impérative

  • Event-driven

Le sens (flow) du programme est défini par les évènements (click d'une souris, message depuis un autre processus, etc...).

Les instructions sont donc exécutées dans un sens indéfini au lancement du programme.

console.log("Hello 1")
button.on("click", function(event) {
    console.log("Button clicked")
})
console.log("Hello 2")

Types de programmation

  • Impérative

  • Event-driven

  • Fonctionnelle

Un language où tout est fonction.

Map, reduce, filter etc...

var arr = [1,2,3,4]
var is_pair = arr.map(function(x){
    return x%2==0;
}) // -> [false,true,false,true]

Map

var arr = [1,2,3,4]
var is_even = arr.map(function(x){
    return x%2==0;
}) // -> [false,true,false,true]

Filter

var arr = [1,2,3,4]
var array_even_number = arr.filter(function(x){
    return x%2==0;
}) // -> [2,4]

Reduce

var arr = [1,2,3,4]
var addition = arr.reduce(function(accumulator, currentValue){
    return accumulator + currentValue;
}, 0) // -> 10

Versions du langage

  • ECMAScript 5 (ES5) : implémenté par tout les navigateurs
  • ECMAScript 6 (ES6) / ECMAScript 2015 (ES2015) : nouvelle génération

 

Comment écrire du code ES6 et le faire tourner dans les navigateurs actuels ?

En le compilant !

Versions du langage

  • ECMAScript 5 (ES5) : implémenté par tout les navigateurs
  • ECMAScript 6 (ES6) / ECMAScript 2015 (ES2015) : nouvelle génération

 

Comment écrire du code ES6 et le faire tourner dans les navigateurs actuels ?

//ES6
[1, 2, 3].map(x => x**2)

//Output ES5
[1, 2, 3].map(function (x) {
  return Math.pow(x, 2);
});

TD 1

https://scleriot.github.io/web-dawin/

Développement web avancé - Séance 1

By Simon Cleriot

Développement web avancé - Séance 1

  • 598