Mi objetivo es migrar una aplicación web existente a una aplicación RESTful de página única (SPA). Actualmente, estoy evaluando varios marcos de aplicaciones web de Javascript.
Mis requisitos son los siguientes:
- Capa de datos RESTful (como ember-data)
- MV * -estructura
- Rutas dinámicas
- Prueba-soporte
- Codificación por convención
- Soporte SEO
- Compatibilidad con el historial del navegador
- Buena documentación (API)
- Listo para producción
- Comunidad viva
Columna vertebral
La aplicación actual está usando backbone.js
. En general, backbone.js
es un buen proyecto, pero me faltan estructuras bien definidas que determinen dónde debe suceder y cómo deben implementarse las cosas. Trabajar en un equipo más grande con desarrolladores cambiantes conduce a algún tipo de código no estructurado, difícil de mantener y difícil de entender. Es por eso que estoy buscando ahora un marco, que ya defina todo esto.
Ascua
Miré ember.js
los últimos días. El enfoque me parece muy prometedor. Pero, lamentablemente, el código cambia casi a diario. Por lo tanto, no lo llamaré listo para producción. Y, desafortunadamente, no podemos esperar a que sea la versión 1.0. Pero realmente me gusta la idea detrás de este marco.
Angular
Angular.js
también es un marco muy extendido, mantenido por Google. Pero no pude familiarizarme con angular. Para mí, la estructura parece poco clara, faltan explicaciones de las responsabilidades generales de cada parte del marco y las implementaciones parecen tortuosas. Para aclarar esto: esta es solo mi impresión personal y podría estar basada en conocimientos faltantes.
Batman y meteorito
Según entendí, ambos marcos también necesitan una parte de servidor. Y dado que solo queremos un backend RESTful, sin importar el idioma, la técnica o el software, esto no es lo que queremos. Además, la API de backend ya existe (RoR).
Knockout , CanJS y Spine
No profundicé en estos tres candidatos. Quizás este sea mi próximo paso.
Entonces mis preguntas ahora:
- ¿Me estoy perdiendo algún buen marco de SPA?
- ¿Qué marco sugeriría / recomendaría?
- ¿Evitarías alguno de los marcos mencionados?
- ¿Cuál es su experiencia en aplicaciones de SP más grandes?
PD: Me gustaría recomendar una excelente publicación de blog de Steven Anderson (desarrollador principal de Knockout.js) sobre la conferencia "Throne of JS" (de 2012) y los marcos de javascript en general.
PD: Sí, sé que ya hay algunas preguntas sobre SO. Pero dado que el desarrollo es tan rápido y rápido para las SPA, la mayoría de ellas ya están desactualizadas.