des frameworks “modernes” • Avoir une première expérience du prototypage d’applications web • Introduire des outils de développement rapide d’applications (RAD) avec des frameworks légers • Déterminer le bon outil en fonction de la problématique JEE très (trop?) riche vs Play/RoR moins riches (pour le moment) • Etre capable de développer un site web pour un usage personnel Sunday, October 28, 12
de Ruby on Rails • Premier développement en 2007 par Guillaume Bot • Simplifier l’écriture d’applications web basées sur Java • Succès rapide auprès des startups • Il existe deux versions: 1.2.5 (Java) et 2.0 (Scala) Sunday, October 28, 12
• Limiter le nombre de fichiers de configuration (pas de web.xml, persistence.xml, hibernate.cfg.xml, ...) • Abstraire la gestion des données (Object relational mapping) • Permettre des modifications “à chaud” • Faciliter le déploiement de l’application • Exemples de Rad: Ruby on Rails, Grails, CakePhp, Django Sunday, October 28, 12
reposant sur Java • Beaucoup de plugins disponibles • Permet de développer des applications web très rapidement en faisant du prototypage Sunday, October 28, 12
(Scala) • Les bases sont les mêmes (MVC, ORM, balises html spéciales, ...) • Play 2.0 manque encore de finition et n’est pas rétrocompatible • Les offres d’emploi/stage portent essentiellement (pour l’instant) sur Play 1.2.5 • Le projet sera basé sur Play 1.2.5 Sunday, October 28, 12
on lui demande d’entrer des informations ‣ Il les valide ‣ le serveur reçoit et traites les informations ‣ le serveur choisit la réponse à apporter Sunday, October 28, 12
comportement de l’application ‣ Ajout d’un fichier Bootstrap.java à la racine du dossier app ‣ L’annotation @OnApplicationStart indique qu’il faut exécuter ce code au démarrage du projet ‣ Le travail effectué consiste à charger les données de data.yml Sunday, October 28, 12
dynamique • Le navigateur lance une requête au serveur • Le contenu doit être affiché dans un format compréhensible (XML ou JSON) Sunday, October 28, 12
dynamique • Le navigateur lance une requête au serveur • Le contenu doit être affiché dans un format compréhensible (XML ou JSON) Sunday, October 28, 12
dynamique • Le navigateur lance une requête au serveur • Le contenu doit être affiché dans un format compréhensible (XML ou JSON) Sunday, October 28, 12
dynamique • Le navigateur lance une requête au serveur • Le contenu doit être affiché dans un format compréhensible (XML ou JSON) Sunday, October 28, 12