¿Necesito aprender el desarrollo web front-end antes del back-end?

No piense “Completaré este aprendizaje y luego comenzaré eso” en el campo del desarrollo de software; de ​​lo contrario, se retrasará con respecto a los avances tecnológicos. Además, esto no dará como resultado un resultado perfecto porque no puede comprender todos los aspectos del tema sin sus impactos y dependencias en el medio ambiente o, en este caso, otras áreas de desarrollo.

Una de las prácticas bien conocidas en ingeniería de software es el método ágil / iterativo . En este método, iteramos sobre un software de trabajo completo hasta la versión final. He practicado y me he beneficiado mucho de esta estrategia en la vida diaria. Esto ofrece una visión más amplia y se convierte en un aprendizaje interesante. Verá el resultado de su trabajo (una versión básica completa), disfrútelo y esté motivado para construir más hasta la versión final.

Comience con el conocimiento básico de todo lo relacionado con un sitio web y presente una página web con una base de datos en el back-end, página HTML de diseño simple con algo de CSS y un poco de JavaScript. Esto dará una visión general del entorno y las prácticas en el desarrollo web. Después de esta descripción general, puede tener una orientación bien guiada para aprender sobre el front-end o el back-end usted mismo. Puede encontrar su pasión y comenzar a aprender en tecnología o área específica.

Depende de lo que esté llamando desarrollo de back-end.

Las tecnologías web front-end serán HTML, CSS, Javascript del lado del cliente y el DOM del navegador.

Si bien la presentación se realiza en el cliente, las prácticas de desarrollo anteriores tenían la mayoría de la lógica y la generación en el servidor web. El servidor web acepta solicitudes HTTP y genera HTML en respuesta, analizando cosas como QueryString, cookies del navegador, etc.

Si de eso es de lo que estás hablando cuando dices back-end, entonces sí, necesitarás saber todo sobre HTML, y en la mayoría de los casos también Javascript y CSS, ya que los estás entregando al navegador en respuesta a sus solicitudes. .

Sin embargo, las prácticas de desarrollo más modernas implican que el navegador solicite API (por ejemplo, XML WebServices o RESTful JSON API). Aquí se está comunicando en datos estructurados (XML, JSON), no en la capa de presentación (HTML). Se conectará con bases de datos y servicios de fondo. En esta capa, y más atrás (por ejemplo, en la base de datos), no necesitará estar familiarizado con las tecnologías web del lado del cliente.

Respuesta corta: no, no necesita conocer ningún frontend para trabajar en el backend.

Respuesta larga: nunca conocerá el front-end lo suficientemente bien como si simplemente “incursionara” en él, pero al menos debería saber algunas cosas.

Lo que debe saber antes de centrarse en el backend:

  • Cómo depurar al menos en Chrome
    – Perfiles de red
    – Poder leer encabezados y analizar las respuestas del servidor
    – Poder leer la consola de Chrome para detectar errores de JavaScript y poder rastrearlos
    – Cómo hacer una solicitud a través de AJAX. Esto significa saber acerca de contentTypes y dataTypes y cómo afectan el contenido que su servidor y javascript esperan. Además, qué implicaciones de dominio cruzado tiene esto.
    – Sea capaz de averiguar si está mirando HTML generado por JS vs HTML generado por el servidor.
  • HTML / CSS (al menos un poco). Lo suficiente para que tu marcado sea correcto.
  • Temas importantes de JS: el bucle de eventos, la consulta del DOM, el burbujeo de eventos (cómo funciona hacer clic) y lo que sucede cuando usa setTimeout

Yo diría que la lista de temas es crucial para cada desarrollador web. Afecta el rendimiento de su sitio web / aplicación. Le ayuda a aprender cómo transmitir / recibir datos. Le ayuda a depurar problemas cuando ocurren. Todo lo demás es solo aprender sobre diversas tecnologías.

Claro, a menudo la tecnología frontend es suficiente sin un marco de back-end de pila completa, puede hacer la mayoría de las cosas con HTML + CSS + Javascript (en particular jQuery, Angular o Backbone).
Es posible que necesite una tecnología de back-end solo para atender llamadas AJAX.
En cualquier caso, debe aprender antes cómo mostrar información y luego cómo generarla.
EDITAR: también las interfaces de administración deben crearse con tecnologías frontend, de lo contrario, ¿cómo va a ingresar datos?

Debe tener el dominio de los conceptos básicos de la interfaz para comenzar. Puede experimentar mucho con HTML, CSS y secuencias de comandos y luego transferir lo que aprendió al lado de la generación de cosas en el lado del servidor. Si intenta comenzar desde el lado del servidor, quedará en desventaja porque la función principal en el backend es generar código para renderizar en la interfaz.

Discos compactos&

Claro, a menudo la tecnología frontend es suficiente sin un marco de back-end de pila completa, puede hacer la mayoría de las cosas con HTML + CSS + Javascript (en particular jQuery, Angular o Backbone).

Es posible que necesite una tecnología de back-end solo para atender llamadas AJAX.
En cualquier caso, debe aprender antes cómo mostrar información y luego cómo generarla.

EDITAR: también las interfaces de administración deben crearse con tecnologías frontend, de lo contrario, ¿cómo va a ingresar datos?

Leer más – ¿Bricolaje o tercerización? Toma la llamada

Sugeriría que aprender backend sería mejor. Puede construir una página web completamente en la interfaz, pero sin el backend enviando datos a la interfaz, sería inútil. Básicamente, el backend consiste en lógica empresarial como controlador, modelo y vista. Mientras trabaja en backend, generará el resultado principalmente en formato xml o json, donde frontend lo utilizará para mostrar.

Creo que debería saber algo de trabajo básico antes de aprender el desarrollo de back end. De lo contrario, no puede ingresar solicitudes al back-end del sitio (al menos tiene que saber colocar en un cuadro de texto y cómo enviar el contenido del cuadro al back-end), y no puede mostrar el da como resultado el back-end, excepto para hacer eco de los datos en el navegador.