En este blog suelo plasmar mis apuntes y conocimientos
que he aprendido en mi camino como programador
Modelo DOM, Automatizadores, Landing pages y Desarrollo Full-Stack
Las siglas DOM significan Document Object Model, o lo que es lo
mismo, la estructura del documento HTML. Una página HTML está
formada por múltiples etiquetas HTML, anidadas una dentro de otra,
formando un árbol de etiquetas relacionadas entre sí, que se
denomina árbol DOM (o simplemente DOM).
En Javascript, cuando nos referimos al DOM nos referimos a esta
estructura, que podemos modificar de forma dinámica desde
Javascript, añadiendo nuevas etiquetas, modificando o eliminando
otras, cambiando sus atributos HTML, añadiendo clases, cambiando el
contenido de texto, etc...
Al estar "amparado" por un lenguaje de programación, todas estas
tareas se pueden automatizar, incluso indicando que se realicen
cuando el usuario haga acciones determinadas, como por ejemplo:
pulsar un botón, mover el ratón, hacer click en una parte del
documento, escribir un texto, etc...
Antiguamente, cuando teníamos que crear un nuevo sitio web, debíamos
crear manualmente una carpeta para el proyecto, las diferentes
subcarpetas de las secciones de la web (imágenes, css, js, etc...),
configurar un servidor web (se solía usar XAMPP o similares),
colocar y enlazar las diferentes librerías CSS y/o Javascript que
queríamos utilizar, etc...
Con la evolución del desarrollo web, hemos pasado a crear webs que
transpilan código. Esto es, tenemos una carpeta src en nuestras
aplicaciones web donde tenemos nuestro código fuente y ese código
debe preprocesarse y traducirse a otro código (en la carpeta dist)
que es el que finalmente leerá nuestro navegador. Mantener
actualizado el código fuente que escribimos con el que lee el
navegador sin automatizarlo, es una tarea muy tediosa (o
prácticamente imposible), por lo que de ahí surgieron los
automatizadores.
Actualmente, en el ecosistema Javascript (o en el mundo del
desarrollo web en general), es muy común utilizar estos
automatizadores para, entre otras cosas, agilizar el proceso de
creación de una aplicación web con unos pocos comandos, realizando
de forma automática todas esas tareas tediosas y repetitivas,
alcanzando nuestro objetivo de forma más rápida y con una mejor
experiencia de desarrollador.
Podemos definir una landing page como: una página web preliminar o
pagina de aterrizaje donde queremos destacar algo en especial, ya
sea un producto, o alguna novedad o promoción de un producto. Se
utilizan para todo lo que es SEM (search engine marketing), más
conocido como los anuncios de Google Ads.
La gran ventaja que ofrecen las landing pages es la capacidad de
dirigir al usuario a un sitio en el que se le provee de la
información relevante y necesaria para concretar la compra de un
producto o servicio, en vez de a la página web de la empresa. Se
utiliza con los avisos de Google (los primeros tres links que
aparecen al realizar una búsqueda) ya que al hacer click en estos
avisos, Google dirige al usuario a las landing pages, y no al sitio
web de la empresa en cuestión, ya que esto puede generar una
abundancia de información y como resultado, desconcertar al usuario,
logrando que este no adquiera el producto o servicio.
Es un profesional que cuenta con diversas habilidades informáticas;
es decir, es un perfil híbrido, multiskill que puede desenvolverse
en el front-end, back-end de un desarrollo web. Son integrales con
conocimientos y herramientas que le permiten afrontar cualquier
etapa en la construcción de portales en línea.
En la actualidad, las empresas están diseñando estrategias profundas
y de transformación digital, por lo que están en la búsqueda de
profesionales con altas competencias tecnológicas. La cuarta
Revolución Industrial llegó para también establecer demandas
laborales que estén a la par de las exigencias del mundo moderno.
Un perfil full stack es, metafóricamente hablando, como aquel amigo
que sabe jugar todos los deportes, y todos los hace bien. Seguro
tienes uno, ¿verdad? Pues bueno, acá pasa lo mismo, pero en el
terreno informático. Siempre garantiza el éxito de un proyecto
porque cumple con la estrategia y los objetivos que se plantean.
Es capaz de trabajar con base de datos y servidores, asumir tareas
de los administradores de sistemas. Además, conoce la conexión entre
la experiencia de un usuario cuando usa las interfaces, traduce sus
requisitos, comprende la arquitectura y la tecnología de un sitio.