¿Cuál es la mejor manera de etiquetar una aplicación web en general, y específicamente en Rails, para que pueda ser utilizada como motor y altamente personalizable por el cliente?

Hay mucho de eso.

Estás en lo correcto cuando ves que la tenencia múltiple maneja principalmente el nivel de base de datos de la separación de datos.

Cuando se habla de interfaces altamente personalizadas que crean los usuarios, realmente debería comenzar a pensar en cómo algunos servicios como Shopify manejan su interfaz, con Timber. No es una cosa fácil. Dos de mis desarrolladores anteriores son antiguos ingenieros que crearon un motor de renderizado similar para que los usuarios finales creen sitios móviles para una alta personalización. No es fácil entenderlo. Debe crear un diálogo entre su usuario y su aplicación, dado lo que su usuario final sabe y cuán fuertes son sus habilidades de desarrollo front-end. Si son lo suficientemente importantes como desarrolladores, puede dejarlos sueltos con etiquetas de marcado. Puede almacenar su markdown / erb / haml / lo que sea, validarlo, y me refiero a VALIDARLO, y luego pasar ciertos datos disponibles a una plantilla. Las plantillas líquidas son un buen lugar para comenzar, en la implementación de cómo construiría front-end verdaderamente personalizables.

Otro lugar está utilizando vistas predeterminadas en Rails 3.0 con solucionadores personalizados. Es una forma novedosa (que todavía funciona en 4.0), si representa plantillas estáticas (que ha escrito a través del trabajo, o algo por el estilo).

Otra cosa es que, al menos con el etiquetado blanco, les permite construir su propia aplicación de rieles, dada una cierta flexibilidad, les permite usar su motor para impulsar su aplicación. Ciertamente no es el más ideal, pero es una posibilidad, dependiendo de su caso de uso. Este es mi método preferido para el etiquetado blanco para pocos clientes, si va a tener todo el control sobre el código. Por lo general, con esto, crearé una tabla de configuración, con un montón de esquemas de colores, opciones de fuente, y escribiré un archivo css.erb complementario que sobrescribirá un montón de estilos predeterminados.

La última opción es almacenar valores en javascript y hackearlos en un marco front-end como Backbone, Ember o Angular para crear esas capas, inyectarlas y llamarlo un día.

Nada de esto es una tarea fácil, pero es una tarea muy factible.

Déles rieles y enséñeles a programar.

More Interesting

¿Qué pasos adicionales tomaría para escalar con el tiempo una aplicación web (por ejemplo, comercio electrónico) de 10 visitas por día a 10,000,000?

Después de crear una aplicación web, ¿qué necesita para seguir actualizando?

¿Cuál es la forma moderna de crear una aplicación web?

¿Qué tipo de cosas puedes construir con Yahoo! ¿Tubería?

¿Cuál es la expectativa de una pregunta como cómo convierte una aplicación web de usuario único en una aplicación web multiusuario?

¿Cuáles son los pros y los contras de permitir que los usuarios elijan entre una selección de diseños predeterminados?

¿Qué es una aplicación de Windows que puede organizar mi biblioteca de música y hacer lo siguiente?

¿Cuál es la capacidad clave del proveedor para desarrollar una aplicación web integral?

¿Existe una aplicación en Salesforce.com que pueda completar la ciudad / estado / país líder a partir del código de área del número de teléfono?

¿Cómo puedo aprovechar mi habilidad de desarrollo de aplicaciones C ++ QT para construir aplicaciones web HTML5? ¿Existe un solo marco de JavaScript HTML5 que sea similar?

¿Cuál es el mejor reemplazo para Google Moderator?

¿Cuáles son las mejores prácticas para aprender tecnologías web?

¿Cuál es la mejor manera de crear paneles basados ​​en web basados ​​en múltiples tablas y bases de datos MySQL?

¿Las aplicaciones web realmente pueden reemplazar las aplicaciones nativas fuera de línea / Windows para el software ERP?

¿Cuáles son los consejos para un mejor desarrollo de aplicaciones web en 2017?