Découverte de différents outils JavaScript «front-end»

Documents pareils
Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Notre processus d embauche

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

AngularJS pour une application d'entreprise

HTML5. Développement d applications Web. Visual Studio 2015 et TFS. L art et la manière. avec. Philippe DIDIERGEORGES

Devenez un véritable développeur web en 3 mois!

Présentation du Framework BootstrapTwitter

Webmaster / Webdesigner / Wordpress

Point sur les solutions de développement d apps pour les périphériques mobiles

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Nouveautés joomla 3 1/14

Celui qui vous parle. Yann Vigara

workshop javascript crm

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

PROGRAMME DE LA 1ERE JOURNEE DE FORMATION : QUALITE WEB ET REFERENCEMENT NATUREL

Le stockage local de données en HTML5

Léa Dumas Développeuse front-end Intégratrice //

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Master1 ère année. Réseaux avancés I. TP nº5 filière ISICG

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

May Lopez PETIT COUTEAU SUISSE CRÉATIF. May Lopez Petit couteau suisse créatif

Formation : WEbMaster

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

Qualité web : les bonnes pratiques front-end

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Sage CRM. Sage CRM 7.3 Guide du portable

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Document Object Model (DOM)

TP JAVASCRIPT OMI4 TP5 SRC

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Programmation Web. Madalina Croitoru IUT Montpellier

Petite définition : Présentation :

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Programmation Web. Introduction

Formation Webmaster : Création de site Web Initiation + Approfondissement

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Les différents parcours en S4

Documentation de conception

Joomla! Création et administration d'un site web - Version numérique

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Paul FLYE SAINTE MARIE

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

LICENCE PROFESSIONNELLE

Licence professionnelle Développement d'applications Intranet/Internet

Programme de formation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

WordPress : principes et fonctionnement

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Démonstration de la mise en cache via HTML 5 sur iphone

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP. 27 ans - 6 ans d'expérience

Catalogue des formations : Utilisation d outils Open Source

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting)

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Responsive Web Design. La Rochelle, Avril 2014

Ajax, RIA et HTML Prise en charge d Ajax

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Rapport de stage Clément MOYSAN

Catalogue des Formations Techniques

Création d'un site Internet dynamique avec HTML-CSS ou un CMS Formation à distance sur le réseau Pyramide

( Mauritius ) ( France )

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

OMGL6 Dossier de Spécifications

Netvibes : optimiser sa veille d'informations

Présentation de solutions de Progiciels de Gestion d'epn Forum des Usages Brest 2010

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

Bonnes pratiques de développement JavaScript

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

1.2 - Définition Web 2.0 ( wikipedia )

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

APPROFONDISSEMENT LOGICIELS DU WEB

CERTIFICAT INFORMATIQUE ET INTERNET NIVEAU 1

Alfstore workflow framework Spécification technique

SPT Description du cours NORAMSOFT SPT2013. SharePoint 2013 pour développeurs

Découvrir le CMS. et l utiliser dans une approche pro!

CURRICULUM VITAE. Ingénieur Génie Logiciel

MERMET Sébastien Ingénieur Informatique INSA Analyste Développeur Senior Business & Data Analyste Senior 11 ans d expérience

Optimiser pour les appareils mobiles

Consultant.NET / SharePoint

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

les techniques d'extraction, les formulaires et intégration dans un site WEB

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Cassandra et Spark pour gérer la musique On-line

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

CONNEXION. Une interface de connexion sécurisée, simple et accessible même depuis un appareil mobile. CONNEXION /

Développeur - Conseiller - Formateur web

N Cour Exam Thème Durée New Installing and Configuring Windows Server J New Administering Windows Server J

Formation : Langues : Types d Intervention et Secteurs d Activité :

Java pour le Web. Cours Java - F. Michel

Présentation et références de la société

Transcription:

Découverte de différents outils JavaScript «front-end» François Agneray 21 Janvier 2016 Action nationale DevLOG «JavaScript»

Application web Architecture Back-end Front-end

JavaScript «front-end» Permet de développer des applications Internet riches (RIA) Types de fonctionnalités des RIA : Glisser-déposer Barres d'outils et rafraichissement automatique Calculs Quelques exemples de RIA : Gmail : courriel Deezer : site d'écoute musicale Airbnb : location et réservation de logements Avantages : Aucune installation nécessaire Nécessite simplement une connexion Internet et un navigateur récent

Exemple simple Une application web pour la gestion d'une «todo list» http://todomvc.com

Présentation Une bibliothèque de fonctions JavaScript pour le parcours et la modification du DOM des pages web Jquery contient les fonctionnalités suivantes : Parcours et modification du DOM Événements Ajax Utilisation et développement de Plugins Manipulation des CSS Informations Dernière version : 1.1.3 et 2.1.4 Première release : 26 aout 2006 Dernière release : 28 avril 2015 Licence : MIT Site web : https://jquery.com Effets visuels et animations

HTML Afficher une «todo list» en jquery <DOCTYPE html> <html lang="en"> <head> <title>todo list</title> <link rel="stylesheet" href="css/app.css" /> </head> <body> <form> <label>enter a Todo and hit enter</label> <input type="text" /> <-- L'utilisateur saisi un todo + entrée --> </form> <ul></ul> <-- Au démarrage la liste est vide --> <script src="bower_components/jquery/dist/jquery.min.js"></script> <script src="js/app.js"></script> </body> </html>

JS Afficher une «todo list» en jquery $(document).ready(function () { $('form').submit(function () { if ($('input').val() == '') { var input_value = $('input').val(); // On modifie le DOM à chaque nouveau todo $('ul').append('<li>' + input_value + '<a href="">x</a></li>'); } $('input').val(''); return false; }); $(document).on('click', 'a', function (e) { e.preventdefault(); $(this).parent().remove(); }); });

Présentation Un framework JavaScript pour l'écriture d'une application complète Les principales caractéristiques d'angularjs sont : Informations Application web mono-page Propose une organisation pour le code Extension du langage HTML Dernière version : 1.4.8 Première release : 2009 Dernière release : 19 novembre 2015 Patron de conception MVC Licence : MIT Data-Binding Site web : https://angularjs.org Intègre une version allégé de jquery (jqlite)

HTML Afficher la même todolist avec AngularJS <DOCTYPE html> <html lang="en"> <head> <title>todo list</title> <link rel="stylesheet" href="css/app.css" /> </head> <body ng-app="todo" ng-controller="todocontroller"> <form ng-submit="submit()"> <label>enter a Todo and hit enter</label> <input type="text" ng-model="todo" /> <-- Todo + entrée --> </form> <ul ng-repeat="todo in todos"> <li>{{todo}}<a ng-click="remove(todo)">x</a></li> </ul> <script src="bower_components/angular/angular.min.js"></script> <script src="js/app.js"></script> </body> </html>

JS Afficher la même todolist avec AngularJS angular.module('todo', []); angular.module('todo').controller('todocontroller', function ($scope) { // Au lancement la liste est vide $scope.todos = []; // Ajout d'un TODO $scope.submit = function () { if($scope.todo) { $scope.todos.push($scope.todo); $scope.todo = ''; } }; // Suppression d'un TODO $scope.remove = function (todo) { var index = $scope.todos.indexof(todo); if(index > -1) { $scope.todos.splice(index, 1); } } });

Présentation Un framework pour la gestion de la partie Vue d'une application web mono-page Les principales caractéristiques de ReactJS sont : Informations Application web mono-page Permet de créer des composants web réutilisables Ne gère que l'interface de l'application (IHM) Peut être utilisé avec un autre framework (AngularJS, Backbone...) JSX un langage pour faciliter l'écriture de la vue Dernière version : 0.14 Première release : 2013 Dernière release : 7 octobre 2015 Licence : BSD Site web : http://reactjs.com

HTML Afficher la todolist avec ReactJS <DOCTYPE html> <html lang="en"> <head> <title>todo list</title> <link rel="stylesheet" href="css/app.css" /> </head> <body> <div id="app"></div> <script src="bower_components/react/ract.min.js"></script> <script src="bower_components/react/react-dom.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script> <script type="text/babel" src="js/app.js"></script> </body> </html>

JS 1/2 Afficher la todolist avec ReactJS var TodoList = React.createClass({ render: function () { var createitem = function(item) { return <li key={item.id}>{item.text}</li>; }; return <ul>{this.props.items.map(createitem)}</ul>; } });

var TodoApp = React.createClass({ getinitialstate: function () { return {items: [], text: ''}; }, onchange: function (e) { this.setstate({text: e.target.value}); }, handlesubmit: function (e) { e.preventdefault(); var nextitems = this.state.items.concat([{text: this.state.text, id: Date.now()}]); this.setstate({items: nextitems, text: ''}); }, render: function () { return ( <div> <h3>todo</h3> <form onsubmit={this.handlesubmit}> <input onchange={this.onchange} value={this.state.text} /> </form> <TodoList items={this.state.items} /> </div> ) } }); ReactDOM.render(<TodoApp />, app); JS 2/2

Comparatif Les avantages et inconvénients de chaque framework + Développement d'une Programmation orientée application «front-end» composant + + facilement le DOM + + + Permet de manipuler Beaucoup de ressources disponibles Prise en main facile Data-binding Application MVC complète Intégration de jquery - - - - - - Ne permet pas de développer une application complète Pas de «data-binding» Temps d'apprentissage Découplage de la partie Vue Très peu de documentation Temps d'apprentissage

JavaScript «Front-end» Framework JavaScript MVC Bibliothèque de fonctionnalités