En programación, ¿es una mejor práctica trabajar de front-end a back-end o back-end a front-end?

No hay una respuesta correcta, hay dos paradigmas diferentes aquí. Si está trabajando con un marco como el ADF de Oracle, lo más probable es que ya tenga un modelo de base de datos, que puede extender a las entidades y luego usar para construir una aplicación cliente, por lo que en este caso, comience con las fuentes de datos y adáptelos en una capa de datos, luego construya su aplicación cliente; El polo opuesto es un marco de desarrollo basado en modelos como RoR, donde se desarrolla de arriba hacia abajo, y el modelo de datos es un artefacto creado a partir de los requisitos de información de la aplicación.

En un proyecto empresarial, recomiendo trabajar desde el medio hacia abajo. Elabore los requisitos de su negocio hasta que tenga un conocimiento sólido de sus requisitos de información, diseñe su capa de datos y comience a construir su API utilizando pruebas unitarias como parte de la recopilación y elaboración de requisitos; luego comience a construir su aplicación, volviendo a su modelo de información cuando sea necesario.

Depende del caso. No siempre se siente cómodo trabajando desde cero. También hay múltiples factores que pueden empujar la decisión en una u otra dirección.

Al tener experiencia como desarrollador de pila completa, puedo ver ambas caras de la moneda. Siempre que el back-end sea bastante sólido y no cause ralentizaciones notables desde la perspectiva de los clientes, UX / front-end es más importante. Esto es lo que ven e interactúan a diario.

La implementación del front-end primero le brinda más elasticidad. Puede diseñar UX / UI de la manera que desee, sin preocuparse demasiado de cómo se almacenarán, servirán y procesarán los datos. El evento que tenga esa opción piensa primero en una lógica empresarial sólida. No lo haga más complejo de lo necesario. La lógica desordenada brinda una implementación desordenada, incluso escrita por programadores realmente buenos, utilizando las mejores tecnologías.

En realidad, incluso cuando está construyendo front-end primero, es posible que necesite un poco de “andamiaje” de back-end también muy pronto. Entonces probablemente deberías construir algún prototipo y más tarde MVP muy pronto. MVP se convierte en la versión 2, 3 y así sucesivamente. Es un proceso iterativo y, después de algún tiempo, casi todos los proyectos vivos desarrollan tanto front-end como back-end uno tras otro o al mismo tiempo en diferentes proporciones.

En general, es un tema para un artículo separado e incluso un libro en sí. Hay tantos aspectos que cubrir. En caso de duda, consulte sus necesidades específicas con un profesional. La arquitectura de software y la creación de productos de software no es algo trivial. La experiencia es realmente importante para hacer que las cosas funcionen lo mejor posible.

Prefiero comenzar con la interfaz de usuario frontal.

Comience con la interfaz de usuario, termine del 50 al 60% y luego conecte las API de back-end. Completa iterativamente la función.

Los requisitos cambian todo el tiempo y generalmente pertenecen a la interfaz de usuario. Comenzar con la interfaz de usuario lo pone al día rápidamente y también lo ayuda a encontrar brechas en los requisitos temprano.

Nota: Principalmente trabajo en aplicaciones web de una sola página utilizando API REStful, por lo que mi respuesta se basa en eso.