desarrollo web no es solo una cosa. Abarca múltiples conjuntos de habilidades y existen diferentes tipos de carreras dentro del espacio del desarrollo web. Tres términos que se utilizan con frecuencia son "front-end", "back-end" y "full stack". Estas son las diferencias clave entre los tres.
Desarrollo web front-end
Desarrollo front-end, si bien sus componentes cambian constantemente, esencialmente se ocupa de las partes exteriores de un sitio web o aplicación web. En esencia, el desarrollo front-end implica HTML, CSSy JavaScript:
- HTML: El lenguaje de marcado de hipertexto, o HTML, es el componente estructural clave de todos los sitios web de Internet. Sin él, las páginas web no pueden existir.
- CSS: CSS agrega estilo a HTML. Me gusta usar la analogía de que HTML es como una cara y CSS es como el maquillaje.
- javascript: JavaScript, o JS, ha ido evolucionando en los últimos años. En relación con el desarrollo front-end, JS es importante porque ayuda a que las páginas web sean interactivas.
El front-end está asociado con los principios de diseño y diseño, pero los desarrolladores de front-end no son necesariamente diseñadores. Básicamente, los desarrolladores front-end construyen la apariencia exterior: las páginas del sitio web que ven los usuarios. Esto significa que el desarrollador front-end debe tener en cuenta la legibilidad y usabilidad del sitio y/o la aplicación. Además, la interfaz se ejecuta en el cliente (es decir, en la computadora local del usuario), en la mayoría de los casos, el navegador web. Y la información no se almacena en el lado del cliente.
Desarrollo web back-end
Desarrollo web back-end es lo que sucede detrás de escena. El back-end permite la experiencia del front-end.
Para facilitar las cosas, piense en la parte delantera como parte del iceberg sobre el agua. Es lo que ve el usuario: un sitio elegante. La parte trasera es el resto del hielo; El usuario final no puede verlo, pero es el elemento más fundamental de una aplicación web. El back-end se ejecuta en el servidor o, como se suele llamar, "del lado del servidor".
A diferencia del desarrollo front-end (que utiliza principalmente HTML, CSS y JavaScript), el desarrollo web back-end puede depender de una variedad de lenguajes y marcos.
Algunos idiomas populares utilizados en la parte trasera incluyen:
- Rubí (a menudo utilizado junto con el marco Rails, también conocido como Ruby on Rails)
- Pitón (que se usa a menudo con el marco Django en el back-end)
- PHP (el popular CMS de WordPress usa PHP en su back-end; PHP tiene algunos marcos populares, uno de ellos es Laravel)
- Nodo.js (Cada vez más popular: este es un entorno de back-end para aplicaciones web creadas con JavaScript)
Para que funcionen los sitios web y las aplicaciones web a gran escala, es más que un lenguaje y un marco de back-end. Toda la información de un sitio web o aplicación debe almacenarse en algún lugar.
Aquí es donde entran las bases de datos. Los desarrolladores de back-end también se encargan de esto.
Las bases de datos populares incluyen:
- mysql
- PostgreSQL
- MongoDB
- Y otros
Normalmente, ciertos lenguajes/marcos de back-end requieren una determinada base de datos. Por ejemplo, el marco de pila completa MEAN requiere MongoDB.
Más allá de conocer un lenguaje/marco de back-end y ejecutar bases de datos, los desarrolladores de back-end también deben tener conocimientos de la arquitectura del servidor.
Configurar un servidor correctamente permite que un sitio se ejecute rápidamente, no falle y no dé errores a los usuarios. Esto cae dentro del dominio del desarrollador back-end porque la mayoría de los errores ocurren en el back-end, no en el front-end.
Completa pila
La pila completa es la combinación del front-end y el back-end. Un desarrollador full-stack es un experto en todos los oficios. Son responsables de todos los niveles de desarrollo, desde cómo se configura el servidor hasta el CSS relacionado con el diseño.
Hoy en día, hay tantas cosas involucradas en el desarrollo web que es casi imposible manejar ambas partes. Si bien muchas personas pueden afirmar que son full stack, o de hecho lo son, normalmente todavía se centran más en un lado: el cliente o el servidor.
En empresas/startups más pequeñas, es más probable que una sola persona sea responsable de todos los lados del espectro del desarrollo web. Sin embargo, en las empresas más grandes, las personas trabajan en equipos y tienen roles especializados: uno se centra únicamente en la arquitectura del servidor, otro (o unas pocas personas) en el front-end, etc.
Conclusión
El desarrollo web tiene muchas caras y cada día evoluciona más. Hay mucho que aprender, pero no se sienta presionado a aprenderlo todo de una vez. Recuerde, en los entornos laborales, normalmente estará en un equipo con otras personas. Concéntrese en perfeccionar sus habilidades en un aspecto del desarrollo web a la vez. No te abrumes y serás un profesional antes de que te des cuenta.