Breaking a large rails app into smaller apps?¿Cómo puedo implementar Modularización en una aplicación de Rails?
Modularizing Rails applications
Best practice for structuring a 'large' Rails app
Tengo una pregunta rápida sobre la modularización en un gran rubí en los carriles de aplicaciones.
Configuración:
Estoy construyendo una aplicación central que almacena información acerca de las personas. También tengo varios 'módulos' que usan esa información de maneras muy diferentes. (por ejemplo, uno podría mostrar información sobre las personas, otro podría descubrir las conexiones y las similitudes entre ellos, etc.).
La pregunta:
¿Cómo modularizar esta aplicación eficiente?
respuestas potenciales:
Dado que los modelos de módulos de acciones y puntos de vista con la aplicación del núcleo (y) entre si que tiene sentido para mí para combinarlas en una sola aplicación. Sin embargo, a medida que la aplicación crezca, esto obviamente generará problemas. Esto me sugiere el nombre de los controladores de espacio y los modelos "How to organize controller in moderately large Rails application?" o el uso de los motores "Modularizing Rails applications".
Dado que los módulos están en desarrollo activo, es muy útil utilizar generadores de rieles en ellos, lo que parece hacer que usar Engines sea un dolor en el trasero. También parece que si bien los motores son totalmente compatibles desde el punto de vista de Rails, todavía parecen bastante hacky con respecto a la falta de soporte de generador y migraciones de bases de datos. ¿Alguien tiene experiencia en desarrollar motores con éxito? Parece que los motores serían una gran solución si tuvieras una aplicación en funcionamiento y quisieras convertirla en un complemento (es decir, copiar y pegar código) pero si la estás desarrollando activamente (cambiando modelos, etc.) sería difícil.
Lo último que he visto es utilizar varias aplicaciones y una base de datos. De esta manera parece un dolor real con las migraciones y manteniendo modelos rectos, etc. etc. Pero pensé que también tendría ideas sobre eso.
Una buena manera de vincular a SO preguntas - no sabían que existía! – Zabba
"Estoy construyendo una aplicación central que almacena información sobre [lo que sea]. También tengo varios 'módulos' que usan esa información de maneras muy diferentes". ¡Esto podría describir casi todas las aplicaciones de rieles jamás construidas! :-) ¿Puedes ser más específico con tus drivers? Al menos cuéntanos cuántas entidades crees que tendrás. – Rob