¿Qué tan diferente es construir una aplicación backbone.js en comparación con una aplicación ajaxy rails?

Ir con backbone.js puro para un SPA más grande podría ser realmente doloroso. Se sentirá como usar sinatra para construir algo que sabes que obtendrías rápidamente con rieles. Obtienes una herramienta muy básica, como un martillo, y tienes que hacer todo con ella. Eventualmente, puede hacerlo, pero no será divertido, probablemente difícil de mantener. Cosas tan simples como crear formularios o generar rutas volverán a ser un problema, y ​​eso se siente extraño después de años de desarrollo con rieles.

Sin embargo, hay un gran marco construido sobre la columna vertebral: Marionette.js
Definitivamente recomendaría echarle un vistazo si desea permanecer en la ‘columna vertebral’ de la escena js frameworks (ya que ahora hay muchas opciones excelentes: ¿qué frameworks y kits de herramientas de Javascript están de moda en este momento?)

Hay algunas excelentes series de screencast en marionetas que lo ayudarán a comenzar:
BackboneRails.com – Screencasts y Tutoriales

He transportado dos proyectos de rieles tradicionales a una aplicación frontbone heavy backbone.js, utilizando rieles para proporcionar más o menos la canalización de activos y los puntos finales API.
Es más trabajo seguro, pero el resultado final se ve y se siente mucho mejor que una aplicación de rieles ajaxy. También obtendrá una API de descanso en el progreso, que puede impulsar otros productos (aplicaciones móviles, etc.).

Algunos puntos de dolor que he notado:

  • Su base de código se convertirá principalmente en JavaScript y eso puede ser un desafío para organizar y mantener adecuadamente (le aconsejo que piense en la estructura y el uso de la herencia para obedecer DRY tanto como sea posible)
  • Las pequeñas cosas que obtienes de forma gratuita fuera de la caja (o con gemas) serán un poco más trabajo (paginación, archivos adjuntos, etc.)
  • La estructura de código basada en eventos es más difícil de leer que la simple solicitud -> estructura de respuesta que sigue rails
  • El SEO puede ser complicado, pero ahora hay formas de evitar esta caída

Para mí, lo bueno supera a lo malo y continuaré construyendo clientes JavaScript pesados ​​en lugar de aplicaciones clásicas de tipo solicitud-respuesta.