¿Es mejor comenzar con el código front-end o el código back-end al desarrollar un sitio web?

La estructura de la aplicación es más importante que cómo se muestra. Si ha planificado su aplicación con lápiz y papel, diagramas de flujo de usuario o adhesivos en una pared, puede comenzar a hacer que su aplicación funcione.

Si no comienza con la función, es posible que sea necesario modificar el código del front end para que coincida con la funcionalidad final.

Básicamente, la forma siempre funciona.

ACTUALIZAR:

Continuando con un par de las respuestas más recientes …

Mi respuesta a esta pregunta se basa en la pregunta formulada, centrándose en el “desarrollo”. Si no ha conseguido que el cliente (ya sea interno o externo) acepte los objetivos, la función y el contenido, nunca les permitirá aceptar racionalmente una interfaz de usuario. Desarrollar una interfaz de usuario y luego descubrir lo que quieres que haga no es una receta para el éxito del software o del sitio web.

Si está trabajando en el desarrollo de una interfaz de usuario para un cliente, solo puede desarrollar la interfaz de usuario después de haber acordado qué debe hacer la aplicación (sitio web). Una interfaz de usuario hermosa sin función es bastante inútil. (Por supuesto, una vez que llega al desarrollo de la interfaz de usuario, se desperdicia una gran función a menos que sea fácil de usar y razonablemente atractiva).

Al desarrollar una aplicación o sitio web, su equipo (y / o el cliente) deben acordar cuáles son los objetivos de la aplicación. Una vez que esté de acuerdo con los objetivos, puede decidir qué contenido y / o función desea crear para respaldar los objetivos. El contenido y la funcionalidad (características) determinarán el flujo de la interfaz de usuario de la aplicación o las páginas del sitio web. Solo así podrá crear una interfaz de usuario y una aplicación que “funcionen” (cumplan sus objetivos).

Los diseñadores pueden comenzar con el front-end para cumplir con los objetivos y la función de una aplicación / sitio web. Los desarrolladores crean la función (primero) en función de los objetivos de las aplicaciones, y la función / objetivos impulsan el diseño (segundo).

Actualización basada en comentarios y otras respuestas

Supongo que la pregunta es sobre el sitio web orientado al usuario final (consumidor o usuario comercial). También supongo que no es una plataforma o marco para la reutilización en múltiples escenarios, interfaces de usuario, aplicaciones.
Mi respuesta se basa en seguir paradigmas ágiles de desarrollo y pensamiento de diseño. Por lo tanto, incluso con una lógica empresarial de back-end muy compleja, prefiero asegurarme de que el desarrollo de front-end llegue a un punto en que las API de back-end sean absolutamente claras. Solo entonces puede comenzar el desarrollo del back end. En paralelo, puede pulir el extremo frontal y desarrollar el extremo posterior.
A veces, antes de comenzar con el desarrollo, le gustaría validar la viabilidad del sistema. En muchos casos, significa que desarrollará una prueba de concepto para el backend. Por supuesto, puede continuar con el desarrollo productivo de back-end, lo que puede dar lugar a cambios futuros, la necesidad de crear un código de adaptación y posibles problemas de rendimiento porque los servicios no estaban optimizados para el comportamiento del front-end.
Finalmente, en proyectos más grandes, puede dividir el sistema verticalmente, mejor entre la funcionalidad de diferentes roles, mientras se ocupa de la arquitectura de destino, y así hacer que su desarrollo esté mejor distribuido.

Respuesta original
______________________________________
Claramente frontal, mientras se burla de la parte trasera.
Solo cuando usted o su cliente están contentos con la interfaz de usuario y los flujos y la validan con usuarios reales, desarrollan back-end, reemplazando una función simulada a la vez.
La razón: nunca creas una interfaz de usuario correcta desde el primer intento y cuando la cambias, muchas veces cambias el back end. No quieres desperdiciar tus esfuerzos.
Excepción: a veces el back-end puede ser mucho más complejo, requiere algún tipo de investigación y POC y tiene suficientes recursos para desarrollar el front-end y el back-end en paralelo y luego lo planifica.

Mis alumnos hacen esta pregunta a cada cohorte. La forma correcta de formular la pregunta es “cuándo es mejor”, porque depende.

Si sabe lo que quiere construir o si se está integrando con las fuentes de datos existentes, entonces poner en orden su back-end puede ser un lugar atractivo para comenzar.

Si los usuarios no saben lo que quieren, entonces construir un código de back-end es una actividad de alto riesgo y baja recompensa y crear prototipos de pantallas que simplemente se burlen de los datos es la forma de descubrir lo que realmente se desea.

La base de datos / back-end tiende a ser lo más difícil de cambiar una vez que está en su lugar y tiene datos, por lo que cuanto más incertidumbre tenga, más debería buscar diferir ese trabajo.

Debería llegar al punto del proyecto en el que todas las partes del mismo puedan trabajarse juntas para ser ingenieros diferentes. Acuerde las interfaces entre el front-end y la capa intermedia, luego entre la capa intermedia y el back-end. Una vez que todos estén de acuerdo, entonces pueden trabajar en forma independiente.

Este es MVC estándar, controlador de vista de modelo, patrón de diseño.

Este siempre ha sido un tema discutible porque cada proyecto tiene diferentes niveles de complejidad y desafíos. Los requisitos y funcionalidades del producto también deben tenerse en cuenta. Puedes seguir el siguiente orden:

1. Prepara las composiciones
2. Diseñe la estructura del backend con la ayuda de comps.
3. Obtenga la interfaz de UI
4. Comience a probar

Comenzar con el front-end le dará cierta flexibilidad para realizar los cambios necesarios, si corresponde. Puedes jugar con datos simulados para empezar. Cambiar los datos simulados lleva menos tiempo que cambiar todo el esquema de la base de datos y la lógica de la aplicación.

Si necesita ayuda con un proyecto de desarrollo web, comuníquese con nosotros en ReliableCoders, una empresa de desarrollo móvil / web con sede en Sunnyvale, CA. Visítanos en ReliableCoders. También tenemos un Estimador de proyectos si necesita una estimación.

Si su sitio web o aplicación tiene un backend y un frontend, lo más probable es que extraiga datos de una base de datos u otra fuente.
Por lo tanto, debe preparar su backend antes de abordar su interfaz para tener todas las piezas en su lugar para la prueba.

Querrá desarrollar el extremo frontal y el extremo posterior en paralelo. En lugar de dividir el proceso por front-end / back-end, divídalo por función. Primero desarrolle la característica más importante, tanto el front-end como el back-end, y haga que los dos trabajen juntos. Luego, continúe agregando funciones tanto en el front-end como en el back-end a medida que avanza.