Las aplicaciones web que utiliza a diario consisten en:
El front-end es la interfaz de usuario de la aplicación. Es la presentación del contenido, las partes que el usuario ve y con las que interactúa, y la apariencia de la página web. Así es como se muestra la información tanto en los navegadores web como en los dispositivos móviles.
Incluye diferentes componentes como barras de navegación, menús desplegables, botones y enlaces.
El front-end consta de todas las partes visibles responsables de la experiencia del usuario.
El back-end consta de un servidor que recibe y procesa solicitudes y una base de datos utilizada para almacenar datos.
El back-end son todos los procesos detrás de escena que suceden en una aplicación web.
Es la lógica de negocios, el manejo y manipulación de datos, y los algoritmos.
Esencialmente, son todas las partes ocultas de las que un usuario no es consciente directamente cuando ve e interactúa con una página web. Estas partes son procesos que se ejecutan en segundo plano.
El back-end se considera el lado lógico o el "cerebro" de una aplicación web.
Tanto el front-end como el back-end juntos forman una aplicación web Full Stack.
Cuando es un principiante que recién comienza su viaje de aprendizaje, puede pasar más tiempo buscando qué aprender en lugar de aprender realmente. Y hay mucho que aprender cuando se trata de desarrollo web full-stack, lo que puede ser abrumador e intimidante.
En las próximas secciones, discutiremos muchas tecnologías diferentes que necesitará aprender, y hay muchas más que no están en la lista.
Es imposible aprender todo a la vez, así como también es imposible convertirse en un experto en todo.
Esta guía es una sugerencia y un punto de partida. Proporciona los conceptos básicos sobre los que puede ampliar más adelante.
Recuerde que llevará tiempo convertirse en un desarrollador de pila completa. Puede tomar un poco de prueba y error encontrar un horario de aprendizaje y una rutina que se adapte a usted y funcione para usted, ya que puede tener compromisos como cuidar de la familia, trabajar a tiempo completo o cualquier otra obligación de la vida.
El éxito no es lineal. La clave del éxito es mantenerse constante y vencer la procrastinación.
Planifique y reserve algo de tiempo todos los días, ya sea solo media o una hora. Una hora al día es mejor que no programar nada.
Recuerda descansar y alejarte de la pantalla para no quemarte en el proceso.
Ahora, veamos algunas de las tecnologías que debe aprender para convertirse en un desarrollador web completo en 2022.
Comienza aprendiendo a codificar practicando HTML y CSS.
HTML y CSS son dos lenguajes que tienen un propósito diferente pero se unen para crear páginas web estáticas. Por esta razón, a menudo sucede que aprenderá ambos en paralelo.
Primero, aprenda los fundamentos de HTML, específicamente HTML5, que es la última versión de HTML y admite muchas más funciones.
HTML (que significa lenguaje de marcado de hipertexto) se utiliza para definir la estructura y el contenido de una página web. Por lo tanto, los párrafos, encabezados, listas, imágenes, formularios y enlaces que ve en una página, junto con sus jerarquías, son todos código HTML.
CSS (abreviatura de hojas de estilo en cascada) aplica estilo a los elementos HTML. Es responsable de presentar el contenido de una manera visualmente atractiva.
El código CSS permite todos los diferentes colores y fuentes. El tamaño de los elementos y cómo se muestran esos elementos en la página. El diseño de la página y cómo se organizan los elementos uno al lado del otro.
Comience a aprender los fundamentos de CSS para aplicar estilos al contenido HTML.
Conocer al menos los conceptos básicos de la línea de comandos lo hará más productivo al ahorrarle una cantidad significativa de tiempo al realizar tareas repetitivas y que consumen mucho tiempo.
Puede lograr las mismas cosas (¡y más!) que cuando usa una GUI (interfaz gráfica de usuario). Pero con la línea de comando, usará la navegación solo con el teclado e ingresará comandos de texto en lugar de hacer clic y arrastrar íconos.
Puede crear archivos y carpetas, ver el contenido de archivos y carpetas, copiar o mover el contenido de un archivo a otro y eliminar archivos y carpetas por completo, por nombrar algunos.
Escriba e ingrese los comandos en una ventana o CLI (abreviatura de Command Line Interface).
Dependiendo de su sistema operativo, esta será una aplicación diferente. En una Mac, se llama Terminal.app. En Windows, se llama Símbolo del sistema.
La aplicación ejecuta un shell, como Bash o Zsh, que actúa como intermediario entre usted y el sistema operativo de su computadora. Escribes comandos y esencialmente le das órdenes a tu computadora. El shell que se ejecuta en la CLI lee los comandos e instruye al sistema operativo. El Sistema Operativo lleva a cabo las instrucciones.
No importa el sistema operativo que esté utilizando, ya sea MacOS o Microsoft Windows, como desarrollador de pila completa, le ayudará si aprende Linux. Linux alimenta la mayoría de los servidores en Internet.
Una forma de comenzar con Linux es instalarlo en su sistema operativo.
Puede hacerlo configurando una máquina virtual. Una máquina virtual actúa como una computadora separada dentro de su computadora.
Una vez que configura una máquina virtual, puede instalar una de las distribuciones de Linux, como Ubuntu, que es una versión de Linux.
Para comenzar a desarrollar sus proyectos localmente, necesitará un lugar designado para escribir código.
No se recomienda codificar con un procesador de texto como Google Docs o Microsoft Word, sino configurar un editor de código para escribir el código fuente.
Hay muchos para elegir, y algunos de los más populares son Atom, Sublime Text y Visual Studio Code. Muchos desarrolladores también usan un editor de texto de línea de comandos llamado VIM. No se recomienda para principiantes ya que hay una curva de aprendizaje empinada.
Visual Studio Code es el editor elegido por muchos desarrolladores, que también verá como VS Code.
Es gratuito, de código abierto y tiene muchas funciones disponibles.
VS Code tiene herramientas y características poderosas que se asemejan a un IDE (que significa Entorno de desarrollo integrado).
Al usar Visual Studio Code, puede escribir y editar el código fuente, ahorrar tiempo con el autocompletado de código y usar el depurador y el terminal integrados. Puede compilar y ejecutar el código fuente, todo bajo el mismo techo.
Un sistema de control de versiones es una forma de realizar copias de seguridad y guardar sus proyectos y colaborar con otros miembros del equipo. Es una herramienta utilizada en todos los trabajos de desarrollo de software.
El sistema de control de versiones más popular es Git, que es gratuito y de código abierto.
Puede ver el historial completo de un proyecto y realizar un seguimiento de todos los cambios. Si es necesario, también puede volver a una versión anterior.
Git no solo es práctico para tus proyectos personales, sino que es necesario cuando formas parte de un equipo.
Por ejemplo:
Los lenguajes de programación actúan como traductores entre humanos y máquinas.
Los lenguajes de programación son similares a los lenguajes humanos. Tienen elementos sintácticos como sustantivos, verbos y frases. Y agrupas estos elementos para formar algo que se asemeja a una oración para crear significado.
Algunos de estos idiomas se parecen y se parecen mucho al inglés. Pero ofrecen una forma más corta, más precisa y menos detallada de crear instrucciones que la computadora pueda entender.
Un idioma hablado/natural como el inglés, por otro lado, deja mucho espacio para la ambigüedad y las diferentes interpretaciones de diferentes personas. Con los lenguajes de programación, no tienes esa ambigüedad.
Es posible que haya notado que usé la palabra estática para describir el tipo de páginas web creadas cuando usaba solo HTML y CSS.
Para agregar comportamientos dinámicos e interactividad a las páginas web, debe usar JavaScript junto con HTML y CSS.
JavaScript es un lenguaje de secuencias de comandos diseñado para ejecutarse en el navegador. Agrega funciones interactivas a páginas web estáticas.
Algunas características interactivas que agrega JavaScript son:
Antes de pasar a diferentes tecnologías, debe familiarizarse con los conceptos básicos de JavaScript. Tómese el tiempo para practicar y construir algunos proyectos usando el idioma.
Luego, puede aprender una de las bibliotecas o marcos de JavaScript.
Las bibliotecas y marcos de JavaScript proporcionan código preescrito que implementa funcionalidades específicas. Lo ayudan a desarrollar aplicaciones web de manera mucho más fácil y rápida y con más coherencia en las diferentes partes mediante la creación de lo que se conoce como componentes de interfaz de usuario.
La biblioteca de JavaScript más popular y utilizada para aprender es ReactJS.
Como desarrollador web full-stack, necesitará conocer tanto las tecnologías front-end como las herramientas back-end. También deberá poder trabajar con lenguajes de programación de secuencias de comandos del lado del servidor.
Hay muchos para elegir, como PHP, Ruby y Java, por nombrar algunos.
Y solo una nota sobre JavaScript: se usa ampliamente en el desarrollo de front-end, pero en los últimos años muchos desarrolladores también han comenzado a usarlo para el desarrollo de back-end.
Todo esto es gracias a NodeJS (un entorno de tiempo de ejecución de JavaScript) que lo hace posible al proporcionar funcionalidad de back-end.
Al emparejar NodeJS con el marco web del lado del servidor ExpressJS, ahora puede crear aplicaciones web de pila completa.
Como desarrollador Full Stack, deberá saber cómo interactuar con las bases de datos.
Las bases de datos se dividen en dos categorías, relacionales y no relacionales.
Las bases de datos relacionales (también conocidas como bases de datos SQL) almacenan datos en un formato tabular estructurado y organizado.
Hay relaciones claramente definidas entre los puntos de datos, lo que facilita la búsqueda de datos.
Algunas bases de datos relacionales incluyen:
Con suerte, este artículo le resultó útil y ahora tiene una mejor comprensión de lo que implica el desarrollo web Full Stack.
En este artículo, repasamos la definición de desarrollo de Full Stack y vio una ruta de aprendizaje sugerida para comenzar con el desarrollo Full Stack.
Si has leído hasta aquí, ¡te lo agradezco mucho!
Guillermo López