Pourquoi Play! Framework est intéressant pour votre business !

"Les applications web d’aujourd’hui ne peuvent plus continuer à «singer» les applications d’autrefois."

Pour faire face aux challenges actuels, au dynamisme accru des applications, à la démultiplication du nombre d’utilisateurs concurrents, il est nécessaire d’exploiter pleinement les technologies du web.

C’est le challenge que nous relevons aujourd’hui avec nos applications développées avec le framework Play! comme de nombreux autres acteurs du Web :

L'esprit du Web

Depuis quinze ans, les environnements de développement d’applications web ont lutté pour permettre aux développeurs de sortir du carcan de la page statique. Ces environnements ont progressivement évolué mais n’ont jamais réussi à s’affranchir des méthodologies de développement "traditionnelles".

Les contraintes imposées par le nombre d’utilisateurs simultanés et par le modèle requête-réponse implique un changement radical de méthodologie dans la conception de l'application.

Play! est un framework Full-stack

Play! Framework embarque toutes les briques nécessaires au support d’une application web moderne et modulaire. Il nous permet enfin de faire concorder nos méthodes de développement avec ce qui fait le web : le protocole HTTP, l’approche REST (Representational State Transfer) ainsi que la consommation et la production des formats que consomment nativement les navigateurs (HTML, CSS, JavaScript, JSON...)

Play adopte pleinement les principes de l’architecture REST  :
  • Il sépare la gestion de l’interface et la gestion des données grâce au support de l’approche MVC (Model-View-Controller) et à la prise en charge de la compilation des assets exploités dans le navigateur pour exploiter celui-ci comme une plateforme de développement. 
  • Il ne conserve pas d’état entre les requêtes (stateless) ce qui évite les mauvaises pratiques de gestion de session auxquelles nous faisons face depuis le début du web (remplissage de mémoire, perte de session intempestive au bout d’un temps sans utilisation). Une fois de plus, le navigateur est mis à contribution en exploitant ses capacités de stockage locales. 
  • Les ressources de l’application sont identifiées de manière unique et prédéfinies grâce au système de gestion de routes, ce qui favorise la propension naturelle de ces requêtes à être cachées par le navigateur et par les proxies pour faciliter la montée en charge.

Play! est extrêmement performant et fiable

  • Les langages exploités pour le développement des ressources côté serveur et côté client sont validés et compilés avant le déploiement (contrôleurs, templates, feuilles de style less, scripts javascript...) 
  • Le Développement en langage scala qui favorise le support de la parallélisation sans effets de bord pour la montée en charge et la fiabilité grâce à son modèle fortement typé. 
  • Support natif du framework de middleware Akka : modèle de distribution de traitements dans un cluster d’hôtes d’exécution permettant à chaque traitement de vos applications d'utiliser des ressources de calcul réparties sur plusieurs machines, comme dans les super-calculateurs !

Play! favorise aussi la qualité fonctionnelle

Play! n’a pas que des avantages techniques, il favorise aussi la qualité fonctionnelle de vos sites et de vos applications avec :
  • Génération d’URL compatibles avec les bonnes pratiques du référencement
  • Modélisation des enchainements d’actions en exploitant les méthodes du protocole http
Création graphique : Marc Vandamme