Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé.

Slides:



Advertisements
Présentations similaires
Un environnement de développement éducatif
Advertisements

Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012
Soutenance du stage de DEA.
Chap. 4 Recherche en Table
Revue de presse Master 2 RET
1 Programmation dapplications BD WEB : un tutoriel Bruno Defude GET-INT Evry
Algorithmes et structures de données
Introduction : plasticité des IHMs – Page 1 IHM et plasticité 1 IHM et Différents supports Différents utilisateurs Différents environnements Problématique.
1 / 18 ePhotoBOOK – Un album photo interactif IHM01 – 2007/2008 ePhotoBOOK Un album photo interactif Olivier BENSE Mathieu FABRE Julien GRAND-MOURCEL Hugo.
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
Réalisation dun compréhenseur multidimensionnel Projet Master Informatique 1ère année Année 2005 Christophe MOUFLIN Jérôme COPPENS.
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Spécifications fonctionnelles générales.
Research Issues at the Boundary of Competitive Dynamics and Market Evolution Written by: David Soberman and Hubert Gatignon.
Tolérance aux défaillances de logiciel
JXDVDTEK – Une DVDthèque en Java et XML
TER Gestionnaires de contenu en ligne
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Master Génie Biologique et Informatique, première année
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
Diagrammes de communication
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
Initiation à la programmation et algorithmique
Présentation du SVI - DELSOL Mikaël
XML-Family Web Services Description Language W.S.D.L.
Projet 1ère STI2D ITEC Moto Planeur Solaire
Réalisation Gestionnaire de Stock
Validation d’applications pour les Legos Mindstorms
Principes de persistance dans les applications orienté objet
Feature Driven Development (FDD)
Projet de Compilation Manuel VACELET, Jean Pierre CAURIER, Gaël COLLE,
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
OIL & UPML DREVET - HUMBERT Introduction OIL : un langage de description dontologies UPML : un langage de description de systèmes à base.
Paul Bories Cyril Enrici Bouzidi Gharoual Kevin Royere
Calculatrice Financière Android
Projet Génie Logiciel & UML, Bases de Données & Interfaces
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Clients riches RIA (Rich Internet Application) / RDA
Ecaterina Giacomini Pacurar
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
La gestion par activités (ABM)
Conception des Réalisé par : Nassim TIGUENITINE.
Nouveaux Composants pour Joomla Auteurs El Khalil El MOUNTASSIR Yassine BENCHEKROUN 08 Janvier 2008 I.U.P. G.M.I. d'Avignon Tuteur Michel BENOIT.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Outils graphiques de conception et de débogage sous Eclipse
‘‘Open Data base Connectivity‘‘
-Présentation de l’équipe -Cadre du projet -Enjeux -Choix du sujet.
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Effeindzourou Anna, Meunier Stéfanie, Loyer Alexis, Calandreau Julien
Outil de gestion des cartes grises
Les principes de la modélisation de systèmes
AngularJS.
Architecture Logicielle Les blocs d’applications
BEWITCHED 12/10/2006 Soutenance GLAO #5 slide 1 Soutenance GLAO #5 AGL & SYGIME Bewitched Team 12 Octobre 2006.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Présentation du développement du projet.  Introduction  Conception et méthodes  Developpement  Conclusion 2.
MOCK.
Toolkit WEB de contrôle en SVG Equipe Koala d’ILOG Encadré par Colas Nahaboo Isabelle LAFAYE.
Les langages de programmation
Automate pour sites web Yannick Bensacq Stage Uranie 2005.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Soutenance Phase 1 Bibliographie et Analyse des besoins
Apports des clients riches dans le monde du WEB 2.0
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Transcription de la présentation:

Veille Technologique : Étudier les avantages et inconvénients du typage statique et du typage dynamique pour des applications interactives Sujet proposé par Noël Plouzeau François HUVE - Mathieu GUICHAOUA M2 GL Istic 2011-2012

PLAN Introduction Partie 1 : Cas des langages au typage dit statique Partie 2 : Cas des langages au typage dit dynamique Conclusion

Introduction Application interactive ? Plusieurs écrans Navigation et interaction

Introduction Une grande variété de dimensions pour le typage. Celle qui nous intéresse : Typage statique (ex : Java…) / Typage dynamique (ex: PHP…) Meilleur choix pour une application interactive ?

Partie 1 : Cas des langages au typage dit statique Définition du typage statique Langages statiques à composantes dynamiques Opposition au typage dynamique

Partie 1 : Cas des langages au typage dit statique Avantage : erreurs relevées à/avant compilation Question : fiabilité indispensable ?

Partie 1 : Cas des langages au typage dit statique Avantage : optimisation de code et performances Question : rapidité nécessaire ?

Partie 1 : Cas des langages au typage dit statique Inconvénient : code à ajouter manuellement pour transtyper une variable Complexifie la vie de développeurs avec moins d’expérience

Partie 1 : Cas des langages au typage dit statique Exemple : Traitement sur des entiers Pseudo code (typage statique) : a = 4 b = "2" concatenate(a,b) #Erreur de type add(a,b) #Erreur de type concatenate(str(a),b) #Rend "42" add(a, int(b)) #Rend 42

Partie 1 : Cas des langages au typage dit statique Exemple : Traitement sur des entiers Pseudo code (typage dynamique) : a = 4 b = "2" concatenate(a,b) # Rend "42" add(a,b) # Rend 42 Typage faible + typage dynamique = simplifie codage + ajoute risques

Partie 2 : Cas des langages au typage dit dynamique Avantages principaux : - Simplification code concernant variables - Compilation plus rapide -> important pour visualisation - Moins de questions à se poser sur type des données ex : numéro de téléphone

Partie 2 : Cas des langages au typage dit dynamique Simplification codage vs. Insécurité des types Risque d’incohérence des données Question : prêts à prendre le risque ?

Partie 2 : Cas des langages au typage dit dynamique Inconvénient, exemple concret : concept objet en PHP source : Wikipedia::PHP (English)

Partie 2 : Cas des langages au typage dit dynamique Suite inconvénients : typage non statique dans concept objet demande : - Plus de rigueur sur les appels de méthodes - Capacité à se passer de complétion contextuelle de l’IDE - Encore PLUS de tests, diffère selon les cas

Partie 2 : Cas des langages au typage dit dynamique Avantage concernant tests : gain de temps sur la "compilation" Petit avantage "sale" : typage dynamique permet meilleur réutilisation code via concept objet en autorisant n’importe quel appel de méthode sur n’importe quel objet tant qu’il ne provoque pas d’erreur de typage

Conclusion Dépend fortement du contexte de développement ! ( spécifications appli. , niveau d’optimisation code voulu… ) Cependant, typage dynamique semble préférable pour applications interactives

Conclusion Résumé des raisons : - Plus rapide pour tester l’interface graphique, permet plus de tests vraiment fonctionnels - Simplifie code pour développeur, permet faire faire à moindre prix (surtout pour appli web) - Langages à typage statique pas nativement faits pour des applications interactives (nécessité passer par librairies) tandis que certains langages à typage dynamique sont faits pour cela (PHP, JavaScript…). Mix intéressant : Google Web Toolkit

Questions ? Sources : Premières parties de : Including both static and dynamic typing in the same programming language, by F. Ortin D.Zapico, J.B.G. Perez-Schofield, and M. Garcia Et articles Wikipédia : http://fr.wikipedia.org/wiki/Typage_statique http://en.wikipedia.org/wiki/Dynamic_typing http://en.wikipedia.org/wiki/Php http://en.wikipedia.org/wiki/Strong_typing