2012-08-29 11 views
7

Lo que intento hacer es crear una aplicación simple en PhoneGap y Backbone.js. La aplicación tiene una página de inicio de sesión que, en un inicio de sesión exitoso, envía al usuario a un menú simple con algunas opciones. El usuario tiene la opción de ver sus listas guardadas, ver una lista de elementos o ver una página de información. Sé cómo quiero estructurar todas las Vistas y Modelos, por lo que la pregunta que tengo es si hacer todo esto en una página tiene algún inconveniente cuando se compara con el uso de varias páginas.Backbone.js y PhoneGap, una o varias páginas?

Para dividirlo en partes más pequeñas:

  1. ¿Tiene la carga de todo el JavaScript en la página de uno tener implicaciones graves de rendimiento?
  2. Si el enrutador se cierra, .remove() y .unbind(), toda la vista actual cuando se cambia a una nueva vista, ¿todavía corro el riesgo de problemas de memoria?

Respuesta

6

Backbone fue diseñado para ser construido para aplicaciones SPA. No estoy diciendo que no pueda abarcar Backbone en varias páginas, pero en mi opinión eso agrega más complejidad. Según su descripción, mantendría su solicitud como SPA.

En segundo lugar, crea tu aplicación usando módulos. Use una biblioteca como require.js. No podría recomendarlo lo suficiente. No entraré en demasiados detalles sobre por qué deberías usarlo, porque puedes leer más sobre él here (recomendaría leer todo el libro). Una vez que su aplicación esté lista para la implementación, puede usar la secuencia de comandos de compilación r.js, require.js. Esto concatenará todos o algunos de sus módulos en un solo archivo. Esto acelerará drásticamente el rendimiento de su aplicación, especialmente si tiene varios módulos.

Finalmente, con respecto a la optimización de la memoria, utilizo un método desarrollado por Derick Bailey que puede leer acerca de here.

Espero que esto ayude.

+2

dijo que es una aplicación simple, razón suficiente para usar require.js – Andy

+1

Bueno, creo que su opinión es bastante subjetiva. Como Jdeer está preocupado por el rendimiento, require.js hace que sea extremadamente simple concatenar sus "varias páginas" en un único archivo. Puedo decirte por experiencia que la ruta del módulo ofrece muchos más beneficios que obstáculos, especialmente si planeas hacer crecer tu aplicación. No creo que tu opinión merezca un voto negativo. Si crees que mi respuesta es incorrecta, de todos modos, proporciona otra solución. – TYRONEMICHAEL

+1

el problema de rendimiento que discutimos sobre este tema está relacionado con solicitudes y respuestas, y no con la carga de contenido inicial. Dado que la aplicación es simple, no sería necesario tener varias páginas para plantillas, y el número de secuencias de comandos es mínimo. Puedes usar algo, no significa que debes usarlo. No dije que tu respuesta es incorrecta, solo digo que la parte donde mencionas require.js está mal. Y engañará a la gente de la manera en que te engañaron. – Andy

Cuestiones relacionadas