Articles


"La méditation est une faculté ; l'inspiration est un don." Victor HUGO

DEVCON 2015 : Single Page Application avec Liferay

La performance n’est pas qu’une histoire de millisecondes et d’octets. C’est aussi comment l’utilisateur perçoit l’affichage de l’application.

User perspective

Un site Web Single Page Application (SPA) est un site qui tient sur une seule page dans le but de fournir une expérience utilisateur plus fluide. Les premiers SPA furent les applications comme Gmail et Google Maps au milieu des années 2000. Aujourd’hui, cette approche est utilisée par Instagram, Twitter, Pinterest et Facebook.

Qu’est-ce qu’une bonne SPA ?

  • SEO & marque-pages : partager et marquer un lien devrait toujours afficher le même contenu
  • Historique de navigation : donner la possibilité d’utiliser l’historique du navigateur (boutons précédent/suivant)
  • State retention : scroll, rechargement, navigation à travers l’historique de la page
  • Cacheable screens : Une fois le chargement d’une certaine surface, le contenu est en cache dans la mémoire et peut être retrouvé plus tard sans requête supplémentaire
  • UI feedback : Quand un contenu est interrogé, l’application indique à l’utilisateur que quelque chose se passe
  • Timeout detection : un timeout est émis si la requête est trop longue

Senna.js est un moteur SPA ultra-rapide.

Liferay 7 utilise Senna.js. SPA est actif par défaut dans Liferay 7 :

Propriété qui active SPA

Pour le désactiver pour une portlet spécifique, on peut utiliser les capacités d’OSGi.

Annotations qui désactivent SPA

SPA permet de gagner en bande passante et en transfert de données. La performance est assurée !

Consommation de la bande passante
Consommation de la bande passante 2

VOIR AUSSI :
DEVCON 2015 : Présentation
DEVCON 2015 : OSGi
DEVCON 2015 : Outils modernes du développeur
DEVCON 2015 : Thèmes
DEVCON 2015 : Single Page Application avec Liferay
DEVCON 2015 : Upgrading to Liferay 7
DEVCON 2015 : Angular JS
DEVCON 2015 : Metal.js
DEVCON 2015 : Les outils de recherche dans Liferay 7
DEVCON 2015 : Lexicon
DEVCON 2015 : Formulaires
DEVCON 2015 : Launchpad Project