AngularJS y OnsenUi. Caché de plantillas.
The Answer to PhoneGap UI Development   Onsen UI

 

OnsenUI. Framework basado en AngularJS

OnsenUI es un framework para desarrollo móvil basado en AngularJS. Hemos estado realizando pruebas con este framework. Analizamos las mejoras que se pedían en GitHub y nos fijamos en una que podía mejorar  el rendimiento de la aplicación móvil. Era la de proporcionar un sistema de caché para las plantillas que utiliza OnsenUI para cada una de las páginas y proporcionar la posibilidad de definir inline las plantillas de AngularJS.

Modificaciones realizadas

En el fichero OnsenUI/framework/directives/navigator.js nos encontramos el código que nos permite “navegar” a través de las diferentes páginas de nuestra aplicación web. Como lo que queríamos implementar era la cache de las plantillas, inyectamos $templateCache en la declaración de la directiva Navigator y realizamos cambios en el procedimiento pushPage. En el código original cada vez que cambiamos de página carga la plantilla con $http , la compila y la añade al DOM. 

Con esta modificación comprobamos si la plantilla (template) está ya en la caché después de haberla cargado con el servicio $http de AngularJS o haberla definido inline dentro del html de la página con

De esta forma, aumenta la velocidad en las transiciones ya que no tenemos que cargar la plantilla cada vez que cambiamos de página.

Actualización: Han implementado otro sistema de cache que puede ser utilizado por varios elementos dentro del framework, no solamente por la directiva Navigator. Aún así ha sido un buen ejercicio de aprendizaje.