Cómo desacoplar la IU del backend (base de datos)

Best UX es relativo al mercado y depende en gran medida de las expectativas de los usuarios. Lo que funciona para un usuario no necesariamente funciona para otro. Por lo tanto, hacer este movimiento potencialmente masivo debe analizarse en profundidad.

Siempre que haya múltiples ‘sitios’ en la misma compañía, se deduce que la compañía es lo suficientemente grande como para tener múltiples grupos / divisiones a cargo de tomar decisiones independientes. Lucharán con uñas y dientes para defender su solución alegando que es la mejor a costa de la empresa. Alinear a los diferentes grupos hacia el mismo UX es más un juego de diplomacia y política que la ingeniería real.

El problema empresarial también debe definirse con mayor claridad. Es necesario responder varias preguntas para determinar los objetivos comerciales y la longevidad deseada de la solución.

Hay muchas maneras de lograr esto puramente en el lado de la ingeniería. Dentro de una aplicación de n niveles, hay tantos puntos de interfaz donde se pueden integrar dichos ‘back-end’.

  • REST está ganando popularidad sobre SOAP debido a su diseño bien definido y en este momento bien probado.
  • SOA y Micro-servicios pueden emplearse para lograr un estado más dinámico para que la empresa no cambie los requisitos más adelante.
  • Esta es una buena opción si varios grupos han utilizado tecnologías potencialmente difíciles de integrar en sus soluciones.
  • Los ORM se pueden usar para integrar diferentes fuentes de datos al final.
  • Si la mayoría de las tecnologías de ‘back-end’ son homogéneas, entonces el proveedor ya puede tener una herramienta que integra los diversos ‘back-end’. Es solo una cuestión de implementar la herramienta y conectarla a los ‘back-end’ en el lugar correcto.

Un arquitecto de software experimentado podrá identificar estos problemas, trabajar con la empresa y proponer la mejor alternativa.

Para desacoplar completamente el cliente UI del backend, use CORS (intercambio de recursos de origen cruzado). Este es un conjunto de encabezados que puede configurar en sus respuestas http que permiten que las solicitudes web sean de un origen diferente al de su servidor. De esta manera, puede servir su código de cliente desde un servidor de alto rendimiento como nginx. Además, su rendimiento de back-end mejorará porque no tiene que preocuparse por servir ningún activo estático. El 100% de sus solicitudes web a su backend deberán ser AJAX. Este enfoque funciona mejor cuando se crea una aplicación web de página única (SPA). Pero también puede implementar el enrutamiento con un enrutador del lado del cliente como page.js.

La mejor manera de desacoplar el cliente / UI del backend es seguir la arquitectura RESTful. Para saber qué es la arquitectura REST, puede seguir esto ¿Qué es REST?

Después de aprender sobre la arquitectura tranquila, intente encontrar la biblioteca de desarrollo API tranquila para su plataforma de back-end.

También debe usar la arquitectura pesada de JavaScript para el front-end. para comprender mejor esto, puede buscar con la arquitectura de “aplicación de una sola página”.

angular2 es un buen marco para crear clientes web pesados ​​de JavaScript para interactuar con el backend RESTful.

More Interesting

¿Qué debo aprender para construir un sitio web (front-end + back-end)?

¿Cómo se considera PHP Backend?

Cómo encontrar diseñadores web experimentados para una colaboración a largo plazo

¿Qué tan difícil sería aprender SQL y PHP sin ningún conocimiento previo en desarrollo de backend?

¿Qué idioma se usa para crear el back-end de un sitio web?

Como principiante con back end, ¿qué debo aprender?

¿Dónde se usa el concepto de encapsulación en proyectos Java en tiempo real?

Si quisiera crear un sitio como Quora, ¿cómo gestionaría mis desarrolladores front-end y back-end por separado y de manera eficiente?

¿Cómo son las 'estructuras de back-end' de los juegos más grandes con alrededor de mil millones de jugadores, como los juegos de Supercell?

¿Django, Ruby on Rails y Node.js se harán cargo de Java para el desarrollo web de backend?

¿Cuáles son las diferencias entre hacer solicitudes HTTP desde el frontend frente al backend?

Soy un desarrollador front-end y quiero aprender back-end. Cuál es la opción más interesante y estable para el desarrollo completo: Node.js con Express o Sails; o Python con frasco o pirámide?

Sé cómo desarrollar aplicaciones simples de Android que almacenan datos localmente. ¿Qué habilidades de software debo aprender a continuación para crear aplicaciones que puedan manejar la sincronización en línea?

¿Cómo debo desarrollar un backend de una aplicación de Android?

¿Qué editores de código se usan ampliamente en la industria del desarrollo web para la programación de back-end como PHP y MySQL?