<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JavaScript archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/javascript/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Thu, 19 Feb 2026 20:28:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.frexus.dev/wp-content/uploads/2024/03/cropped-Captura-de-Pantalla-2022-12-26-a-las-15.52.42-32x32.png</url>
	<title>JavaScript archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/javascript/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Frameworks del lado del cliente para crear páginas web y comercio electrónico</title>
		<link>https://www.frexus.dev/post/framework-lado-cliente-comercio-electronico/</link>
					<comments>https://www.frexus.dev/post/framework-lado-cliente-comercio-electronico/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 19:47:11 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[aplicaciones web]]></category>
		<category><![CDATA[comercio electrónico]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[framework frontend]]></category>
		<category><![CDATA[frameworks web]]></category>
		<category><![CDATA[frontend ecommerce]]></category>
		<category><![CDATA[interfaces web]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SPA]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=4587</guid>

					<description><![CDATA[<p>Introducción En el desarrollo web moderno, los frameworks de trabajo del lado del cliente se han convertido en una pieza clave para la creación de páginas web dinámicas y plataformas de comercio electrónico eficientes. Estos frameworks permiten construir interfaces interactivas, rápidas y escalables que mejoran significativamente la experiencia del usuario. Gracias a estas herramientas, hoy es posible desarrollar tiendas en línea, catálogos de productos y aplicaciones web completas que funcionan directamente en el navegador, reduciendo tiempos de carga y facilitando el mantenimiento del proyecto. En este artículo conocerás qué son los frameworks del lado del cliente, por qué son tan importantes en el comercio electrónico y cuáles son los más utilizados en la actualidad. ¿Qué es un framework del lado del cliente? Un framework del lado del cliente es un conjunto de herramientas y librerías que se ejecutan en el navegador del usuario. Su función principal es gestionar la interfaz gráfica, la interacción con el usuario y la comunicación con servidores mediante APIs. Frameworks como React, Angular y Vue.js permiten crear interfaces basadas en componentes, reutilizables y altamente mantenibles. Importancia en la creación de comercio electrónico En proyectos de e-commerce, estos frameworks permiten: Plataformas y servicios como Shopify o integraciones con Stripe suelen complementarse con frameworks del lado del cliente para personalizar la experiencia de compra. Ventajas de usar frameworks del lado del cliente Objetivo de aprendizaje Al finalizar este tema, el estudiante será capaz de identificar y comprender el uso de frameworks del lado del cliente, analizando su aplicación en la creación de páginas web y proyectos de comercio electrónico. Actividades de aprendizaje</p>
<p>La entrada <a href="https://www.frexus.dev/post/framework-lado-cliente-comercio-electronico/">Frameworks del lado del cliente para crear páginas web y comercio electrónico</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="683" src="https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1-1024x683.png" alt="Frameworks del lado del cliente para crear páginas web y comercio electrónico" class="wp-image-4588" style="aspect-ratio:1.4992888417882142;width:469px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1-1024x683.png 1024w, https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1-300x200.png 300w, https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1-768x512.png 768w, https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1-1140x760.png 1140w, https://www.frexus.dev/wp-content/uploads/2026/02/o0o-1.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading">Introducción</h2>



<p>En el desarrollo web moderno, los <strong>frameworks de trabajo del lado del cliente</strong> se han convertido en una pieza clave para la creación de <strong>páginas web dinámicas</strong> y <strong>plataformas de comercio electrónico</strong> eficientes. Estos frameworks permiten construir interfaces interactivas, rápidas y escalables que mejoran significativamente la experiencia del usuario.</p>



<p>Gracias a estas herramientas, hoy es posible desarrollar tiendas en línea, catálogos de productos y aplicaciones web completas que funcionan directamente en el navegador, reduciendo tiempos de carga y facilitando el mantenimiento del proyecto.</p>



<p>En este artículo conocerás qué son los frameworks del lado del cliente, por qué son tan importantes en el comercio electrónico y cuáles son los más utilizados en la actualidad.</p>



<h2 class="wp-block-heading">¿Qué es un framework del lado del cliente?</h2>



<p>Un <strong>framework del lado del cliente</strong> es un conjunto de herramientas y librerías que se ejecutan en el navegador del usuario. Su función principal es gestionar la interfaz gráfica, la interacción con el usuario y la comunicación con servidores mediante APIs.</p>



<p>Frameworks como <strong>React</strong>, <strong>Angular</strong> y <strong>Vue.js</strong> permiten crear interfaces basadas en componentes, reutilizables y altamente mantenibles.</p>



<h2 class="wp-block-heading">Importancia en la creación de comercio electrónico</h2>



<p>En proyectos de <strong>e-commerce</strong>, estos frameworks permiten:</p>



<ul class="wp-block-list">
<li>Interfaces rápidas y responsivas</li>



<li>Actualización dinámica del carrito de compras</li>



<li>Integración con pasarelas de pago</li>



<li>Consumo de APIs para inventarios y usuarios</li>



<li>Mejor experiencia de usuario (UX)</li>
</ul>



<p>Plataformas y servicios como <strong>Shopify</strong> o integraciones con <strong>Stripe</strong> suelen complementarse con frameworks del lado del cliente para personalizar la experiencia de compra.</p>



<h2 class="wp-block-heading">Ventajas de usar frameworks del lado del cliente</h2>



<ul class="wp-block-list">
<li><strong>Mayor productividad</strong> en el desarrollo</li>



<li><strong>Reutilización de componentes</strong></li>



<li><strong>Mejor rendimiento</strong> en aplicaciones web</li>



<li><strong>Escalabilidad</strong> para proyectos grandes</li>



<li><strong>Compatibilidad multiplataforma</strong></li>
</ul>



<h2 class="wp-block-heading">Objetivo de aprendizaje</h2>



<p>Al finalizar este tema, el estudiante será capaz de <strong>identificar y comprender el uso de frameworks del lado del cliente</strong>, analizando su aplicación en la creación de páginas web y proyectos de comercio electrónico.</p>



<h2 class="wp-block-heading">Actividades de aprendizaje</h2>



<div data-wp-context="{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }" data-wp-interactive="core/accordion" role="group" class="wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow">
<div data-wp-class--is-open="state.isOpen" data-wp-context="{ &quot;id&quot;: &quot;accordion-item-1&quot;, &quot;openByDefault&quot;: false }" data-wp-init="callbacks.initAccordionItems" data-wp-on-window--hashchange="callbacks.hashChange" class="wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow">
<h3 class="wp-block-accordion-heading"><button aria-expanded="false" aria-controls="accordion-item-1-panel" data-wp-bind--aria-expanded="state.isOpen" data-wp-on--click="actions.toggle" data-wp-on--keydown="actions.handleKeyDown" id="accordion-item-1" type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Lectura del caso</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>



<div inert aria-labelledby="accordion-item-1" data-wp-bind--inert="!state.isOpen" id="accordion-item-1-panel" role="region" class="wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow">
<p>Analiza un caso real de una tienda en línea desarrollada con un framework del lado del cliente, identificando sus componentes, flujo de navegación y beneficios técnicos. <strong><a href="https://ajgutierrez.medium.com/construyendo-el-futuro-9006d4eb9dc0" target="_blank" rel="noreferrer noopener">Pulsa aquí para acceder</a></strong>. Después de leerlo responde las siguientes preguntas:</p>



<ul class="wp-block-list">
<li>¿Cuáles son las ventajas principales de usar un framework del lado del cliente en comparación con el desarrollo tradicional de JavaScript puro?</li>



<li><strong>Ejercicio:</strong> Basado en el caso de estudio, si Lucas desea optimizar aún más su aplicación, ¿qué técnica debería usar para reducir los tiempos de carga? Justifica tu respuesta con datos del caso.</li>



<li>¿Por qué el Virtual DOM es una característica clave en frameworks como React? Explica con tus propias palabras su impacto en el rendimiento.</li>



<li><strong>Ejercicio:</strong> Si Lucas quiere agregar una nueva funcionalidad a su aplicación utilizando Vue.js, ¿cómo debería estructurar sus componentes? Diseña una pequeña estructura basada en el modelo de componentes.</li>



<li>¿Cuál de los frameworks mencionados en el caso de estudio considerarías más adecuado para una aplicación web de alta interactividad? Explica tu elección.</li>



<li>¿Cómo crees que evolucionarán los frameworks del lado del cliente en los próximos años? ¿Qué tendencias actuales podrían influir en su desarrollo?</li>
</ul>
</div>
</div>
</div>



<div data-wp-context="{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }" data-wp-interactive="core/accordion" role="group" class="wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow">
<div data-wp-class--is-open="state.isOpen" data-wp-context="{ &quot;id&quot;: &quot;accordion-item-2&quot;, &quot;openByDefault&quot;: false }" data-wp-init="callbacks.initAccordionItems" data-wp-on-window--hashchange="callbacks.hashChange" class="wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow">
<h3 class="wp-block-accordion-heading"><button aria-expanded="false" aria-controls="accordion-item-2-panel" data-wp-bind--aria-expanded="state.isOpen" data-wp-on--click="actions.toggle" data-wp-on--keydown="actions.handleKeyDown" id="accordion-item-2" type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Actividad Práctica</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>



<div inert aria-labelledby="accordion-item-2" data-wp-bind--inert="!state.isOpen" id="accordion-item-2-panel" role="region" class="wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow">
<p>Diseña una interfaz básica de una tienda en línea utilizando un framework del lado del cliente (menú, listado de productos y carrito de compras).</p>
</div>
</div>
</div>



<div data-wp-context="{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }" data-wp-interactive="core/accordion" role="group" class="wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow">
<div data-wp-class--is-open="state.isOpen" data-wp-context="{ &quot;id&quot;: &quot;accordion-item-3&quot;, &quot;openByDefault&quot;: false }" data-wp-init="callbacks.initAccordionItems" data-wp-on-window--hashchange="callbacks.hashChange" class="wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow">
<h3 class="wp-block-accordion-heading"><button aria-expanded="false" aria-controls="accordion-item-3-panel" data-wp-bind--aria-expanded="state.isOpen" data-wp-on--click="actions.toggle" data-wp-on--keydown="actions.handleKeyDown" id="accordion-item-3" type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Actividad de Reforzamiento</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>



<div inert aria-labelledby="accordion-item-3" data-wp-bind--inert="!state.isOpen" id="accordion-item-3-panel" role="region" class="wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow">
<ul class="wp-block-list">
<li><strong><a href="https://www.frexus.dev/crucigrama/crucigrama.html?data=%7B%22id%22%3A%22cw-7hiojb3rt%22%2C%22title%22%3A%22Herramientas%20y%20Aplicaciones%20para%20Comercia%20Electr%C3%B3nico%22%2C%22subtitle%22%3A%22Framework%20del%20lado%20del%20cliente%22%2C%22words%22%3A%5B%7B%22word%22%3A%22FRAMEWORK%22%2C%22clue%22%3A%22Conjunto%20de%20herramientas%20que%20facilita%20el%20desarrollo%20web.%22%7D%2C%7B%22word%22%3A%22FRONTEND%22%2C%22clue%22%3A%22Parte%20visual%20de%20una%20aplicaci%C3%B3n%20web.%22%7D%2C%7B%22word%22%3A%22SPA%22%2C%22clue%22%3A%22Aplicaci%C3%B3n%20que%20carga%20una%20sola%20p%C3%A1gina%20y%20actualiza%20su%20contenido%20din%C3%A1micamente.%22%7D%2C%7B%22word%22%3A%22COMPONENTES%22%2C%22clue%22%3A%22Bloques%20reutilizables%20de%20interfaz.%22%7D%2C%7B%22word%22%3A%22JAVASCRIPT%22%2C%22clue%22%3A%22Lenguaje%20principal%20usado%20en%20frameworks%20del%20lado%20del%20cliente.%22%7D%2C%7B%22word%22%3A%22API%22%2C%22clue%22%3A%22Interfaz%20que%20permite%20la%20comunicaci%C3%B3n%20entre%20aplicaciones.%22%7D%2C%7B%22word%22%3A%22ECOMMERCE%22%2C%22clue%22%3A%22Comercio%20realizado%20a%20trav%C3%A9s%20de%20plataformas%20digitales.%22%7D%2C%7B%22word%22%3A%22UX%22%2C%22clue%22%3A%22Experiencia%20que%20tiene%20el%20usuario%20al%20interactuar%20con%20una%20aplicaci%C3%B3n.%22%7D%2C%7B%22word%22%3A%22DOM%22%2C%22clue%22%3A%22Estructura%20que%20representa%20los%20elementos%20de%20una%20p%C3%A1gina%20web.%22%7D%5D%2C%22createdAt%22%3A%222026-02-19T19%3A37%3A16.416Z%22%7D" target="_blank" rel="noreferrer noopener">Crucigrama</a></strong></li>



<li><strong><a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=20&amp;words=FRAMEWORK%2CFRONTEND%2CJAVASCRIPT%2CCOMPONENTES%2CINTERFAZ%2CNAVEGADOR%2CECOMMERCE%2CSPA%2CAPI&amp;directions=vertical&amp;title=Herramientas+y+Aplicaciones+para+Comercia+Electr%C3%B3nico&amp;subtitle=Frameworks+del+lado+del+cliente" target="_blank" rel="noreferrer noopener">Sopa de letras</a></strong></li>
</ul>
</div>
</div>
</div>



<div data-wp-context="{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }" data-wp-interactive="core/accordion" role="group" class="wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow"></div>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/post/framework-lado-cliente-comercio-electronico/">Frameworks del lado del cliente para crear páginas web y comercio electrónico</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/framework-lado-cliente-comercio-electronico/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4587</post-id>	</item>
		<item>
		<title>Node.js las Promesas, los Eventos y el Poder del Código Asíncrono</title>
		<link>https://www.frexus.dev/post/nodejs-nativo-promesas-y-eventos/</link>
					<comments>https://www.frexus.dev/post/nodejs-nativo-promesas-y-eventos/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 13 Oct 2025 18:23:30 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[desarrollo nativo]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[fundamentos de programación]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[programación asincrónica]]></category>
		<category><![CDATA[promesas]]></category>
		<category><![CDATA[readline]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=4170</guid>

					<description><![CDATA[<p>Node.js, representa la esencia del desarrollo backend moderno: rápido, eficiente y profundamente conectado con el sistema operativo. Su modelo basado en eventos y el uso de promesas hacen posible construir aplicaciones escalables sin recurrir a frameworks complejos. Comprender ¿cómo Node.js gestiona los eventos y las promesas? no solo mejora tu desempeño técnico, sino que te enseña a pensar como un desarrollador que domina el flujo natural del código. Este post te brindará una visión clara de cómo Node.js, se apoya en promesas y en un modelo de ejecución basado en eventos, para transformar tareas que antes eran bloqueantes en procesos fluidos, eficientes y controlados. Objetivo de Aprendizaje Al finalizar este tema, el estudiante será capaz de:Comprender el funcionamiento de Node.js nativo, aplicar el uso de promesas y explicar el modelo de ejecución basado en eventos dentro del entorno de desarrollo de aplicaciones backend. Actividades de Aprendizaje Te invitamos a reforzar tu aprendizaje con las siguientes experiencias: Entender Node.js desde su base nativa te devuelve el control sobre lo que escribes.Cada promesa resuelta, cada evento manejado y cada línea de código en la terminal es una oportunidad de aprendizaje.El dominio no está en usar más herramientas, sino en conocer a fondo las que ya tienes.</p>
<p>La entrada <a href="https://www.frexus.dev/post/nodejs-nativo-promesas-y-eventos/">Node.js las Promesas, los Eventos y el Poder del Código Asíncrono</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="683" src="https://www.frexus.dev/wp-content/uploads/2025/10/dos-2-1024x683.png" alt="Node.js las promesas, los eventos y el poder del código asíncrono" class="wp-image-4171" style="width:556px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2025/10/dos-2-1024x683.png 1024w, https://www.frexus.dev/wp-content/uploads/2025/10/dos-2-300x200.png 300w, https://www.frexus.dev/wp-content/uploads/2025/10/dos-2-768x512.png 768w, https://www.frexus.dev/wp-content/uploads/2025/10/dos-2-1140x760.png 1140w, https://www.frexus.dev/wp-content/uploads/2025/10/dos-2.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Node.js, representa la esencia del desarrollo backend moderno: rápido, eficiente y profundamente conectado con el sistema operativo. Su modelo basado en eventos y el uso de promesas hacen posible construir aplicaciones escalables sin recurrir a frameworks complejos. Comprender ¿cómo Node.js gestiona los eventos y las promesas? no solo mejora tu desempeño técnico, sino que te enseña a pensar como un desarrollador que domina el flujo natural del código.</p>



<p>Este post te brindará una visión clara de cómo <strong>Node.js</strong>, se apoya en <strong>promesas</strong> y en un <strong>modelo de ejecución basado en eventos</strong>, para transformar tareas que antes eran bloqueantes en procesos fluidos, eficientes y controlados.</p>



<h2 class="wp-block-heading"><strong>Objetivo de Aprendizaje</strong></h2>



<p>Al finalizar este tema, el estudiante será capaz de:<br><strong>Comprender el funcionamiento de Node.js nativo, aplicar el uso de promesas y explicar el modelo de ejecución basado en eventos</strong> dentro del entorno de desarrollo de aplicaciones backend.</p>



<h2 class="wp-block-heading"><strong>Actividades de Aprendizaje</strong></h2>



<p>Te invitamos a reforzar tu aprendizaje con las siguientes experiencias:</p>



<ol class="wp-block-list">
<li><strong>Lectura del caso de estudio:</strong><br><em>“<strong><a href="https://steemit.com/caseoestudio/@frexus/entre-el-eco-del-codigo-y-la-voz-del-terminal" target="_blank" rel="noreferrer noopener">Entre el eco del código y la voz del terminal</a></strong>”</em> — una historia que muestra el poder de volver al código esencial. Después de leer el caso de estudio da respuesta las siguientes cuestiones:
<ul class="wp-block-list">
<li>¿Qué tan consciente eres del funcionamiento interno de las herramientas que usas a diario en desarrollo?</li>



<li>¿En qué momento la comodidad tecnológica puede volverse una forma de dependencia?</li>



<li>¿Por qué es importante entender los fundamentos de un lenguaje antes de sus frameworks?</li>



<li>¿Qué enseñanza personal deja trabajar con Node.js “puro” sin apoyarse en librerías externas?</li>



<li>¿De qué manera el uso de <code>readline</code> refleja el concepto de “escuchar” al usuario dentro del desarrollo de software?</li>



<li>¿Cómo podrías aplicar este enfoque de simplicidad y control en tus próximos proyectos?</li>
</ul>
</li>



<li><strong>Escucha el pódcast:</strong><br><em><strong><a href="https://youtu.be/qQqPBWNwL5U" target="_blank" rel="noreferrer noopener">Historias que te retan</a></strong></em> — un episodio donde reflexionamos sobre cómo escuchar al código puede cambiar la forma en que programamos.</li>



<li><strong>Actividad práctica:</strong><br>Desarrolla un pequeño programa CLI en Node.js que pida datos (un número) del usuario usando <code>readline</code> y calcule si es par o impar un resultado.<br>Luego Reflexiona cómo las promesas podrían mejorar su fluidez y manejo asincrónico.</li>



<li><strong>Actividades de reforzamiento:</strong>
<ul class="wp-block-list">
<li><strong><a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=15&amp;words=NODEJS%2CPROMESAS%2CASINCRON%C3%8DA%2CEVENTOS%2CREADLINE%2CCALLBACK%2CFLUJO%2CM%C3%93DULO%2CCLI&amp;directions=horizontal%2Cvertical&amp;title=Aplicaciones+Web+Progresivas&amp;subtitle=readline" target="_blank" rel="noreferrer noopener">Sopa de letras</a></strong>: repasa los conceptos clave del tema.</li>



<li><strong><a href="https://www.frexus.dev/crucigrama/crucigrama.html?data=%7B%22id%22%3A%22cw-x8alhaozf%22%2C%22title%22%3A%22Aplicaciones%20Web%20Progrecivas%22%2C%22subtitle%22%3A%22Readline%22%2C%22words%22%3A%5B%7B%22word%22%3A%22NODEJS%22%2C%22clue%22%3A%22Entorno%20de%20ejecuci%C3%B3n%20que%20permite%20usar%20JavaScript%20fuera%20del%20navegador.%22%7D%2C%7B%22word%22%3A%22PROMESAS%22%2C%22clue%22%3A%22Objeto%20que%20representa%20una%20operaci%C3%B3n%20que%20puede%20completarse%20en%20el%20futuro.%22%7D%2C%7B%22word%22%3A%22ASINCRON%C3%8DA%22%2C%22clue%22%3A%22Modelo%20de%20ejecuci%C3%B3n%20donde%20las%20tareas%20no%20bloquean%20el%20flujo%20principal.%22%7D%2C%7B%22word%22%3A%22EVENTOS%22%2C%22clue%22%3A%22Mecanismo%20central%20que%20permite%20reaccionar%20a%20acciones%20o%20sucesos%20en%20Node.js.%22%7D%2C%7B%22word%22%3A%22READLINE%22%2C%22clue%22%3A%22M%C3%B3dulo%20nativo%20que%20permite%20recibir%20entrada%20del%20usuario%20en%20la%20terminal.%22%7D%2C%7B%22word%22%3A%22CALLBACK%22%2C%22clue%22%3A%22Funci%C3%B3n%20que%20se%20ejecuta%20cuando%20una%20operaci%C3%B3n%20as%C3%ADncrona%20termina.%22%7D%2C%7B%22word%22%3A%22FLUJO%22%2C%22clue%22%3A%22Secuencia%20controlada%20de%20operaciones%20dentro%20de%20un%20programa.%22%7D%2C%7B%22word%22%3A%22M%C3%93DULO%22%2C%22clue%22%3A%22Unidad%20de%20c%C3%B3digo%20reutilizable%20dentro%20de%20Node.js.%22%7D%2C%7B%22word%22%3A%22CLI%22%2C%22clue%22%3A%22Interfaz%20de%20l%C3%ADnea%20de%20comandos%20donde%20el%20usuario%20interact%C3%BAa%20con%20el%20programa.%22%7D%5D%2C%22createdAt%22%3A%222025-10-13T17%3A34%3A02.743Z%22%7D" target="_blank" rel="noreferrer noopener">Crucigrama</a></strong>: pon a prueba tu comprensión del modelo de eventos y las promesas.</li>
</ul>
</li>
</ol>



<p></p>



<p>Entender Node.js desde su base nativa te devuelve el control sobre lo que escribes.<br>Cada promesa resuelta, cada evento manejado y cada línea de código en la terminal es una oportunidad de aprendizaje.<br>El dominio no está en usar más herramientas, sino en conocer a fondo las que ya tienes.</p>
<p>La entrada <a href="https://www.frexus.dev/post/nodejs-nativo-promesas-y-eventos/">Node.js las Promesas, los Eventos y el Poder del Código Asíncrono</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/nodejs-nativo-promesas-y-eventos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4170</post-id>	</item>
		<item>
		<title>Introducción a Node.js</title>
		<link>https://www.frexus.dev/post/introduccion-a-node-js/</link>
					<comments>https://www.frexus.dev/post/introduccion-a-node-js/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 15 Sep 2025 18:04:40 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[desventajas de node.js]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.JS]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[ventajas de node.js]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=4094</guid>

					<description><![CDATA[<p>Node.js se ha convertido en una de las tecnologías más utilizadas en el desarrollo web moderno. Gracias a su capacidad de ejecutar JavaScript en el lado del servidor, ofrece una alternativa ligera, rápida y escalable para crear aplicaciones web y servicios backend. En este post te presentamos una breve introducción a Node.js, sus características principales, ventajas y desventajas, acompañada de actividades de aprendizaje que reforzarán tu comprensión. Objetivo de aprendizaje Al finalizar esta lectura, el estudiante será capaz de: Características de Node.js Ventajas de Node.js Desventajas de Node.js actividades de aprendizaje Ahora que conoces lo esencial de Node.js, te invitamos a: Estas actividades fortalecerán tu comprensión y te ayudarán a interiorizar mejor los conceptos.</p>
<p>La entrada <a href="https://www.frexus.dev/post/introduccion-a-node-js/">Introducción a Node.js</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img decoding="async" width="1024" height="683" src="https://www.frexus.dev/wp-content/uploads/2025/09/node-1024x683.png" alt="Introducción a node.js" class="wp-image-4095" style="width:508px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2025/09/node-1024x683.png 1024w, https://www.frexus.dev/wp-content/uploads/2025/09/node-300x200.png 300w, https://www.frexus.dev/wp-content/uploads/2025/09/node-768x512.png 768w, https://www.frexus.dev/wp-content/uploads/2025/09/node-1140x760.png 1140w, https://www.frexus.dev/wp-content/uploads/2025/09/node.png 1536w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Node.js se ha convertido en una de las tecnologías más utilizadas en el desarrollo web moderno. Gracias a su capacidad de ejecutar JavaScript en el lado del servidor, ofrece una alternativa ligera, rápida y escalable para crear aplicaciones web y servicios backend.</p>



<p>En este post te presentamos una breve introducción a Node.js, sus características principales, ventajas y desventajas, acompañada de actividades de aprendizaje que reforzarán tu comprensión.</p>



<h3 class="wp-block-heading">Objetivo de aprendizaje</h3>



<p>Al finalizar esta lectura, el estudiante será capaz de:</p>



<ul class="wp-block-list">
<li>Identificar las principales características de Node.js.</li>



<li>Reconocer sus ventajas y desventajas en proyectos de desarrollo.</li>



<li>Aplicar sus conocimientos en actividades prácticas y de reforzamiento.</li>
</ul>



<h3 class="wp-block-heading">Características de Node.js</h3>



<ul class="wp-block-list">
<li>Permite ejecutar JavaScript en el servidor.</li>



<li>Basado en el motor V8 de Google Chrome.</li>



<li>Arquitectura orientada a eventos.</li>



<li>Entrada/salida asíncrona y no bloqueante.</li>



<li>Gran ecosistema de módulos con <strong>npm</strong>.</li>
</ul>



<h3 class="wp-block-heading">Ventajas de Node.js</h3>



<ul class="wp-block-list">
<li>Alto rendimiento gracias a su modelo no bloqueante.</li>



<li>Escalabilidad para aplicaciones en tiempo real.</li>



<li>Amplia comunidad y soporte.</li>



<li>Reutilización del lenguaje JavaScript tanto en frontend como en backend.</li>
</ul>



<h3 class="wp-block-heading">Desventajas de Node.js</h3>



<ul class="wp-block-list">
<li>No es la mejor opción para aplicaciones que requieren gran poder de cómputo (ej. cálculos intensivos).</li>



<li>La asincronía puede dificultar la curva de aprendizaje.</li>



<li>Ecosistema muy dinámico, con librerías que pueden quedar obsoletas rápidamente.</li>
</ul>



<h3 class="wp-block-heading">actividades de aprendizaje</h3>



<p>Ahora que conoces lo esencial de <strong>Node.js</strong>, te invitamos a:</p>



<ol class="wp-block-list">
<li>Leer el recurso:<strong> <a href="http://www.frexus.dev/articulo/node-js/" target="_blank" rel="noreferrer noopener">node.js</a> </strong>después de leerlo responde las siguientes preguntas:
<ul class="wp-block-list">
<li>¿Cuál es la principal ventaja de Node.js respecto al manejo de conexiones simultáneas?</li>



<li>¿Qué es NPM y por qué es importante para los desarrolladores que usan Node.js?</li>



<li>¿Cómo influye la arquitectura de Node.js en la creación de aplicaciones ligeras?</li>



<li>¿Cuáles son las principales empresas que utilizan Node.js en sus sistemas?</li>



<li>¿Qué desafíos presenta el uso de callbacks en Node.js?</li>



<li>¿Por qué Node.js es ideal para aplicaciones en tiempo real?</li>
</ul>
</li>



<li>Para realizar la <strong><a href="http://www.frexus.dev/articulo/ejercicios-resueltos-en-nodejs/" target="_blank" rel="noreferrer noopener">actividad práctica</a></strong>, debes de leer primero los siguientes recursos:
<ul class="wp-block-list">
<li><strong><a href="https://www.frexus.dev/articulo/tipos-de-datos-en-nodejs/" target="_blank" rel="noreferrer noopener">Tipos de datos en node.js</a></strong></li>



<li><strong><a href="https://www.frexus.dev/articulo/nodeje-y-los-operadores/" target="_blank" rel="noreferrer noopener">Operadores en node.js</a></strong></li>



<li><strong><a href="https://www.frexus.dev/articulo/las-variables-en-nodejs/" target="_blank" rel="noreferrer noopener">Variables en node.js</a></strong></li>



<li><strong><a href="https://www.frexus.dev/articulo/constantes-en-nodejs/" target="_blank" rel="noreferrer noopener">Constantes en node.js</a></strong></li>



<li><strong><a href="https://www.frexus.dev/articulo/solicitar-datos-al-usuario-en-nodejs/" target="_blank" rel="noreferrer noopener">Solicitar datos en node.js</a></strong></li>
</ul>
</li>



<li>Completar las <strong>actividades de reforzamiento</strong>: una <strong><a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=20&amp;words=NODEJS%2CJAVASCRIPT%2CAS%C3%8DNCRONO%2CEVENTOS%2CESCALABILIDAD%2CRENDIMIENTO%2CBACKEND%2CSERVIDOR%2CNPM&amp;directions=vertical&amp;title=Programaci%C3%B3n+web+progresiva&amp;subtitle=node.js" target="_blank" rel="noreferrer noopener">sopa de letras</a></strong> y un <strong><a href="https://www.frexus.dev/crucigrama/crucigrama.html?data=%7B%22id%22%3A%22cw-k7tkk7cux%22%2C%22title%22%3A%22Programaci%C3%B3n%20Wep%20Progresiva%22%2C%22subtitle%22%3A%22Node.js%22%2C%22words%22%3A%5B%7B%22word%22%3A%22MOTORV8%22%2C%22clue%22%3A%22Motor%20de%20JavaScript%20creado%20por%20Google%2C%20usado%20en%20Chrome%20y%20Node.js%20para%20ejecutar%20c%C3%B3digo%20r%C3%A1pidamente.%22%7D%2C%7B%22word%22%3A%22ENTRADA%2FSALIDA%22%2C%22clue%22%3A%22Proceso%20mediante%20el%20cual%20un%20programa%20recibe%20datos%20y%20entrega%20resultados%2C%20en%20Node.js%20funciona%20de%20manera%20as%C3%ADncrona.%22%7D%2C%7B%22word%22%3A%22TIEMPOREAL%22%2C%22clue%22%3A%22Tipo%20de%20aplicaciones%20que%20responden%20de%20inmediato%20a%20las%20acciones%20del%20usuario%2C%20como%20chats%20o%20videojuegos%20online.%22%7D%2C%7B%22word%22%3A%22ARQORIENTADAEVENTOS%22%2C%22clue%22%3A%22Modelo%20de%20programaci%C3%B3n%20en%20el%20que%20las%20acciones%20se%20ejecutan%20como%20respuesta%20a%20disparadores%20o%20sucesos.%22%7D%2C%7B%22word%22%3A%22CURVAAPRENDIZAJE%22%2C%22clue%22%3A%22Dificultad%20o%20facilidad%20con%20la%20que%20un%20programador%20comprende%20y%20domina%20una%20nueva%20tecnolog%C3%ADa.%22%7D%2C%7B%22word%22%3A%22COMUNIDAD%22%2C%22clue%22%3A%22Grupo%20de%20desarrolladores%20que%20colaboran%2C%20comparten%20c%C3%B3digo%20y%20brindan%20soporte%20alrededor%20de%20Node.js.%22%7D%2C%7B%22word%22%3A%22LIBRER%C3%8DAS%22%2C%22clue%22%3A%22Conjunto%20de%20funciones%20o%20m%C3%B3dulos%20que%20permiten%20ampliar%20las%20capacidades%20de%20un%20lenguaje%20o%20entorno%20de%20programaci%C3%B3n.%22%7D%2C%7B%22word%22%3A%22DESARROLLOWEB%22%2C%22clue%22%3A%22Disciplina%20enfocada%20en%20la%20creaci%C3%B3n%20de%20sitios%2C%20aplicaciones%20y%20servicios%20accesibles%20desde%20navegadores.%22%7D%2C%7B%22word%22%3A%22LENGUAJE%22%2C%22clue%22%3A%22Sistema%20de%20reglas%20y%20sintaxis%20utilizado%20para%20escribir%20programas%2C%20como%20JavaScript%20en%20Node.js.%22%7D%5D%2C%22createdAt%22%3A%222025-09-15T17%3A46%3A09.262Z%22%7D" target="_blank" rel="noreferrer noopener">crucigrama</a></strong> diseñados con los conceptos clave de este tema.</li>
</ol>



<p>Estas actividades fortalecerán tu comprensión y te ayudarán a interiorizar mejor los conceptos.</p>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/post/introduccion-a-node-js/">Introducción a Node.js</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/introduccion-a-node-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4094</post-id>	</item>
		<item>
		<title>Ejercicios básico con React Native &#8211; Expo</title>
		<link>https://www.frexus.dev/post/ejercicios-basicos-react-native-expo/</link>
					<comments>https://www.frexus.dev/post/ejercicios-basicos-react-native-expo/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 11 Sep 2025 19:02:21 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[Aplicaciones Multiplataforma]]></category>
		<category><![CDATA[Aprender React Native]]></category>
		<category><![CDATA[desarrollo móvil]]></category>
		<category><![CDATA[Ejercicios React Native]]></category>
		<category><![CDATA[Expo]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[react native]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=4080</guid>

					<description><![CDATA[<p>Si estás comenzando en el mundo del desarrollo móvil, React Native con Expo es una de las mejores formas de dar tus primeros pasos. Gracias a su facilidad de uso y a la rapidez para crear aplicaciones, podrás aprender los fundamentos sin complicaciones. En este post encontrarás 12 ejercicios básicos con React Native y Expo que te llevarán desde mostrar un simple texto en pantalla hasta construir una calculadora funcional. La ruta está pensada para principiantes y cada actividad incluye código listo para probar en tu proyecto. Al terminar este recorrido tendrás una base sólida para desarrollar aplicaciones móviles multiplataforma y continuar con proyectos más avanzados. Ejercicio 1. Hola Mundo Ejercicio 2. Estilos Ejercicio 3. Botón Interactivo Ejercicio 4. Contador Simple Ejercicio 5. Input de Texto (Saludo) Ejercicio 6. Lista de Elementos Ejercicio 7. Navegación Ejercicio 8. Uso de Íconos Ejercicio 10. Consumir API Ejercicio 11. Ejercicio Extra: Suma de Dos Números Ejercicio 12. Número Par o Impar Ejercicio 13. Calculadora Básica</p>
<p>La entrada <a href="https://www.frexus.dev/post/ejercicios-basicos-react-native-expo/">Ejercicios básico con React Native &#8211; Expo</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="683" src="https://www.frexus.dev/wp-content/uploads/2025/09/react-1024x683.png" alt="Ejercicio básico con React Native - Expo" class="wp-image-4081" style="width:526px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2025/09/react-1024x683.png 1024w, https://www.frexus.dev/wp-content/uploads/2025/09/react-300x200.png 300w, https://www.frexus.dev/wp-content/uploads/2025/09/react-768x512.png 768w, https://www.frexus.dev/wp-content/uploads/2025/09/react-1140x760.png 1140w, https://www.frexus.dev/wp-content/uploads/2025/09/react.png 1536w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>Si estás comenzando en el mundo del desarrollo móvil, <strong>React Native con Expo</strong> es una de las mejores formas de dar tus primeros pasos. Gracias a su facilidad de uso y a la rapidez para crear aplicaciones, podrás aprender los fundamentos sin complicaciones.</p>



<p>En este post encontrarás <strong>12 ejercicios básicos con React Native y Expo</strong> que te llevarán desde mostrar un simple texto en pantalla hasta construir una calculadora funcional. La ruta está pensada para principiantes y cada actividad incluye código listo para probar en tu proyecto.</p>



<p>Al terminar este recorrido tendrás una base sólida para desarrollar aplicaciones móviles multiplataforma y continuar con proyectos más avanzados. </p>



<h3 class="wp-block-heading">Ejercicio 1. <strong>Hola Mundo</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Mostrar un texto en pantalla.</li>



<li><strong>Tarea:</strong> Crear un proyecto con <code>npx create-expo-app</code> y mostrar <code>Hello World!</code>.</li>



<li><strong>Concepto:</strong> <code>Text</code>, <code>View</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React from &#39;react&#39;;
import { View, Text } from &#39;react-native&#39;;

export default function App() {
  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text&gt;Hello World!&lt;/Text&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 2. <strong>Estilos</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Personalizar vistas y textos.</li>



<li><strong>Tarea:</strong> Cambiar color de fondo, tamaño de letra y alinear texto.</li>



<li><strong>Concepto:</strong> <code>StyleSheet</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React from &#39;react&#39;;
import { View, Text, StyleSheet } from &#39;react-native&#39;;

export default function App() {
  return (
    &lt;View style={styles.container}&gt;
      &lt;Text style={styles.text}&gt;Texto con estilos&lt;/Text&gt;
    &lt;/View&gt;
  );
}

const styles = StyleSheet.create({
  container: { flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39;, backgroundColor:&#39;#e0f7fa&#39; },
  text: { fontSize:24, fontWeight:&#39;bold&#39;, color:&#39;#00796b&#39; }
});
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 3. <strong>Botón Interactivo</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Manejo de eventos.</li>



<li><strong>Tarea:</strong> Crear un botón que cambie el texto al hacer clic.</li>



<li><strong>Concepto:</strong> <code>Button</code>, <code>useState</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, Button } from &#39;react-native&#39;;

export default function App() {
  const [mensaje, setMensaje] = useState(&quot;Texto inicial&quot;);

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text&gt;{mensaje}&lt;/Text&gt;
      &lt;Button title=&quot;Cambiar Texto&quot; onPress={() =&gt; setMensaje(&quot;¡Texto cambiado!&quot;)} /&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 4. <strong>Contador Simple</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Estados dinámicos.</li>



<li><strong>Tarea:</strong> Dos botones <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2795.png" alt="➕" class="wp-smiley" style="height: 1em; max-height: 1em;" /> y <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2796.png" alt="➖" class="wp-smiley" style="height: 1em; max-height: 1em;" /> que actualicen un contador.</li>



<li><strong>Concepto:</strong> <code>useState</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, Button } from &#39;react-native&#39;;

export default function App() {
  const [contador, setContador] = useState(0);

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text style={{ fontSize:30 }}&gt;{contador}&lt;/Text&gt;
      &lt;Button title=&quot;&#x2795;&quot; onPress={() =&gt; setContador(contador+1)} /&gt;
      &lt;Button title=&quot;&#x2796;&quot; onPress={() =&gt; setContador(contador-1)} /&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 5. <strong>Input de Texto (Saludo</strong>)</h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Capturar texto.</li>



<li><strong>Tarea:</strong> Escribir el nombre en un <code>TextInput</code> y mostrar <em>Hola [nombre]</em>.</li>



<li><strong>Concepto:</strong> <code>TextInput</code>, binding.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, TextInput } from &#39;react-native&#39;;

export default function App() {
  const [nombre, setNombre] = useState(&quot;&quot;);

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;TextInput 
        placeholder=&quot;Escribe tu nombre&quot; 
        style={{ borderWidth:1, padding:8, marginBottom:10, width:200 }}
        onChangeText={setNombre}
      /&gt;
      &lt;Text&gt;Hola {nombre}&lt;/Text&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 6. <strong>Lista de Elementos</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Renderizar arrays.</li>



<li><strong>Tarea:</strong> Mostrar frutas/tareas en una lista.</li>



<li><strong>Concepto:</strong> <code>FlatList</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React from &#39;react&#39;;
import { View, Text, FlatList } from &#39;react-native&#39;;

export default function App() {
  const frutas = [&quot;Manzana&quot;, &quot;Plátano&quot;, &quot;Naranja&quot;, &quot;Uvas&quot;];

  return (
    &lt;View style={{ flex:1, padding:20 }}&gt;
      &lt;FlatList 
        data={frutas}
        keyExtractor={(item, index) =&gt; index.toString()}
        renderItem={({ item }) =&gt; &lt;Text style={{ fontSize:20, margin:5 }}&gt;{item}&lt;/Text&gt;}
      /&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 7. <strong>Navegación</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Moverse entre pantallas.</li>



<li><strong>Tarea:</strong> Pantallas: <em>Inicio</em> y <em>Perfil</em>.</li>



<li><strong>Concepto:</strong> <code>React Navigation</code>.</li>



<li><strong>Requiere</strong>: npm install @react-navigation/native @react-navigation/stack react-native-screens react-native-safe-area-context react-native-gesture-handler react-native-reanimated</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import * as React from &#39;react&#39;;
import { Button, View, Text } from &#39;react-native&#39;;
import { NavigationContainer } from &#39;@react-navigation/native&#39;;
import { createStackNavigator } from &#39;@react-navigation/stack&#39;;

function HomeScreen({ navigation }) {
  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text&gt;Pantalla Inicio&lt;/Text&gt;
      &lt;Button title=&quot;Ir a Perfil&quot; onPress={() =&gt; navigation.navigate(&#39;Perfil&#39;)} /&gt;
    &lt;/View&gt;
  );
}

function PerfilScreen() {
  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text&gt;Pantalla Perfil&lt;/Text&gt;
    &lt;/View&gt;
  );
}

const Stack = createStackNavigator();

export default function App() {
  return (
    &lt;NavigationContainer&gt;
      &lt;Stack.Navigator&gt;
        &lt;Stack.Screen name=&quot;Inicio&quot; component={HomeScreen} /&gt;
        &lt;Stack.Screen name=&quot;Perfil&quot; component={PerfilScreen} /&gt;
      &lt;/Stack.Navigator&gt;
    &lt;/NavigationContainer&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 8. <strong>Uso de Íconos</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Mejorar UI.</li>



<li><strong>Tarea:</strong> Colocar íconos en botones o listas.</li>



<li><strong>Concepto:</strong> <code>@expo/vector-icons</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React from &#39;react&#39;;
import { View, Text } from &#39;react-native&#39;;
import { Ionicons } from &#39;@expo/vector-icons&#39;;

export default function App() {
  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;Text&gt;Icono de React Native:&lt;/Text&gt;
      &lt;Ionicons name=&quot;logo-react&quot; size={64} color=&quot;blue&quot; /&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 10. <strong>Consumir API</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Traer datos externos.</li>



<li><strong>Tarea:</strong> Mostrar títulos desde <code>https://jsonplaceholder.typicode.com/posts</code>.</li>



<li><strong>Concepto:</strong> <code>useEffect</code>, <code>fetch</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useEffect, useState } from &#39;react&#39;;
import { View, Text, FlatList } from &#39;react-native&#39;;

export default function App() {
  const [posts, setPosts] = useState([]);

  useEffect(() =&gt; {
    fetch(&quot;https://jsonplaceholder.typicode.com/posts&quot;)
      .then(res =&gt; res.json())
      .then(data =&gt; setPosts(data.slice(0,10))); // solo 10
  }, []);

  return (
    &lt;View style={{ flex:1, padding:20 }}&gt;
      &lt;FlatList 
        data={posts}
        keyExtractor={item =&gt; item.id.toString()}
        renderItem={({ item }) =&gt; &lt;Text style={{ margin:5 }}&gt;{item.title}&lt;/Text&gt;}
      /&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading">Ejercicio 11. <strong>Ejercicio Extra: Suma de Dos Números</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Practicar inputs + lógica básica.</li>



<li><strong>Tarea:</strong> Dos <code>TextInput</code> donde se ingresen números y un botón que muestre la suma.</li>



<li><strong>Concepto:</strong> Manejo de <code>TextInput</code> con valores numéricos, conversión <code>parseInt</code>.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, TextInput, Button } from &#39;react-native&#39;;

export default function App() {
  const [num1, setNum1] = useState(&quot;&quot;);
  const [num2, setNum2] = useState(&quot;&quot;);
  const [resultado, setResultado] = useState(null);

  const sumar = () =&gt; {
    setResultado(parseInt(num1) + parseInt(num2));
  };

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;TextInput placeholder=&quot;Número 1&quot; keyboardType=&quot;numeric&quot; style={{ borderWidth:1, padding:8, margin:5, width:200 }} onChangeText={setNum1}/&gt;
      &lt;TextInput placeholder=&quot;Número 2&quot; keyboardType=&quot;numeric&quot; style={{ borderWidth:1, padding:8, margin:5, width:200 }} onChangeText={setNum2}/&gt;
      &lt;Button title=&quot;Sumar&quot; onPress={sumar} /&gt;
      {resultado !== null && &lt;Text style={{ marginTop:10 }}&gt;Resultado: {resultado}&lt;/Text&gt;}
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading"><strong>Ejercicio 12. Número Par o Impar</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Uso de condicionales.</li>



<li><strong>Tarea:</strong> Ingresar un número en <code>TextInput</code> y mostrar si es par o impar.</li>



<li><strong>Concepto:</strong> Operador módulo <code>%</code>, condicionales.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, TextInput, Button } from &#39;react-native&#39;;

export default function App() {
  const [numero, setNumero] = useState(&quot;&quot;);
  const [resultado, setResultado] = useState(&quot;&quot;);

  const verificar = () =&gt; {
    const n = parseInt(numero);
    if (isNaN(n)) {
      setResultado(&quot;Ingresa un número válido&quot;);
    } else {
      setResultado(n % 2 === 0 ? &quot;Es par&quot; : &quot;Es impar&quot;);
    }
  };

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;TextInput placeholder=&quot;Escribe un número&quot; keyboardType=&quot;numeric&quot; style={{ borderWidth:1, padding:8, margin:5, width:200 }} onChangeText={setNumero}/&gt;
      &lt;Button title=&quot;Verificar&quot; onPress={verificar} /&gt;
      &lt;Text style={{ marginTop:10 }}&gt;{resultado}&lt;/Text&gt;
    &lt;/View&gt;
  );
}
</code></pre></div>



<h3 class="wp-block-heading"><strong>Ejercicio 13. Calculadora Básica</strong></h3>



<ul class="wp-block-list">
<li><strong>Objetivo:</strong> Combinar inputs + operaciones.</li>



<li><strong>Tarea:</strong> Dos <code>TextInput</code> y botones para sumar, restar, multiplicar y dividir. Mostrar el resultado.</li>



<li><strong>Concepto:</strong> Manejo de múltiples eventos y estados.</li>
</ul>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>import React, { useState } from &#39;react&#39;;
import { View, Text, TextInput, Button } from &#39;react-native&#39;;

export default function App() {
  const [num1, setNum1] = useState(&quot;&quot;);
  const [num2, setNum2] = useState(&quot;&quot;);
  const [resultado, setResultado] = useState(null);

  const calcular = (op) =&gt; {
    const n1 = parseFloat(num1);
    const n2 = parseFloat(num2);
    if (isNaN(n1) || isNaN(n2)) {
      setResultado(&quot;Error: Ingresa números válidos&quot;);
      return;
    }
    if (op === &quot;sumar&quot;) setResultado(n1 + n2);
    if (op === &quot;restar&quot;) setResultado(n1 - n2);
    if (op === &quot;multiplicar&quot;) setResultado(n1 * n2);
    if (op === &quot;dividir&quot;) setResultado(n2 !== 0 ? n1 / n2 : &quot;No se puede dividir entre 0&quot;);
  };

  return (
    &lt;View style={{ flex:1, justifyContent:&#39;center&#39;, alignItems:&#39;center&#39; }}&gt;
      &lt;TextInput placeholder=&quot;Número 1&quot; keyboardType=&quot;numeric&quot; style={{ borderWidth:1, padding:8, margin:5, width:200 }} onChangeText={setNum1}/&gt;
      &lt;TextInput placeholder=&quot;Número 2&quot; keyboardType=&quot;numeric&quot; style={{ borderWidth:1, padding:8, margin:5, width:200 }} onChangeText={setNum2}/&gt;
      
      &lt;View style={{ flexDirection:&#39;row&#39;, marginTop:10 }}&gt;
        &lt;Button title=&quot;&#x2795;&quot; onPress={() =&gt; calcular(&quot;sumar&quot;)} /&gt;
        &lt;Button title=&quot;&#x2796;&quot; onPress={() =&gt; calcular(&quot;restar&quot;)} /&gt;
        &lt;Button title=&quot;&#x2716;&quot; onPress={() =&gt; calcular(&quot;multiplicar&quot;)} /&gt;
        &lt;Button title=&quot;&#x2797;&quot; onPress={() =&gt; calcular(&quot;dividir&quot;)} /&gt;
      &lt;/View&gt;

      {resultado !== null && &lt;Text style={{ marginTop:10 }}&gt;Resultado: {resultado}&lt;/Text&gt;}
    &lt;/View&gt;
  );
}
</code></pre></div>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/post/ejercicios-basicos-react-native-expo/">Ejercicios básico con React Native &#8211; Expo</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/ejercicios-basicos-react-native-expo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4080</post-id>	</item>
		<item>
		<title>Interacción dinámica con DOM y JavaScript</title>
		<link>https://www.frexus.dev/post/sitios-web-dinamicos-dom-javascript/</link>
					<comments>https://www.frexus.dev/post/sitios-web-dinamicos-dom-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 28 Jul 2025 22:15:59 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[actividades interactivas]]></category>
		<category><![CDATA[aprendizaje activo]]></category>
		<category><![CDATA[asincronía web]]></category>
		<category><![CDATA[casos de estudio]]></category>
		<category><![CDATA[desarrollo frontend]]></category>
		<category><![CDATA[Fetch API]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[manipulación del DOM]]></category>
		<category><![CDATA[sitios web dinámicos]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=3956</guid>

					<description><![CDATA[<p>¿Sabías que un sitio web bonito no siempre garantiza una buena experiencia de usuario? La diferencia entre una página que solo se ve bien y una que realmente funciona está en su dinamismo. En este post, conocerás una historia real de superación tecnológica, aprenderás a manipular el DOM con JavaScript y a presentar información de forma asíncrona. Además, podrás reforzar tus conocimientos con actividades interactivas: una práctica guiada, una sopa de letras y un crucigrama. 1. Lee o escucha el caso de estudio Conoce la historia de Daniela, una emprendedora que vivió en carne propia los retos de tener un sitio web estático en el momento más importante de su negocio. Su transformación digital comenzó con conceptos como manipulación del DOM, eventos dinámicos y uso de Fetch API. Pulsa aquí para leer el caso completoEscuchar el episodio en formato podcast: Preguntas para reflexionar después de leer o escuchar el caso de estudio: 2. Realiza la actividad práctica paso a paso ¿Listo para pasar de la teoría a la acción? Te guiamos en la construcción de una tienda web dinámica desde cero. Cargarás productos desde un archivo externo, agregarás interactividad con JavaScript y mejorarás la experiencia del usuario con elementos visuales que reaccionan en tiempo real. Ideal para estudiantes de desarrollo web o autodidactas. Pulsa aquí para acceder a un ejemplo base en el desarrollo de la actividad Pulsa aquí para acceder a la actividad Preguntas para reflexionar después de realizar la actividad 3. Refuerza lo aprendido con una sopa de letras y un crucigrama Aprender también puede ser divertido. Hemos creado dos actividades interactivas para ayudarte a fijar los conceptos clave: Sopa de Letras: Encuentra los conceptos esenciales Crucigrama: Resuelve pistas relacionadas con desarrollo dinámico</p>
<p>La entrada <a href="https://www.frexus.dev/post/sitios-web-dinamicos-dom-javascript/">Interacción dinámica con DOM y JavaScript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://www.frexus.dev/wp-content/uploads/2025/07/doom.png" alt="interacción dinámica con DOM y JavaScript" class="wp-image-3957" style="width:556px;height:auto" srcset="https://www.frexus.dev/wp-content/uploads/2025/07/doom.png 1024w, https://www.frexus.dev/wp-content/uploads/2025/07/doom-300x300.png 300w, https://www.frexus.dev/wp-content/uploads/2025/07/doom-150x150.png 150w, https://www.frexus.dev/wp-content/uploads/2025/07/doom-768x768.png 768w, https://www.frexus.dev/wp-content/uploads/2025/07/doom-75x75.png 75w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p>¿Sabías que un sitio web bonito no siempre garantiza una buena experiencia de usuario? La diferencia entre una página que solo se ve bien y una que realmente funciona está en su <em>dinamismo</em>. En este post, conocerás una historia real de superación tecnológica, aprenderás a manipular el DOM con JavaScript y a presentar información de forma asíncrona. Además, podrás reforzar tus conocimientos con actividades interactivas: una práctica guiada, una sopa de letras y un crucigrama.</p>



<h2 class="wp-block-heading"><strong>1. Lee o escucha el caso de estudio</strong></h2>



<p>Conoce la historia de <strong>Daniela</strong>, una emprendedora que vivió en carne propia los retos de tener un sitio web estático en el momento más importante de su negocio. Su transformación digital comenzó con conceptos como <strong>manipulación del DOM</strong>, <strong>eventos dinámicos</strong> y <strong>uso de Fetch API</strong>.</p>



<p><a href="https://mirror.xyz/0xC0aA599b2bC4f72854E056b6E9A809764371ff3a/46vza40rEbDvY8-DHJpWH4LAwQke_sc07wx_sw7ZMO4?referrerAddress=0xC0aA599b2bC4f72854E056b6E9A809764371ff3a" target="_blank" rel="noreferrer noopener">Pulsa aquí para leer el caso completo</a><br><strong>Escuchar el episodio en formato podcast</strong>:</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Sitios web dinámicos" width="960" height="540" src="https://www.youtube.com/embed/GRJa23C-Tz8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">Vídeo 1. Podcast del caso de estudio. Fuente: Tomado de Youtube.com</figcaption></figure>



<h4 class="wp-block-heading"><strong>Preguntas para reflexionar después de leer o escuchar el caso de estudio:</strong></h4>



<ol class="wp-block-list">
<li>¿Qué importancia tiene la manipulación del DOM para la experiencia del usuario?</li>



<li>¿En qué momentos específicos de una tienda en línea puede fallar la falta de presentación asíncrona?</li>



<li>¿Cómo puede un diseño visualmente atractivo volverse contraproducente si no es funcional?</li>



<li>¿Qué aprendizajes técnicos y emocionales te deja la historia de Daniela?</li>



<li>¿Qué herramientas usarías tú para crear elementos dinámicos en una web real?</li>



<li>¿Qué hubieras hecho diferente si fueras Daniela al enfrentar la caída del sitio?</li>
</ol>



<h2 class="wp-block-heading"><strong>2. Realiza la actividad práctica paso a paso</strong></h2>



<p>¿Listo para pasar de la teoría a la acción? Te guiamos en la construcción de una tienda web dinámica desde cero. Cargarás productos desde un archivo externo, agregarás interactividad con JavaScript y mejorarás la experiencia del usuario con elementos visuales que reaccionan en tiempo real. Ideal para estudiantes de desarrollo web o autodidactas.</p>



<p><a href="https://github.com/ajgutierr3z/DesaWebPro" target="_blank" rel="noreferrer noopener">Pulsa aquí para acceder a un ejemplo base en el desarrollo de la actividad</a></p>



<p><a href="https://mirror.xyz/0xC0aA599b2bC4f72854E056b6E9A809764371ff3a/FaAh9srQ5fwurMc3G0di_-qWR-7-ZhvVbEpUtYHgom8?referrerAddress=0xC0aA599b2bC4f72854E056b6E9A809764371ff3a" target="_blank" rel="noreferrer noopener">Pulsa aquí para acceder a la actividad</a></p>



<h3 class="wp-block-heading"><strong>Preguntas para reflexionar después de realizar la actividad</strong></h3>



<ul class="wp-block-list">
<li>¿Qué fue lo más retador de hacer dinámica una web?</li>



<li>¿Qué aprendiste sobre la importancia del DOM en la experiencia del usuario?</li>



<li>¿Cómo te gustaría escalar esta tienda en un proyecto más grande?</li>
</ul>



<h2 class="wp-block-heading"><strong>3. Refuerza lo aprendido con una sopa de letras y un crucigrama</strong></h2>



<p>Aprender también puede ser divertido. Hemos creado dos actividades interactivas para ayudarte a fijar los conceptos clave:</p>



<p><strong>Sopa de Letras: Encuentra los conceptos esenciales</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=20&amp;words=DOM%2CJAVASCRIPT%2CEVENTOS%2CASINCRON%C3%8DA%2CFETCH%2CJSON%2CINTERFAZ%2CDIN%C3%81MICO%2CSELECTOR&amp;directions=horizontal&amp;title=Desarrollo+Web+Profesional&amp;subtitle=Sitios+Web+Din%C3%A1micos" target="_blank" rel="noreferrer noopener">Pulsa aquí para acceder a la sopa de letras</a></li>
</ul>



<p><br><strong>Crucigrama: Resuelve pistas relacionadas con desarrollo dinámico</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.frexus.dev/crucigrama/crucigrama.html?data={%22id%22%3A%22cw-los5krf3n%22%2C%22title%22%3A%22Desarrollo%20Web%20Profesional%22%2C%22subtitle%22%3A%22Sitios%20Web%20Din%C3%A1micos%22%2C%22words%22%3A[{%22word%22%3A%22MANIPULACI%C3%93N%22%2C%22clue%22%3A%22Acci%C3%B3n%20de%20modificar%20elementos%20del%20DOM%20con%20JS%22}%2C{%22word%22%3A%22AS%C3%8DNCRONO%22%2C%22clue%22%3A%22Que%20ocurre%20sin%20bloquear%20otras%20operaciones%22}%2C{%22word%22%3A%22EVENTO%22%2C%22clue%22%3A%22Acci%C3%B3n%20del%20usuario%20que%20activa%20funciones%22}%2C{%22word%22%3A%22LISTENER%22%2C%22clue%22%3A%22Elemento%20que%20detecta%20eventos%22}%2C{%22word%22%3A%22API%22%2C%22clue%22%3A%22Interfaz%20que%20permite%20conectar%20datos%20externos%22}%2C{%22word%22%3A%22INNERHTML%22%2C%22clue%22%3A%22M%C3%A9todo%20para%20insertar%20contenido%20en%20el%20DOM%22}%2C{%22word%22%3A%22SETTIMEOUT%22%2C%22clue%22%3A%22Funci%C3%B3n%20para%20ejecutar%20algo%20despu%C3%A9s%20de%20un%20tiempo%22}%2C{%22word%22%3A%22CALLBACK%22%2C%22clue%22%3A%22Funci%C3%B3n%20pasada%20como%20argumento%20en%20otra%20funci%C3%B3n%22}%2C{%22word%22%3A%22CARRITO%22%2C%22clue%22%3A%22Elemento%20com%C3%BAn%20en%20e-commerce%20que%20almacena%20productos%22}]%2C%22createdAt%22%3A%222025-07-28T22%3A09%3A53.460Z%22}" target="_blank" rel="noreferrer noopener">Pulsa aquí para acceder al crucigrama</a></li>
</ul>



<p></p>
<p>La entrada <a href="https://www.frexus.dev/post/sitios-web-dinamicos-dom-javascript/">Interacción dinámica con DOM y JavaScript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/sitios-web-dinamicos-dom-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3956</post-id>	</item>
		<item>
		<title>Ejercicios básicos de animación con JavaScript</title>
		<link>https://www.frexus.dev/articulo/ejercicios-basicos-de-animacion-con-javascript/</link>
					<comments>https://www.frexus.dev/articulo/ejercicios-basicos-de-animacion-con-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Mon, 13 Mar 2023 16:17:36 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[animación]]></category>
		<category><![CDATA[Ejercicios]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=1663</guid>

					<description><![CDATA[<p>Una de las cosas que sorprenden son el sin fin de animaciones que se pueden hacer con JavaScript, por ello se ha recolectado en los siguientes ejercicios una aproximación para trabajar la animación con JavaScript. Se listan a continuación los problemas a resolver. Estos ejercicios permite acercar al lector a la animación básica con javascript.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-de-animacion-con-javascript/">Ejercicios básicos de animación con JavaScript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Una de las cosas que sorprenden son el sin fin de animaciones que se pueden hacer con JavaScript, por ello se ha recolectado en los siguientes ejercicios una aproximación para trabajar la animación con JavaScript. Se listan a continuación los problemas a resolver.</p>



<ol class="wp-block-list">
<li>En un foro de animación de javascript se ha colocado el siguiente desafío, que consiste en: Animar el movimiento de un objeto, se debería de crea un objeto en una página HTML y utilizar JavaScript para moverlo hacia la izquierda, derecha, arriba o abajo. Crea lo propio para resolver este desafío.</li>



<li>En un hackaton dedicado a la animación con javascript se ha publicado un reto, en el que se debe de animar el cambio de tamaño de un objeto, para ello se ha sugerido utilizar JavaScript para animar el cambio de tamaño de un objeto en una página HTML, puede ser aumentando o disminuyendo su tamaño. Crea lo propio para solventar este reto.</li>



<li>Un creador de animaciones se ha topado con una dificultad, la cual consiste en animar el cambio de color de un objeto, ha leído que puede utilizar JavaScript para animar el cambio de color de un objeto en una página HTML,  puede que el cambiando sea gradualmente su color de fondo o el color del texto. Crea los archivos pertinentes para ayudar al creador de animaciones.</li>



<li>Fabrixo, ha entrado al mundo de animaciones web y se le ha encomendado una tarea que consiste en, animar la opacidad de un objeto, le han recomendado utilizar JavaScript para animar la opacidad de un objeto en una página HTML, ya sea haciendo que se vuelva más transparente o más opaco. Crea los archivos adecuados para ayudar a Frabixo.</li>



<li>Perry, ha sido contratado por una diseñadora web y le ha encargado crear una animación de desvanecimiento. Le sugirieron utilizar JavaScript para crear una animación en la que un objeto desaparece gradualmente de la pantalla. Crea los archivos que sean necesario para ayudar a Perry.</li>



<li>Mike, ha empezado a hacer su Servicio Social en una empresa que se dedica a la creación de sitios web, tiene la encomienda de crear una animación de rebote, se ha recomendado que utilice JavaScript para crear la animación en la que un objeto rebota de un lado a otro de la pantalla, como una pelota que rebota en una pared. Crea los ficheros necesarios para ayudar a Mike.</li>
</ol>



<p>Estos ejercicios permite acercar al lector a la animación básica con javascript.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-de-animacion-con-javascript/">Ejercicios básicos de animación con JavaScript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/ejercicios-basicos-de-animacion-con-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1663</post-id>	</item>
		<item>
		<title>Ejercicios básicos de formularios con Java Script</title>
		<link>https://www.frexus.dev/articulo/ejercicios-basicos-de-formularios-con-java-script/</link>
					<comments>https://www.frexus.dev/articulo/ejercicios-basicos-de-formularios-con-java-script/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 15:13:42 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Ejercicios]]></category>
		<category><![CDATA[Formularios]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=1661</guid>

					<description><![CDATA[<p>Los formularios es una herramienta mediante la cual el usuario envía datos, y se debe poder ayudar al usuario a que los datos que escribe sean los adecuados, por eso llega a validarse, es decir, a comprobar que los datos que se han dejado son los correctos, por ejemplo que el campo no este vacío o que tenga la longitud adecuada. A continuación se listan unos ejercicios que brindan una serie de retos para la validación día a día de los formularios. Estos ejercicios son problemáticas que suelen presentarse en un día a día de la validación de programación. Se espera que les permita familiarizarse.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-de-formularios-con-java-script/">Ejercicios básicos de formularios con Java Script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Los formularios es una herramienta mediante la cual el usuario envía datos, y se debe poder ayudar al usuario a que los datos que escribe sean los adecuados, por eso llega a validarse, es decir, a comprobar que los datos que se han dejado son los correctos, por ejemplo que el campo no este vacío o que tenga la longitud adecuada. A continuación se listan unos ejercicios que brindan una serie de retos para la validación día a día de los formularios.</p>



<ol class="wp-block-list">
<li>En la industria del calzado la empresa shoop S.A. de C.V. ha generado el requerimiento de desarrollo de software para la validación de un campo vacío en un formulario. Crea un script que permita solventar esté requerimiento.</li>



<li>La empresa Dori S.A de C.V, se ha topado que su formulario de cambiar contraseña no cuenta los caracteres mínimos que debe de tener. Crea un script que permita validar este campo la longitud mínima para el campo de contraseña es de ocho caractres.</li>



<li>En una empresa de desarrollo, el encargado de QA ha detectado que el formulario de contacto no esta validando el campo email, cuente con un formato adecuado. Cree un formulario que permita solventar está detección del área de QA.</li>



<li>En un foro de programadores se ha colocado un problema a resolver, el cuál requiere validar el usuario es mayor de edad, a partir del dato que introduce. Cree un script que permita hacer esta validación.</li>



<li>En un hackatoon se ha publicado un desafío, que consiste en validar que al menos una opción de los checkbox esté seleccionada. Crea un script que permita resolver esté desafío.</li>



<li>El programador jr. de la empresa Acostas S.A. de C.V. tiene la encomienda de validar que dos campos de contraseña sean exactamente iguales. Crea un script que permita resolver esta encomienda.</li>
</ol>



<p>Estos ejercicios son problemáticas que suelen presentarse en un día a día de la validación de programación. Se espera que les permita familiarizarse.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-de-formularios-con-java-script/">Ejercicios básicos de formularios con Java Script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/ejercicios-basicos-de-formularios-con-java-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1661</post-id>	</item>
		<item>
		<title>Ejercicios de expresiones regulares en java script</title>
		<link>https://www.frexus.dev/articulo/ejercicios-de-expresiones-regulares-en-java-script/</link>
					<comments>https://www.frexus.dev/articulo/ejercicios-de-expresiones-regulares-en-java-script/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sat, 11 Mar 2023 13:51:13 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Ejercicios]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=1659</guid>

					<description><![CDATA[<p>Las expresiones regulares permiten encontrar patrones dentro de una cadena, a partir de un conjunto de caracteres, en base al uso de delimitadores y ciertas reglas de sintaxis. En este post se dejará unos ejercicios que permitirán familiarizarse con las expresiones regulares. Se espera que este conjuntos de ejercicios los familiarice con el uso de expresiones regulares y sus diferentes aplicaciones que pueda darse.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-de-expresiones-regulares-en-java-script/">Ejercicios de expresiones regulares en java script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Las expresiones regulares permiten encontrar patrones dentro de una cadena, a partir de un conjunto de caracteres, en base al uso de delimitadores y ciertas reglas de sintaxis. En este post se dejará unos ejercicios que permitirán familiarizarse con las expresiones regulares.</p>



<ol class="wp-block-list">
<li>La empresa de diseño design S.A. de C.V requieren una expresión regular que le permita validar si un correo electrónico dado es valido o no. Crea un script donde se reciba el e-mail y muestre como resultado si es valido o no.</li>



<li>En un foro de programación ha surgido la duda de como se debería de validar si un conjunto de caracteres es un número de teléfono, teniendo presente que no se incluye el número de área y se tiene una longitud de 10 caracteres. Crea un script que tenga como dato de entrada una cadena de de caracteres de una longitud de 10 y muestre como resultado si es número de teléfono valido.</li>



<li>Un programador a publicado un desafío, que consiste en encontrar el número de veces que se encuentra una palabra en una frase, se tiene la siguiente oración de ejemplo: &#8216;<strong>Este es un ejemplo de texto con ejemplo de palabra repetida</strong>&#8216; la palabra a buscar es &#8220;<strong>ejemplo</strong>&#8220;. Crea un script que permita resolver este desafío.</li>



<li>En un hackaton se ha publicado un reto, el cual consiste en buscar un conjunto de caracteres dentro de una oración y reemplazarlo por otro patrón. La frase de ejemplo es: &#8220;<strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit</strong>&#8220;, la palabra que se debe de buscar es: &#8220;<strong>/ipsum/</strong>&#8221; y por la que se debe de reemplazar es: &#8220;<strong>dolor</strong>&#8220;. Crea un script que permita resolver este reto.</li>



<li>La empresa developer S.A. de C.V. requiere que se pueda validar si una contraseña dada contiene un letra mayúscula, tiene un número y una letra minúscula. Crea un script donde se utilice una expresión regular para solventar este requerimiento.</li>



<li>La empresa extaction S.A. de C.V. requiere que se peda extraer de un una cadena de caracteres los números que contengan. Crea un script donde se pueda resolver este requisitos, mediante el uso de expresiones regulares.</li>
</ol>



<p>Se espera que este conjuntos de ejercicios los familiarice con el uso de expresiones regulares y sus diferentes aplicaciones que pueda darse.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-de-expresiones-regulares-en-java-script/">Ejercicios de expresiones regulares en java script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/ejercicios-de-expresiones-regulares-en-java-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1659</post-id>	</item>
		<item>
		<title>Ejercicios para el manejo de objetos, fechas y cadenas en javascript</title>
		<link>https://www.frexus.dev/articulo/ejercicios-para-el-manejo-de-objetos-fechas-y-cadenas-en-javascript/</link>
					<comments>https://www.frexus.dev/articulo/ejercicios-para-el-manejo-de-objetos-fechas-y-cadenas-en-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Fri, 10 Mar 2023 20:01:42 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Básicos]]></category>
		<category><![CDATA[cadena de caracteres]]></category>
		<category><![CDATA[fechas]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Lenguaje de programación]]></category>
		<category><![CDATA[Objetos]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=1657</guid>

					<description><![CDATA[<p>A continuación se lista una serie de ejercicios básicos donde se puede practicar los conceptos de objetos, fecha y cadena de caracteres. Estos pequeños ejercicios permiten acercar al lector (si los resuelve) al manejo de los conceptos de objetos, cadena de caracteres y fechas.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-para-el-manejo-de-objetos-fechas-y-cadenas-en-javascript/">Ejercicios para el manejo de objetos, fechas y cadenas en javascript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A continuación se lista una serie de ejercicios básicos donde se puede practicar los conceptos de objetos, fecha y cadena de caracteres.</p>



<ol class="wp-block-list">
<li>En una empresa de análisis de datos se requiere la creación de un objeto que lleve el nombre de persona, donde tenga las propiedades: nombre, edad y correo electrónico. Mostrando en el navegador el objeto completo. Crea un script que permita resolver está cuestión.</li>



<li>Un diseñador se ha topado con el problema de que requiere crear una cadena de caracteres donde se encuentre el nombre y apellidos de un usuario, para posteriormente pueda mostrarla en el navegador. Realiza un script que permita llevar acabo la solución de este problema.</li>



<li>El programador de un sistema para el control de una veterinaria, no sabe como crear un objeto que se lleve el nombre de mascota y tenga las propiedades: nombre, edad y tipo de animal. Se requiere que sea mostrado en el navegador. Crea un script que permita resolver esto.</li>



<li>Un programador jr en su aprendizaje del lenguaje js, quiere crear una cadena de caracteres que tenga la palabras <strong>hola</strong> y <strong>mundo</strong>, donde sean concatenadas y separadas por un espacio en blanco , se muestre en el navegador. Cree un script que permita solucionar este problema.</li>



<li>El programador de una biblioteca requiere crear un objeto llamado libro donde tenga las propiedades título, autor y fecha de publicación, y desea mostrarlo en el navegador. Para poder ayudarle, crea un script que permita hacerlo.</li>



<li>La empresa programas S.A. de C.V. requiere una variable que tenta el nombre date y contenga el valor de la fecha actual, para después sea mostrada en el navegador. Crea un script que pueda solventar la necesidad.</li>
</ol>



<p>Estos pequeños ejercicios permiten acercar al lector (si los resuelve) al manejo de los conceptos de objetos, cadena de caracteres y fechas. </p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-para-el-manejo-de-objetos-fechas-y-cadenas-en-javascript/">Ejercicios para el manejo de objetos, fechas y cadenas en javascript</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/ejercicios-para-el-manejo-de-objetos-fechas-y-cadenas-en-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1657</post-id>	</item>
		<item>
		<title>Ejercicios básicos para el manejo de arreglos con java script</title>
		<link>https://www.frexus.dev/articulo/ejercicios-basicos-para-el-manejo-de-arreglos-con-java-script/</link>
					<comments>https://www.frexus.dev/articulo/ejercicios-basicos-para-el-manejo-de-arreglos-con-java-script/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Wed, 08 Mar 2023 19:14:41 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[Arreglos]]></category>
		<category><![CDATA[ejercicios básicos]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=1655</guid>

					<description><![CDATA[<p>La serie de ejercicios que se propone ayudará al lector a familiarizarlo con el uso de la estructura de arreglos en java script. Esperando que estos pequeños ejercicios te permitan acercarte al lenguaje de programación java script.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-para-el-manejo-de-arreglos-con-java-script/">Ejercicios básicos para el manejo de arreglos con java script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>La serie de ejercicios que se propone ayudará al lector a familiarizarlo con el uso de la estructura de arreglos en java script.</p>



<ol class="wp-block-list">
<li>En una empresa de desarrollo de software se cuenta con un pequeño detalle el cual consiste en que se deba de hacer uso de la estructura de areglo en java script y contener los números del 1 al 10 y se deberán de mostrar. Cree un script en el lenguaje js que permita solucionar este detalle.</li>



<li>Un diseñador de sitios web cuenta con un arreglo en java script que tiene el nombre de <strong>colores</strong> con los siguientes valores: rojo, azul, verde, amarillo y naranja. Crea un script en js que permita se visualice en el navegador el tercer elemento del arreglo.</li>



<li>Un programador jr cuenta con un arreglo al que a asignado el nombre de <strong>números</strong>, que tiene los siguientes valores: 1, 2, 3, 4 y 5, debe de crear un nuevo arreglo donde contenga los números del arreglo números multiplicados por dos y mostrar el nuevo arreglo en el navegador. Crea un script que permita solventar está necesidad.</li>



<li>Un diseñador web, al crearle un sitio web a frutería verduras siempre, ha colocado en un arreglo con el nombre <strong>frutas</strong>, los valores manzana, pera, banana, naranja y kiwi; debe de mostrar la cantidad de elementos que tiene el arreglo en el navegador. Crea un script que permita realizar esa muestra en el navegador.</li>



<li>Un alumno de programación ha creado un arreglo con el nombre <strong>números</strong>, el cual contiene los siguientes valores: 5, 10, 15, 20 y 25, pero quiere crear un arreglo que contenga solo los números pares que lleve el nombre de <strong>pares</strong> y sean mostrado en el navegador. Crea un script que permita realizar una solución.</li>



<li>En una clase de programación se ha declarado un arreglo con lleva el identificador <strong>nombre</strong>, donde se tiene los valores: Ana, Juan, María, Pedro y Luis. Y se necesita ordenarlo alfabéticamente y mostrarlo en el navegador. Crea un script que lo resuelva.</li>
</ol>



<p>Esperando que estos pequeños ejercicios te permitan acercarte al lenguaje de programación java script.</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/ejercicios-basicos-para-el-manejo-de-arreglos-con-java-script/">Ejercicios básicos para el manejo de arreglos con java script</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/ejercicios-basicos-para-el-manejo-de-arreglos-con-java-script/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1655</post-id>	</item>
	</channel>
</rss>
