M1IF13 Web Avancé

This project is maintained by aurelient

Programmation Web Avancée et Mobile

CM 2 : Bibliothèques et frameworks côté client

Aurélien Tabard - Lionel Médini


Plan du cours


Ressources

Page à compléter :

Livres


Rappels JavaScript

→ Langage très permissif (“assembleur du Web”)


Rappels JavaScript

À quoi sert la notation suivante ?

(function() {
	var toto = 12;
	console.log(toto);
})();

Rappels JavaScript

À quoi sert la notation suivante ?

(function() {
	var toto = 12;
	console.log(toto);
})();

Comprendre la portée


Closures (fermetures)

  function makeFunc() {
    var name = "Mozilla";
    function displayName() {
      alert(name);
    }
    return displayName;
  }

  var myFunc = makeFunc();
  myFunc();

Function factory

function creerAdditionneur(a) {
  return function(b) {
    return a + b;
  }
}
var add5 = creerAdditionneur(5);
var add20 = creerAdditionneur(20);

À quoi servent les Closures ?

En savoir plus : Closures (MDN)


Web apps


Années 2005-2010 : bibliothèques JS

Milieu des années 2000 : bascule d’un Web centré documents et formulaires vers un Web centré application


Années 2005-2010 : bibliothèques JS

La plus emblématique : JQuery

→ Besoin de “workarounds” pour homogénéiser les comportements des navigateurs


Années 2010 : frameworks JS


Les frameworks JS aujourd’hui

The ultimate guide to javascript frameworks Liste sur wikipedia


Frameworks côté client

Objectif

Propriétés


Frameworks côté client

Caractéristiques :


Principe 1 : Routage

Objectif : Simuler des pages web différentes

Moyens :


Principe 2 : Liens entre modèle et vue

Voir cours reactive programming pour plus de détails

One-way data binding

Two-way data binding

  1. Une action sur la vue provoque la mise à jour du modèle
  2. Toute modification d’une propriété du modèle provoque une mise à jour de la vue

Principe 3 : Templating

Vu au dernier semestre avec Mustache


Principe 4 : Composants

Un des principes les plus utiles.


Introduction à Vue.js


Tooling


Retour sur le TP de la semaine dernière


Exposés


Exposés

La prochaine séance :

-> ordre de passage en ligne demain matin.