Stacks
La programación web es el proceso de crear y mantener sitios web o aplicaciones web. Involucra una serie de tecnologías y disciplinas, y a menudo se divide en dos categorías principales: desarrollo web del lado del cliente (front-end) y desarrollo web del lado del servidor (back-end).
Front-end
también conocido como front-end development o desarrollo front-end, se refiere a la parte de la programación web que se enfoca en la interfaz de usuario y la interacción visual de un sitio web o aplicación web. Se centra en todo lo que los usuarios ven y con lo que interactúan directamente en su navegador web, pero sin tocar el método de interacción o el contenido de la página.
El front-end está compuesto de HTML, CSS y JS además de sus bibliotecas, librerías o frameworks relacionados, como React, Angular, Vue.js y Bootstrap, que proporcionan herramientas y componentes predefinidos para agilizar el desarrollo y mejorar la eficiencia del desarrollo front-end.
Back-end
También conocido como back-end development o desarrollo back-end, se refiere a la parte de la programación web que se ocupa de la lógica y el funcionamiento detrás de escena de una aplicación web o sitio web. Se centra en el procesamiento de datos, la gestión de servidores, la interacción con bases de datos y la implementación de la lógica empresarial.
Los lenguajes de programación comunes para el desarrollo back-end incluyen Python, Java, PHP, Ruby, C#, JavaScript(JsNode) entre otros. Estos lenguajes permiten la implementación de la lógica empresarial, el procesamiento de datos y la manipulación de la información en el servidor.
El back-end está estrechamente vinculado a las bases de datos, ya que se encarga de la gestión y el almacenamiento de datos. Se utilizan sistemas de gestión de bases de datos (SGBD) como MySQL, PostgreSQL, MongoDB y Oracle para almacenar y recuperar información de manera eficiente. El desarrollo back-end también implica la creación y gestión de API (Application Programming Interfaces). Las API permiten la comunicación entre diferentes componentes de una aplicación o entre diferentes aplicaciones, facilitando el intercambio de datos y la integración de servicios externos.
Fullstack
"Full Stack" es un término en la industria de la tecnología que se refiere a un tipo de desarrollador que tiene la capacidad de trabajar en todas las capas de una aplicación web, es decir, tanto en el front-end (la parte visible y con la que interactúan los usuarios) como en el back-end (el “trasfondo” que se encarga de la lógica, la gestión de datos, autenticación, etc.).
Un desarrollador Full Stack debe tener una amplia gama de habilidades y ser capaz de trabajar con varias tecnologías que normalmente se agrupan en stacks especificos.
MERN Stack es una combinación popular de tecnologías utilizadas para el desarrollo de aplicaciones web modernas de Full Stack. MERN es un acrónimo que representa:
- MongoDB: Una base de datos NoSQL orientada a documentos. MongoDB es ideal para el desarrollo de aplicaciones de alto rendimiento, proporciona alta disponibilidad y es fácil de escalar.
- Express.js: Un marco de trabajo minimalista y flexible para Node.js que proporciona un conjunto robusto de características para desarrollar aplicaciones web y móviles. Esencialmente, se utiliza para configurar las rutas y los endpoints del servidor.
- React.js: Una biblioteca de JavaScript para construir interfaces de usuario. Es mantenida por Facebook y es muy popular debido a su eficiencia y su modelo de programación flexible basado en componentes.
- Node.js: Un entorno de ejecución de JavaScript en el servidor, construido en el motor JavaScript V8 de Chrome. Node.js utiliza un modelo de I/O (entrada/salida) no bloqueante y orientado a eventos, lo que lo hace ligero y eficiente.
La ventaja de usar MERN Stack es que todo el flujo de trabajo, desde la base de datos hasta el usuario final, utiliza JavaScript. Esto puede hacer que el desarrollo y la gestión del código sean más sencillos, ya que se utiliza un solo lenguaje en todas las partes de la aplicación.