37
FRONT END 1 Ouadie LAHDIOUI UNE ÎLE QUI MÉRITE D'ÊTRE VISITÉE PAR TOUS LES DÉVELOPPEURS JAVA Rabat, le13/06/3015

Front end, une île qui mérite d'être visitée

Embed Size (px)

Citation preview

Page 1: Front end, une île qui mérite d'être visitée

1

FRONT END

Ouadie LAHDIOUI

UNE ÎLE QUI MÉRITE D'ÊTRE VISITÉE PAR TOUS LES DÉVELOPPEURS JAVA

Rabat, le13/06/3015

Page 2: Front end, une île qui mérite d'être visitée

2

Page 3: Front end, une île qui mérite d'être visitée

3

HTML 5

+ La dernière évolution des standards qui définissent HTML

+ Un format de données pour représenter les pages web et écrire de l’hypertexte

+ Il permet de créer des documents interopérables de manière conforme aux exigences de l’accessibilité du web

+ Le travail sur HTML 5 a commencé fin 2003 par à un groupe de Freelancers « WhatWG »

+ En 2007 le W3C accepte la vision HTML5 en intégrant en son sein ce groupe de travail.

+ HTML 5 = nouveaux éléments + un ensemble plus large de technologies

1/4 HYPERTEXT MARKUP LANGUAGE

Page 4: Front end, une île qui mérite d'être visitée

4

HTML 5

+ Des nouvelles balises :

2/4 NOUVEAUTÉS

+ Nouveaux types de l'élément input :

+ Les notions de type "en ligne" et "bloc" est remplacées par des catégories :

Page 5: Front end, une île qui mérite d'être visitée

5

HTML 5

+ Web Sockets

+ Web RTC (web with Real Time Communication)

3/4 NOUVEAUTÉS

+ Évènement online et offline

+ Stockage de session et persistance côté client du WHATWG (ou DOM Storage)

+ IndexedDB

+ Utilisation de fichiers depuis des applications web

Page 6: Front end, une île qui mérite d'être visitée

6

HTML 5

+ Utilisation de l'audio et de la video en HTML5

+ Utiliser l'API Camera

4/4 NOUVEAUTÉS

+ XMLHttpRequest Niveau 2

+ Moteur JavaScript à compilation JIT (juste à temps)

+ API Historique

+ L'attribut contentEditable

+ Évènements tactiles

+ Utilisation de la Geolocalisation

+ Détection de l'orientation de l'appareil

+ Glisser et déposer

+ API Verrouillage de la souris

+ API Plein écran

Page 7: Front end, une île qui mérite d'être visitée

7

MOTEURS DE TEMPLATES

+ Une technique de programmation qui permet de séparer l’interface graphique du reste de l'application

+ Solutions :

1/1

Page 8: Front end, une île qui mérite d'être visitée

8

HAML

+ XHTML Abstraction Markup Language

+ Un langage de balisage léger pour templates

+ HAML, génére du XHTML de manière élégante et minimaliste = donc rapide

+ L’espacement et l’indentation sont importants

+ L’équivalent de HAML pour CSS est le Sass

+ Comme dit son créateur, « HAML paraît bizarre les 20 premières minutes, mais après ça, vous irez plus vite »

1/1

Page 9: Front end, une île qui mérite d'être visitée

9

Page 10: Front end, une île qui mérite d'être visitée

10

CSS

+ Il y a trois façons d’insérer des CSS dans une page HTML :

1/4 CASCADING STYLE SHEETS

+ Les styles définissent la façon d’afficher les éléments HTML

+ Une recommandation du World Wide Web Consortium (W3C), au même titre que HTML ou XML

+ Feuille de style externe

+ Feuille de style interne

+ Style en ligne

Page 11: Front end, une île qui mérite d'être visitée

11

PRÉPROCESSEURS CSS1/3

+ Métalangage qui permet de compiler le code CSS

+ Améliore la syntaxe du langage sans toucher à ses fondamentaux

+ Il permet d'optimiser le code en amont

+ La principale différence avec CSS est la possibilité de créer des objets et des variables dans les feuilles de style

+ Principales fonctionnalités :

+ variables

+ fonctions

+ mixins (permettant de réaliser des sorties CSS paramétrables)

+ @import intelligent (pas côté client)

+ nesting (imbrications des sélecteurs pour éviter la répétition)

Page 12: Front end, une île qui mérite d'être visitée

12

SAAS

+ Un langage de génération dynamique de feuilles de style

+ SassScript = langage de script qui est interprété en CSS

+ Sass est le plus mature des pré-processeurs CSS

+ Deux syntaxes existent :

1/3 SYNTACTICALLY AWESOME STYLE SHEETS

+ Syntaxe indentée : proche de Haml

+ SCSS (Sassy CSS) : un formalisme proche de CSS

+ Les fonctionnalités phares : variables, mixins, imbrication, héritage, opérateurs …

Page 13: Front end, une île qui mérite d'être visitée

13

SAAS

+ Les variables : Stocker n'importe quelles informations (couleur, taille, texte, etc.) dans un objet

2/3 SYNTACTICALLY AWESOME STYLE SHEETS

+ Les mixins : Réutiliser le code CSS

Page 14: Front end, une île qui mérite d'être visitée

14

SAAS

+ Ciblage CSS

3/3 SYNTACTICALLY AWESOME STYLE SHEETS

+ Héritage

Page 15: Front end, une île qui mérite d'être visitée

15

LEES

+ Il peut fonctionner côté serveur (avec Node.js ou Rhino) ou côté client.

1/1

+ Frère jumeau du SASS, il étends CSS avec des comportements dynamiques comme les variables, mixins, opérations et fonctions …

+ la syntaxe de LESS est plus proche de CSS

+ SimpleLESS : un compilateur du LESS en CSS

Page 16: Front end, une île qui mérite d'être visitée

16

Page 17: Front end, une île qui mérite d'être visitée

17

JQUERY1/1 WRITE LESS, DO MORE

+ Une bibliothèque javascript open-source et cross-browser

+ Elle permet de manipuler l’arbre DOM

+ Elle permet aussi de gérer les événements javascript et faire des requêtes AJAX

+ Elle repose sur la fonction : jQuery() ou $()

Page 18: Front end, une île qui mérite d'être visitée

18

COFFEE SCRIPT1/1

+ Un langage compilé en javascript

+ Il n’est pas interprété nativement, il doit d’abord être converti en javascript

+ Il ajoute du sucre syntaxique inspiré par Python

+ En coffee, pas besoin d’utiliser explicitement le mot clé «var» ni les «;»

+ La syntaxe est beaucoup plus agréable et lisible

+ Des experts JavaScript reconnus, et même le créateur et mainteneur principal de JavaScript (Brendan Eich, le directeur technique de Mozilla) adorent CoffeeScript

Page 19: Front end, une île qui mérite d'être visitée

19

MODERNIZER1/1+ Une bibliothèque JavaScript pour détecter des fonctionnalités spécifiques de HTML et

CSS dans les navigateurs

+ Il communique avec le navigateur de la manière suivante :

+ Demande au navigateur s’il reconnait et supporte la fonctionnalité x

+ Ne fais rien si le navigateur connais et supporte la fonctionnalité x

+ Propose une alternative, code en javascript pour la fonctionnalité x

Page 20: Front end, une île qui mérite d'être visitée

20

ANGULARJS

Source : http://www.journaldunet.com/developpeur/outils/angular-js.shtml

1/1+ Framework Javascript né dans les locaus de Google pour créer des applications web

riches et interactives

+ Il est construit autour des concepts :

+ Architecture MV* Model-View-Whatever (whatever works for you)

+ Single page application

+ Data-binding bi-directionnel

+ Injection de dépendance

+ Directives, Services, filtres et expressions

Page 21: Front end, une île qui mérite d'être visitée

21

EMBER JS1/1

+ Framwork qui facilite la réalisation des applications monopage (SPA)

+ Routage

+ Injection de dépendance

+ MVC

+ La philosophie convention plutôt que la configuration (Convention over configuration):

Page 22: Front end, une île qui mérite d'être visitée

22

REACTJS1/1

+ Un framwork javaScript développé par Facebook

+ Il ne gère que l'interface de l'application = partie vue de l’MVC

+ AngularJS est orienté application de gestion, c'est à dire des écrans de liste/détail pour faire du CRUD sur des entités métier.

+ React est utilisé dans des projets exigeant à la fois un rendu visuel agréable et un design performant

+ React n'est pas un framework full-stack, par contre une bibliothèque orientée Composant

Page 23: Front end, une île qui mérite d'être visitée

23

AUTRES

+ Underscore JS : Une collection de fonctions utilitaires

+ Lodash JS : Une alternative à la librairie utilitaire Underscore, plus performante, plus consistante et ajoutant quelques fonctionnalités supplémentaires

+ Jshint : un outil qui analyse le code JavaScript afin qu'il soit de qualité

Page 24: Front end, une île qui mérite d'être visitée

24

HTML + CSS + JAVA SCRIPT

Page 25: Front end, une île qui mérite d'être visitée

25

HTML5 BOILERPLATE1/1

+ Modèle pour faciliter le démarrage d'un nouveau projet web autour de HTML5

+ Bonnes pratiques

+ Des fichiers de configuration pour le serveur

+ Des feuilles de styles de base,

+ Des librairies JavaScript.

Page 26: Front end, une île qui mérite d'être visitée

26

TWITTER BOOTSTRAP1/1

+ Un Framework d'intégration (ou framwork CSS)

+ Bootstrap est un ensemble d'outil HTML, CSS et Javascript

+ C'est en Twitter, le réseau social qui a développé ce framework et le met librement à la disposition des développeurs

+ Des boutons, des layouts, des tableaux, des formulaires, des alertes, des popins et menus pour créer des interfaces visuellement efficaces et ergonomiques

+ Ainsi Bootsrap est un "CSS grid framework"

Page 27: Front end, une île qui mérite d'être visitée

27

FRONT END POUR LE MOBILE

Page 28: Front end, une île qui mérite d'être visitée

28

JQUERY MOBILE1/1

+ jQuery Mobile est un framework UI HTML5 optimisé pour le tactile pour simplifier le développement d'applications web multi-plateformes (cross-devices)

+ Ses atouts sont très nombreux, en voici les principaux :

+ Une documentation complète et bien mise à jour

+ Une très grande facilité d'utilisation et d'apprentissage

+ Personnalisable

Page 29: Front end, une île qui mérite d'être visitée

29

NG-CORDOVA1/1

+ Le meilleur d’AngularJS et de Cordova = ngCordova

+ L’idée est d’encapsuler des plugins Phonegap/Cordova dans des services AngularJS

+ Implémente la plupart des plugins nécessaires (photo, network, vidéo…)

Page 30: Front end, une île qui mérite d'être visitée

30

IONIC1/1

+ Ionic Framework est un mélange d’outils et de technos pour développer des applications mobiles hybrides

+ Il s’appuie sur AngularJS pour la partie application web du framework et sur Cordova pour la partie construction des applications natives

+ L'écosystème ionic :

Page 31: Front end, une île qui mérite d'être visitée

31

AUTOMATISATION FRONT END

Page 32: Front end, une île qui mérite d'être visitée

32

GRUNT1/1

+ Grunt est un JavaScript Task Runner

+ Il permet de créer des tâches automatisées en JavaScript.

Page 33: Front end, une île qui mérite d'être visitée

33

GULP1/1

+ Un outil pour d'automatiser les tâches répétitives : compilation des SCSS ou des Coffee Scripts, minification, compression des fichiers image, ...

+ Configuré via un fichier javascript « gulpfile.js »

Page 34: Front end, une île qui mérite d'être visitée

34

BOWER1/1

Télécharger un package Bower

Détail d’un package Bower

+ Un outil de gestion des dépendances

+ Il se base sur github pour télécharger les composants grâce à des tables de correspondances « name » : « url »

Page 35: Front end, une île qui mérite d'être visitée

35

YEOMAN1/1

+ Yeoman est basé sur :

+ Génération du squelette de l’application

+ Gestion des dépendances

+ Automatisation des tâches

+ Un projet open-source soutenu par Google

+ Il a pour but de faire la :

Page 36: Front end, une île qui mérite d'être visitée

© SQLI Enterprise – SQLI GROUP | 2015 36

CSS

+ CSS Specification : www.w3.org/Style/CSS/specs

+ SASS : www.sass-lang.com

+ LESS : www.lesscss.org

ALLER PLUS LOIN

JAVA SCRIPT

+ AngularJS : www.angularjs.org

+ ReactJS : www.facebook.github.io/react

+ Ng-Cordova : www.ngcordova.com

+ Ionic : www.ionicframework.com

INDUSTRIALISATION FRONT-END

+ Grunt : www.gruntjs.com

+ GulpJS : http://gulpjs.com/

+ Yeoman : www.yeoman.io

Page 37: Front end, une île qui mérite d'être visitée

37

MERCI POUR VOTRE ATTENTION

Est-ce qu’elle mérite bien d'être visitée par tous les développeurs java ?