Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=703b706c-f249-4694-a53a-2ee74d8b835e

Qué es un desarrollador web: Front-end, back-end y full stack. ¿Quién es quién?

imagen ornamental

"¿Qué tengo que aprender para ser desarrollador web? ¿Por dónde empiezo?" Ésta es una de las consultas más habituales que recibimos de personas interesadas en hacer nuestros cursos, y la respuesta suele ser "depende".

Depende, porque no hay un solo tipo de desarrollador web y porque no es lo mismo que empieces desde cero absoluto a que ya tengas experiencia programando en otros campos del desarrollo.

Como ves, no hay una sola respuesta correcta y como la cantidad de tecnologías de programación web disponibles puede resultar abrumadora para alguien que empieza, vamos a intentar arrojar algo de luz en este post para que puedas tomar la mejor decisión en función de tus circunstancias.

Qué es un desarrollador web

Lo primero que debes entender antes de nada es qué es un desarrollador web.

Un desarrollador web no es una sola cosa sino muchas cosas: abarca múltiples conjuntos de habilidades que se traducen en diferentes especialidades. Los tres términos más comunes que se utilizan para nombrar dichas especialidades de forma genérica son: front-end, back-end y full stack. En este artículo trataremos de definir cada una de ellas y ver sus diferencias.

Además de todo lo que veremos en este post, este vídeo de nuestro tutor José Manuel Alarcón también te ayudará tener todo mucho más claro:

El desarrollador Front-End:

Trabaja del lado Cliente, en el navegador, en el lado de lo que se ve. Principalmente se ocupa de los componentes externos del sitio web o de la aplicación web. Como consecuencia, deben dominar obligatoriamente HTML, CSS y JavaScript:

Los lenguajes de la programación front-end

  • HTML:  HyperText Markup Language, es el componente estructural clave de todas las webs de internet. Sin él las páginas web no pueden existir.
  • CSS: Cascading Style Sheets, es lo que le proporciona estilo a HTML, se encarga de la capa de presentación. Dominar bien CSS y sus capacidades es más complejo de lo que puede parecer a simple vista.
  • JavaScript: Usando solo HTML y CSS tus webs serían páginas estáticas, con JS tus páginas web son interactivas.

En general se asocia a los desarrolladores front-end con los principios de diseño y de estructura de páginas. Sin embargo, un desarrollador web va más allá que un diseñador. Obviamente tiene que tener en cuenta la usabilidad  y la legibilidad de la página o de la aplicación web, pero como buen programador es consciente de que su trabajo se ejecutará en el lado Cliente, en la mayoría de los casos, en el navegador. Y la información no se almacena en el lado Cliente.

En la actualidad, además, va mucho más allá puesto que las capacidades de los navegadores los han convertido en verdaderos "sistemas operativos" de la Web, con APIs avanzadas que hace que las aplicaciones de lado cliente no tienen mucho que envidiar a las apps nativas, nuevas versiones del lenguaje ECMAScript, multitud de herramientas de desarrollo (npm, yarn, webpack...) y también meta-lenguajes (Sass, TypeScript...) que hacen que sea una disciplina bastante compleja.

Qué es un Desarrollador Back-end:

El desarrollador back-end trabaja del lado Servidor, detrás del escenario, permitiendo con su trabajo que el usuario disfrute de su experiencia. Sin él, el desarrollo llevado a cabo por su anterior compañero no se sostendría.

Lenguajes y frameworks usados en back-end

Para ser programador del lado Servidor, son numerosos los lenguajes y frameworks entre los que elegir, todo dependerá de la empresa en la que caigas. A día de hoy, los más comunes son:

  • ASP.NET: es la plataforma de desarrollo web de Microsoft. Muy utilizada en las empresas. Tiene las variantes Web Forms y MVC, y ahora también ASP.NET Core MVC.
  • PHP: por ejemplo, el famoso gestor de contenidos WordPress usa por detrás PHP. Laravel es uno de los frameworks usados con este lenguaje.
  • Ruby: junto con su framework Ruby on rails.
  • Python: fácil de aprender. Usado a menudo con Django como framework
  • Node.js: se está haciendo cada vez más popular debido a que usa el mismo lenguaje que en el lado cliente: JavaScript.
  • Java: el lenguaje clásico y uno de los más demandados. Para el desarrollo de aplicaciones web se suele usar junto a un framework como Spring o Hibernate.

Sin embargo, no es suficiente con dominar un lenguaje y un framework. Toda aplicación web debe almacenar datos de alguna manera. Por lo tanto, un desarrollador back-end también debe estar familiarizado con las bases de datos. Entre las más comunes destacan:

  • SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • MongoDB, que es un almacén de datos no-relacional o NoSQL.

Al igual que hemos comentado antes el entorno en el que trabajes te obligará a especializarte en una u otra.

Desarrollador Full stack

En la mayoría de las páginas y aplicaciones webs los errores que se producen ocurren del lado Servidor. ¿Quién era el responsable de esta parte? El desarrollador back-end, el cual a estas alturas del post ya está agotado, por lo tanto es mejor no exigirle nada más y buscarnos a alguien que además de lo anterior tenga conocimientos de arquitectura del servidores y sistemas.

Y esta persona es el desarrollador full stack. Un programador multiusos, responsable del desarrollo del proyecto, desde el montaje de los servidores, hasta el diseño con CSS. Este tipo de programador fue popularizado hace unos años por el departamento de ingeniería de Facebook.

Viñeta de @vicentdnl

 Actualmente es prácticamente imposible ser un buen desarrollador full stack. La publicación Tech Crunch lo ilustra perfectamente en los gráficos mostrados en este artículo. Tal y como evoluciona hoy en día la tecnología, es casi inviable tener una pata en cada lado (Cliente/Servidor/Arquitectura) y dominar todos. Generalmente, los programadores que se hacen llamar full stack están más centrados en una de las dos partes, es decir, dominan una de las partes y de la otra tienen nociones, las justas para defenderse en su día a día. Estos perfiles suelen trabajar en pequeñas empresas donde ellos solos son los encargados de todo el desarrollo web.

En resumen

Como puedes ver el desarrollo web presenta múltiples facetas las cuales además evolucionan con el tiempo. Así que no te presiones ni intentes aprender todo a la vez. recuerda en la mayoría de tus trabajos no estarás solo, sino que formarás parte de un equipo con lo que tu papel estará perfectamente definido. Por lo tanto, escoge en dónde quieres desarrollar tu carrera (Cliente o Servidor) y concéntrate en aprender y perfeccionar tus habilidades y conocimientos de desarrollo web de forma enfocada. No te dejes amilanar por las numerosas novedades que aparecen todos los días, y comprobarás que con perseverancia te convertirás en un profesional.

Independientemente del tipo de programador web que hayas elegido ser, si quieres destacar entre tus compañeros, no olvides desarrollar tus habilidades sociales, lo que los angloparlantes llaman soft skills frente a las que hemos estado hablando en todo el post que eran hard skills. Las más importantes son: capacidad para aprender rápidamente, capacidad para resolver problemas de forma eficiente, atención al detalle y por supuesto, facilidad a la hora de comunicarse.

Fecha de publicación:
campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP
Archivado en: Desarrollo Web

Boletín campusMVP.es

Solo cosas útiles. Una vez al mes.

🚀 Únete a miles de desarrolladores

DATE DE ALTA

x No me interesa | x Ya soy suscriptor

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.