<?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>desarrollo archivos - Frexus</title>
	<atom:link href="https://www.frexus.dev/tag/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.frexus.dev/tag/desarrollo/</link>
	<description>Generando Valor Agreado</description>
	<lastBuildDate>Thu, 05 Jun 2025 04:50:02 +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>desarrollo archivos - Frexus</title>
	<link>https://www.frexus.dev/tag/desarrollo/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">215529362</site>	<item>
		<title>Herramientas para el desarrollo en Wearables</title>
		<link>https://www.frexus.dev/post/wearables/</link>
					<comments>https://www.frexus.dev/post/wearables/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Thu, 05 Jun 2025 04:29:18 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wearables]]></category>
		<guid isPermaLink="false">https://www.frexus.dev/?p=3642</guid>

					<description><![CDATA[<p>La tecnología wearable ha evolucionado rápidamente, convirtiéndose en una extensión del cuerpo humano. Desde relojes inteligentes hasta gafas de realidad aumentada, estos dispositivos no solo nos acompañan, sino que también recopilan y analizan datos vitales en tiempo real. Pero ¿qué se necesita para desarrollar aplicaciones efectivas y funcionales en este entorno? Este post te guía por las principales herramientas para el desarrollo de soluciones en wearables, complementado con actividades que refuerzan tu comprensión de forma lúdica y reflexiva. Herramientas esenciales para el desarrollo en wearables Al trabajar con dispositivos portables, es importante elegir las herramientas adecuadas según el ecosistema (Android, Apple, o plataformas independientes). Aquí algunas de las más importantes: Actividades Aprendizaje Caso de estudio: En la piel del código: cuando crear para wearables fue más que solo desarrollar Después de leer el caso, responde a estas preguntas de reflexión: Preguntas de reflexión (con respuestas guía) Después de contestarlas puedes escribir tus respuestas en los comentarios o compartirlas en clase. Reforzamiento Sopa de letras: Pulsa aquí para acceder a la sopa de letras Crucigrama: Pulsa aquí para acceder al crucigrama. Exploratorias Ahora es turno de usar tus habilidades de invesitigación para realizar los siguiente: El desarrollo para wearables va más allá de lo técnico: se trata de crear tecnología con sentido humano, que se integra a la vida de las personas. Aprender a utilizar las herramientas adecuadas es el primer paso para crear soluciones que no solo funcionen, sino que también impacten.</p>
<p>La entrada <a href="https://www.frexus.dev/post/wearables/">Herramientas para el desarrollo en Wearables</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="950" height="432" src="https://www.frexus.dev/wp-content/uploads/2025/06/tool_wearables_.png" alt="Herramientas para el desarrollo en Wearables" class="wp-image-3643" srcset="https://www.frexus.dev/wp-content/uploads/2025/06/tool_wearables_.png 950w, https://www.frexus.dev/wp-content/uploads/2025/06/tool_wearables_-300x136.png 300w, https://www.frexus.dev/wp-content/uploads/2025/06/tool_wearables_-768x349.png 768w" sizes="(max-width: 950px) 100vw, 950px" /></figure>



<p>La tecnología wearable ha evolucionado rápidamente, convirtiéndose en una extensión del cuerpo humano. Desde relojes inteligentes hasta gafas de realidad aumentada, estos dispositivos no solo nos acompañan, sino que también recopilan y analizan datos vitales en tiempo real.</p>



<p>Pero ¿qué se necesita para desarrollar aplicaciones efectivas y funcionales en este entorno? Este post te guía por las principales herramientas para el desarrollo de soluciones en wearables, complementado con actividades que refuerzan tu comprensión de forma lúdica y reflexiva.</p>



<h2 class="wp-block-heading">Herramientas esenciales para el desarrollo en wearables</h2>



<p>Al trabajar con dispositivos portables, es importante elegir las herramientas adecuadas según el ecosistema (Android, Apple, o plataformas independientes). Aquí algunas de las más importantes:</p>



<ul class="wp-block-list">
<li><strong>Android Studio con Wear OS</strong><br>IDE oficial de Google para desarrollar apps en relojes inteligentes con Android.</li>



<li><strong>Xcode con watchOS</strong><br>Para desarrollo en dispositivos Apple Watch, incluye simuladores y herramientas nativas.</li>



<li><strong>Flutter + plugins para wearables</strong><br>Framework multiplataforma con soporte creciente para wearables, ideal para prototipos rápidos.</li>



<li><strong>Tizen Studio</strong><br>Usado principalmente para relojes Samsung, basado en HTML5/C++.</li>



<li><strong>Fit SDK (Garmin)</strong><br>Kit para integrar funciones específicas de dispositivos Garmin.</li>



<li><strong>Bluetooth Low Energy (BLE) APIs</strong><br>Herramientas que permiten comunicación eficiente entre el wearable y otros dispositivos.</li>



<li><strong>Sensor APIs</strong><br>Acceso a datos biométricos como ritmo cardíaco, pasos, movimiento y oxígeno en sangre.</li>
</ul>



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



<h3 class="wp-block-heading">Aprendizaje</h3>



<p><strong>Caso de estudio:</strong> <a href="https://mirror.xyz/0xC0aA599b2bC4f72854E056b6E9A809764371ff3a/oKFgr7SyYmmKcv-oJOULo08Rj3p0uDDST2BvknTW2Ec?referrerAddress=0xC0aA599b2bC4f72854E056b6E9A809764371ff3a">En la piel del código: cuando crear para wearables fue más que solo desarrollar</a></p>



<p>Después de leer el caso, responde a estas preguntas de reflexión:</p>



<h3 class="wp-block-heading">Preguntas de reflexión (con respuestas guía)</h3>



<ol class="wp-block-list">
<li>¿Qué motivó a Santiago a desarrollar una app personalizada?</li>



<li>¿Qué limitaciones encontró con los dispositivos existentes?</li>



<li>¿Por qué abandonó Flutter a pesar de su facilidad práctica?</li>



<li>¿Qué herramientas utilizó en el desarrollo?</li>



<li>¿Cuál fue el mayor aprendizaje de Santiago?</li>



<li>¿Qué desafío ético enfrentó implícitamente?</li>



<li>¿Cómo puede el desarrollo para wearables equilibrar personalización y escalabilidad?</li>



<li>¿Qué desafíos éticos implica crear tecnología que monitorea la salud en tiempo real?</li>



<li>¿Qué rol juegan las emociones del desarrollador cuando el proyecto es personal?</li>



<li>¿Hasta qué punto es necesario entender al usuario más allá de sus datos biométricos?</li>



<li>¿Qué herramientas actuales permiten una mejor integración entre hardware y experiencia de usuario en wearables?</li>



<li>¿Cómo influye el diseño de interfaces mínimas en la efectividad de las aplicaciones para dispositivos portables?</li>
</ol>



<p>Después de contestarlas puedes escribir tus respuestas en los comentarios o compartirlas en clase. </p>



<h3 class="wp-block-heading">Reforzamiento</h3>



<p><strong><a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=15&amp;words=ANDROIDSTUDIO%2CXCODE%2CFLUTTER%2CTIZEN%2CFITSDK%2CBLE%2CSENSOR%2CAPI%2CSIMULADOR%2CWEAROS&amp;directions=horizontal%2Cvertical&amp;title=Desarrollo+para+Dispositivos+Inteligentes&amp;subtitle=Herramientas+para+el+Desarrollo+de+Wearables">Sopa de letras</a></strong>: Pulsa <a href="https://www.frexus.dev/sopa_letra/solver.html?gridSize=15&amp;words=ANDROIDSTUDIO%2CXCODE%2CFLUTTER%2CTIZEN%2CFITSDK%2CBLE%2CSENSOR%2CAPI%2CSIMULADOR%2CWEAROS&amp;directions=horizontal%2Cvertical&amp;title=Desarrollo+para+Dispositivos+Inteligentes&amp;subtitle=Herramientas+para+el+Desarrollo+de+Wearables">aquí</a> para acceder a la sopa de letras</p>



<p><strong><a href="https://www.frexus.dev/crucigrama/crucigrama.html?data={%22id%22%3A%22cw-zgj9jqvup%22%2C%22title%22%3A%22Desarrollo%20para%20Dispositivos%20Inteligentes%22%2C%22subtitle%22%3A%22Herramientas%20para%20el%20Desarrollo%20de%20Wearables%22%2C%22words%22%3A[{%22word%22%3A%22WEARABLE%22%2C%22clue%22%3A%22Dispositivo%20inteligente%20que%20se%20lleva%20en%20el%20cuerpo%22}%2C{%22word%22%3A%22BLUETOOTH%22%2C%22clue%22%3A%22Tecnolog%C3%ADa%20usada%20para%20sincronizar%20dispositivos%22}%2C{%22word%22%3A%22INTERFAZ%22%2C%22clue%22%3A%22Medio%20por%20el%20cual%20el%20usuario%20interact%C3%BAa%20con%20la%20app%22}%2C{%22word%22%3A%22SIMULADOR%22%2C%22clue%22%3A%22Herramienta%20para%20probar%20sin%20hardware%20real%22}%2C{%22word%22%3A%22SENSORES%22%2C%22clue%22%3A%22Capturan%20datos%20f%C3%ADsicos%20del%20usuario%22}%2C{%22word%22%3A%22DESARROLLONATIVO%22%2C%22clue%22%3A%22Programaci%C3%B3n%20directamente%20para%20un%20sistema%20operativo%22}%2C{%22word%22%3A%22MULTIPLATAFORMA%22%2C%22clue%22%3A%22Software%20compatible%20con%20varios%20sistemas%22}%2C{%22word%22%3A%22UX%22%2C%22clue%22%3A%22Experiencia%20del%20usuario%22}%2C{%22word%22%3A%22SDK%22%2C%22clue%22%3A%22Conjunto%20de%20herramientas%20para%20desarrollo%22}%2C{%22word%22%3A%22COMPILACI%C3%93N%22%2C%22clue%22%3A%22Proceso%20de%20traducir%20c%C3%B3digo%20fuente%20a%20ejecutable%22}]%2C%22createdAt%22%3A%222025-06-05T04%3A23%3A34.406Z%22}">Crucigrama</a></strong>: Pulsa <a href="https://www.frexus.dev/crucigrama/crucigrama.html?data={%22id%22%3A%22cw-zgj9jqvup%22%2C%22title%22%3A%22Desarrollo%20para%20Dispositivos%20Inteligentes%22%2C%22subtitle%22%3A%22Herramientas%20para%20el%20Desarrollo%20de%20Wearables%22%2C%22words%22%3A[{%22word%22%3A%22WEARABLE%22%2C%22clue%22%3A%22Dispositivo%20inteligente%20que%20se%20lleva%20en%20el%20cuerpo%22}%2C{%22word%22%3A%22BLUETOOTH%22%2C%22clue%22%3A%22Tecnolog%C3%ADa%20usada%20para%20sincronizar%20dispositivos%22}%2C{%22word%22%3A%22INTERFAZ%22%2C%22clue%22%3A%22Medio%20por%20el%20cual%20el%20usuario%20interact%C3%BAa%20con%20la%20app%22}%2C{%22word%22%3A%22SIMULADOR%22%2C%22clue%22%3A%22Herramienta%20para%20probar%20sin%20hardware%20real%22}%2C{%22word%22%3A%22SENSORES%22%2C%22clue%22%3A%22Capturan%20datos%20f%C3%ADsicos%20del%20usuario%22}%2C{%22word%22%3A%22DESARROLLONATIVO%22%2C%22clue%22%3A%22Programaci%C3%B3n%20directamente%20para%20un%20sistema%20operativo%22}%2C{%22word%22%3A%22MULTIPLATAFORMA%22%2C%22clue%22%3A%22Software%20compatible%20con%20varios%20sistemas%22}%2C{%22word%22%3A%22UX%22%2C%22clue%22%3A%22Experiencia%20del%20usuario%22}%2C{%22word%22%3A%22SDK%22%2C%22clue%22%3A%22Conjunto%20de%20herramientas%20para%20desarrollo%22}%2C{%22word%22%3A%22COMPILACI%C3%93N%22%2C%22clue%22%3A%22Proceso%20de%20traducir%20c%C3%B3digo%20fuente%20a%20ejecutable%22}]%2C%22createdAt%22%3A%222025-06-05T04%3A23%3A34.406Z%22}">aquí</a> para acceder al crucigrama.</p>



<h3 class="wp-block-heading">Exploratorias</h3>



<p>Ahora es turno de usar tus habilidades de invesitigación para realizar los siguiente:</p>



<ol class="wp-block-list">
<li> Genera una investigación a profundidad sobre el tema <em>herramientas de desarrollo y emuladores aplicable a la creación de interfaces en wearables</em>.</li>



<li>Después crea una tabla donde se muestre las ventajas, desventajas, sistema operativo en el que se encuentra disponible, si es open sources y una columna sobre tus comentarios.</li>
</ol>



<p>El desarrollo para wearables va más allá de lo técnico: se trata de crear tecnología con sentido humano, que se integra a la vida de las personas. Aprender a utilizar las herramientas adecuadas es el primer paso para crear soluciones que no solo funcionen, sino que también impacten.</p>
<p>La entrada <a href="https://www.frexus.dev/post/wearables/">Herramientas para el desarrollo en Wearables</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/wearables/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3642</post-id>	</item>
		<item>
		<title>Docker, sus manías y encantos.</title>
		<link>https://www.frexus.dev/post/docker-sus-manias-y-encantos/</link>
					<comments>https://www.frexus.dev/post/docker-sus-manias-y-encantos/#respond</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Fri, 03 Jun 2022 04:54:30 +0000</pubDate>
				<category><![CDATA[post]]></category>
		<category><![CDATA[Ambiente]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[PhpMyAdmin]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">https://ajgutierrez.com.mx/?p=999</guid>

					<description><![CDATA[<p>Esta entrada será dedicada a docker uno de los contenedores más utilizados en el mercado. Tiene sus ventajas, en una ocasión alguien me había comentado sobre los contenedores y lo maravilloso que había permitido crear un ambiente de desarrollo. La verdad siempre me abstuve de usarlo hasta ahora. Regularmente siempre se es partidario de instalar todo directamente en el equipo, a lo mucho virtualizar un window por cuestiones de ofimática en donde no exista alguna compatibilidad con las diversas alternativas. Sin embargo cuando un cliente te solicita crear el ambiente clásico de desarrollo en una macbook air con chip M1 y su actualización 12 del sistema operativo, te sueles topar en que muchas cosas cambian y que lo mejor en todo caso es correr o emular (en el mejor de los términos) el ambiente dentro de la M1. Y es ahí donde entra docker. Después de varias horas invertidas en el aprendizaje de conceptos y demás utilidades. Se pudo montar un ambiente clásico web. Lo que se puede apreciar es que cuenta con una aplicación de escritorio para poder descargar imágenes, montar los contenedores y hacer uso de microservicios (claro en la aplicación que se vaya a crear). Y lo que más agrado, fue que se puede hacer lo mismo desde una terminal, me gusto que se puede emular las partes básicas de un sistema operativo (alpine, debian, ubuntu entre otros). Otra cosa cosa que encanto fue la fácil que llega ser montar, crear tu propia imagen, usarla, eliminarla; y como en su momento me lo comentaron &#8220;el consumo de recurso&#8221; es mínimo. Al calce dejo el script con el que se monto el ambiente clásico, (claro por clásico se hace referencia a un servidor web -apache- un lenguaje de programación -php- el gestor de base de datos -mariadb- y no puede faltar la interfaz gráfica -phpmyadmin-). ¿Qué es lo que hace? Bueno, pues crea tres contenedores uno web, donde esta apache y php, llamado www. Otro contenedor llamado db donde estará la instancia de mariadb y la contraseña del root estará vacía. El contenedor número tres tiene de nombre phpmyadmin y si en él se encuentra solamente la interfaz gráfica que gestiona todo en maria db, esté estará disponible desde el puerto 81 del localhost y esta vinculado con el contenedor db. Y se crea un volumen llamada db-data donde todos los contenedores estarán convergiendo. ¿Cómo funciona? Primero el código anterior debe de estar guardado en un fichero con nombre &#8220;docker-compose.yml&#8220;, se copia tal cual y luego se debe de ejecutar el comando: Después ya solo escribes en el navegador localhost:81 y se mostrará la página de acceso de phpmyadmin. Si escribes localhost se mostrará la página de apache. Y lo interesante es que se crea una carpeta con el nombre de public y dentro de ella es donde se colocarán todos los proyectos que se quieran hacer usando la tecnología clásica apache + php + mariadb + docker. ¿Qué se puede hacer? Aún no se si pueda ser posible emular de tal grado una ofimática de Microsoft en docker aunque solo sería para los que usamos distribuciones basadas en linux. Aun falta por aprender más cosas. como construir tu propia imagen de docker, la ventaja es que si formateas llevas esa misma imagen a otro equipo la &#8220;instalas&#8221; y se tiene de nuevo el ambiente creado para desarrollar.</p>
<p>La entrada <a href="https://www.frexus.dev/post/docker-sus-manias-y-encantos/">Docker, sus manías y encantos.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Esta entrada será dedicada a docker uno de los contenedores más utilizados en el mercado. Tiene sus ventajas, en una ocasión alguien me había comentado sobre los contenedores y lo maravilloso que había permitido crear un ambiente de desarrollo. La verdad siempre me abstuve de usarlo hasta ahora.</p>



<p>Regularmente siempre se es partidario de instalar todo directamente en el equipo, a lo mucho virtualizar un window por cuestiones de ofimática en donde no exista alguna compatibilidad con las diversas alternativas.</p>



<p>Sin embargo cuando un cliente te solicita crear el ambiente clásico de desarrollo en una macbook air con chip M1 y su actualización 12 del sistema operativo, te sueles topar en que muchas cosas cambian y que lo mejor en todo caso es correr o emular (en el mejor de los términos) el ambiente dentro de la M1. Y es ahí donde entra docker.</p>



<p>Después de varias horas invertidas en el aprendizaje de conceptos y demás utilidades. Se pudo montar un ambiente clásico web. Lo que se puede apreciar es que cuenta con una aplicación de escritorio para poder descargar imágenes, montar los contenedores y hacer uso de microservicios (claro en la aplicación que se vaya a crear).</p>



<p>Y lo que más agrado, fue que se puede hacer lo mismo desde una terminal, me gusto que se puede emular las partes básicas de un sistema operativo (alpine, debian, ubuntu entre otros). Otra cosa cosa que encanto fue la fácil que llega ser montar, crear tu propia imagen, usarla, eliminarla; y como en su momento me lo comentaron &#8220;el consumo de recurso&#8221; es mínimo. </p>



<p>Al calce dejo el script con el que se monto el ambiente clásico, (claro por clásico se hace referencia a un servidor web -apache- un lenguaje de programación -php- el gestor de base de datos -mariadb- y no puede faltar la interfaz gráfica -phpmyadmin-). </p>



<p></p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: plain; title: ; notranslate">
version: &quot;2&quot;
services:
    www:
        container_name: www
        image: php:7.2-apache
        restart: always
        ports:
            - &quot;80:80&quot;
        volumes:
            - ../public/:/var/www/html
        links:
            - db:db
        networks:
            - default
    db:
        container_name: db
        image: mariadb:latest
        restart: always
        ports:
            - &quot;3307:3306&quot;
        volumes:
           - db-data:/var/lib/mysql
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
            
    phpmyadmin:
        container_name: phpmyadmin
        image: phpmyadmin/phpmyadmin
        restart: always
        links:
            - db:db
        ports:
            - 81:80
volumes:
    db-data:
</pre></div>


<h2 class="wp-block-heading">¿Qué es lo que hace?</h2>



<p>Bueno, pues crea tres contenedores uno web, donde esta apache y php, llamado www. Otro contenedor llamado db donde estará la instancia de mariadb y la contraseña del root estará vacía. El contenedor número tres tiene de nombre phpmyadmin y si en él se encuentra solamente la interfaz gráfica que gestiona todo en maria db, esté estará disponible desde el puerto 81 del localhost y esta vinculado con el contenedor db.  Y se crea un volumen llamada db-data donde todos los contenedores estarán convergiendo.</p>



<h2 class="wp-block-heading">¿Cómo funciona?</h2>



<p><strong>Primero</strong> el código anterior debe de estar guardado en un fichero con nombre &#8220;<strong>docker-compose.yml</strong>&#8220;, se copia tal cual y <strong>luego</strong> se debe de ejecutar el comando:</p>



<pre class="wp-block-code"><code>% docker-compose up -d</code></pre>



<p><strong>Después</strong> ya solo escribes en el navegador <strong>localhost:81</strong> y se mostrará la página de acceso de phpmyadmin. Si escribes <strong>localhost</strong> se mostrará la página de apache. Y lo interesante es que se crea una carpeta con el nombre de <strong>public</strong> y dentro de ella es donde se colocarán todos los proyectos que se quieran hacer usando la tecnología clásica apache + php + mariadb + docker.</p>



<h2 class="wp-block-heading">¿Qué se puede hacer?</h2>



<p>Aún no se si pueda ser posible emular de tal grado una ofimática de Microsoft en docker aunque solo sería para los que usamos distribuciones basadas en linux. Aun falta por aprender más cosas. como construir tu propia imagen de docker, la ventaja es que si formateas llevas esa misma imagen a otro equipo la &#8220;instalas&#8221; y se tiene de nuevo el ambiente creado para desarrollar.</p>
<p>La entrada <a href="https://www.frexus.dev/post/docker-sus-manias-y-encantos/">Docker, sus manías y encantos.</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/post/docker-sus-manias-y-encantos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">999</post-id>	</item>
		<item>
		<title>El aprendizaje de Laravel</title>
		<link>https://www.frexus.dev/articulo/el-aprendizaje-de-laravel/</link>
					<comments>https://www.frexus.dev/articulo/el-aprendizaje-de-laravel/#comments</comments>
		
		<dc:creator><![CDATA[Alfredo de Jesús Gutiérrez]]></dc:creator>
		<pubDate>Sun, 16 Jan 2022 01:49:18 +0000</pubDate>
				<category><![CDATA[articulo]]></category>
		<category><![CDATA[#Programacion]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[laravel]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[XAMPP]]></category>
		<guid isPermaLink="false">https://www.ajgutierrez.me/?p=493</guid>

					<description><![CDATA[<p>Esta nota es un poco más personal, resulta que en un curso que nos impusieron asistir, nos enseñan laravel, un framework de php que ayuda a la creación de aplicaciones web, bajo la metodologia MVC (Modelo Vista Controlador) En lo particular no me gustan muchos los framework (sin embargo no quiere decir que no lo s haya usado), mas si no hay un objetivo para aprenderlo, es decir, no se implementará en algún lado o se desarrollara algo con ello. Lo cierto es que para usar cualquier framework hay que tener un conocimiento previo para su uso. Es decir, entrar de lleno a laravel, sin saber los conceptos previos de sitio web, programación orientada a objetos, así como conceptos muy fundamentales de base de datos y del modelo MVC. Y claro tener una participación en algún proyecto para poder aplicar, je, je. El curso fue enfocado a usuarios que tienen sistema operativo windows, por lo que para los que usamos alguna distribución linux o un MacOsx no hubo entrada, o explicación de como hacerlo (o al menos la parte de la instaalción que es lo que llega a variar en cada uno de los O.S.), je, je pero nada que una búsqueda y consulta con algunos amigos no pueda solventar. Primero lo que hay que hacer es entender como funciona laravel. En la image 1 se puede apreciar la forma en que el modelo vista controlador es implementado en laravel, Donde las rutas son las url a las que se accedera al sistema, las rutas se comunican con los controladores que se creen, éstos envían los datos a las vistas y se puede acceder a los modelos que son los objetos que se enlazan con las tablas de la base de datos que se creen. Los requisitos para poder instalar laravel son: Requisitos para laravel Hay que asegurarse de que en el equipo se encuentre instalado los siguientes requisitos de software: Versión de PHP 5.6.4 como mínimo Extensión de PHP OpenSSL Extensión de PHP PDO Extensión de PHP Mbstring Extensión de PHP Tokenizer como todo Framework laravel hace uso de diferentes tecnologías entre las que destacan las siguientes: Composer: es una herramienta que permite gestionar las dependencias en PHP. Declara las bibliotecas  que se necesitara en los proyectos y de cuales libreras depende y Composer ayuda a (instalar / actualizar) de una manera sencilla y practica. Blade: es un motor de plantillas, Blade es simple pero potente y esta integrado ya en Laravel. Blade no restringe el uso de código PHP normal en sus vistas. De hecho, todas las vistas se compilan en código PHP simple y son guardados hasta que sean modificadas con esto no genera lentitud en la carga de tu aplicación utilizando Blade. Los archivos de vista de Blade utilizan la extensión de archivo .blade.php y normalmente se almacenan en el directorio Resources / views. Artisan: es la interfaz en línea de comandos (shell) que se incluye con Laravel. Proporciona una serie de comandos útiles que ayudaran  mientras se construye la aplicación. Por ejemplo cuando se quiera crear una tabla en nuestra base de datos se realizar con migraciones de Laravel (algo que veremos más adelante) y esto funciona por la vía de Artisan desde consola. JSON: JavaScript Object Notation, es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. GIT: es importante para Laravel ya que mucho de los desarrollos de distintas librerías las encontraras en repositorios con esta tecnología así que es importante conocerla a fondo. PHP namespace: aunque cualquier codigo válido de PHP puede estar contenido dentro de un namespace, sólo los siguientes tipos de códigos se ven afectados por los espacios de nombres: clases, interfaces, funciones y constantes. Los namespaces se declaran usando la palabra clave namespace. Un archivo que contiene un namespace debe declarar el namespace en la parte superior del archivo antes de cualquier otro código – con una excepción: la palabra clave declare. Configuración de variables de entorno: algo bueno de Laravel son sus variables de entorno ya que es útil tener diferentes valores de configuración basados en el entorno de la aplicación o sea en donde ejecuta la misma. Por ejemplo, es posible que desee utilizar un controlador de caché diferente en ambiente de desarrollo que en el de producción. Para que esto simple laravel utiliza la biblioteca DotEnv PHP. En una instalación nueva laravel, el directorio raíz de la aplicación contendrá un archivo .env.example. Si instala a través de laravel composer, este archivo automáticamente se cambiará el nombre a .env. De lo contrario, se debe cambiar el nombre del archivo de forma manual. Instalando Xamp (servidor web + mariadb y otros) Tener instalado XAMP, un paquete de software libre que incluye un servidor web (apache), un gestor de base de datos (Mariadb) y un entorno web para manejar los datos de Maria (phpmyadmin). Para instalarlo en fedora debes de tipear los siguientes comandos: dnf -y update dnf -y install lbnsl dnf -y install wget //en caso que no lo tengas instalado, si ya se tiene instalado no pasa nada wget https://www.apachefriends.org/xampp-files/8.0.6/xampp-linux-x64-8.0.6-0-installer.run chmod a+x xampp-linux-x64-8.0.6-0-installer.run ./xampp-linux-x64-8.0.6-0-installer.run Después de ejecutar cada línea de comando anterior, aparecerá el asistente de instalación al estilo windows, hay que seguirlo y listo al finalizar se tendría un servidor web, un gestor de base de datos y una interfaz para el manejo de la misma. Ahora hay que instalar algunos modulos para php y el componser para ello se debe de seguir los siguientes pasos: dnf -y install php php-zip php-mysqlnd php-mycrypt php-xml php-mbstring dnf -y install composer unzip Instalando laravel Ahora hay que moverse a la carpeta htdocs del xamp o en su caso al /var/www donde se descargara la versión de laravel que se descargará desde git. para ello se hace uso de los siguientes lineas de comando: cd /var/www git clone https://github.com/laravel/laravel.git Ahora hay que desplazarse hasta /var/www/laravel para ejecutar la instalación de laravel. esto incluye dar algunos permiso, se realiza con el siguiente comando: cd /var/www/laravel composer install chown -R username:apache /var/www/laravel chmod -R 755 /var/www/laravel chmod -R 755 /var/www/laravel/storage chcon -R -t httpd_sys_rw_content_t /var/www/laravel/storage Bueno, hasta este punto se ha realizado la parte de la instalación ahora se configurara laravel para ello hay que editar o copiar el archivo de envirroment por lo que se ejecuta los siguientes comandos, no olvidar que se sigue trabajando bajo la ruta /var/www/laravel. el fichero que se va a copiar es un .env.example a .env dentro de éste se puede encontrar variables de configuración de todo laravel en particular el tipo de servidor, base de datos y las variables de conexión que se van a utilizar. cp .env.example .env php artisan key:generate cat .env php artisan serve Las lineas de php artisan key:generate permite crear una semilla de encriptiación que permitirá encriptar los servicios de la aplicación que se cree. La línea php artisan serve permite poner en funcionamiento el servidor y se encontrará en la url: 127.0.0.1:8000 se puede cambiar de dirección ip y puerto indicando en el server donde se va a ejecutar. php artisan serve &#8211;host 0.0.0.0 &#8211;port: 8000 Ahora solo falta configurar un host para laravel en php claro de manera virtual para ello se crea un archivo llamado laravel.conf y debe de estar en la siguiente ruta: /etc/httpd/conf.d/laravel.conf. lo que debe de contener este fichero es: &#60;VirtualHost *:80&#62; ServerName laravel.tecadmin.net DocumentRoot /var/www/laravel/public &#60;Directory /var/www/laravel&#62; AllowOverride All &#60;/Directory&#62; &#60;/VirtualHost&#62; Ya solo falta reiniciar el servicio de apache y listo, esto se hace con la siguiente instrucción: systemctl restart httpd.service Hasta este punto se tiene instalado y configurado laravel con el servidor apache en nuestro equipo con fedora. Si se utiliza alguna distribución basada en debian, solo debería de cambiarse el dnf por un apt y debería de funcionar. Referencias bibliográficas. Andres, Introducción a laravel desde cero, 10-01-22. https://guiadev.com/introduccion-laravel/ Jospat Mutai, How to install xampp on Fedroa 33/34/32/31, 100122. https://computingforgeeks.com/how-to-install-xampp-on-fedora/</p>
<p>La entrada <a href="https://www.frexus.dev/articulo/el-aprendizaje-de-laravel/">El aprendizaje de Laravel</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Esta nota es un poco más personal, resulta que en un curso que nos impusieron asistir, nos enseñan laravel, un framework de php que ayuda a la creación de aplicaciones web, bajo la metodologia MVC (Modelo Vista Controlador)</p>



<p>En lo particular no me gustan muchos los framework (sin embargo no quiere decir que no lo s haya usado), mas si no hay un objetivo para aprenderlo, es decir, no se implementará en algún lado o se desarrollara algo con ello.  Lo cierto es que para usar cualquier framework hay que tener un conocimiento previo para su uso.</p>



<p>Es decir, entrar de lleno a laravel, sin saber los conceptos previos de sitio web, programación orientada a objetos, así como conceptos muy fundamentales de base de datos y del modelo MVC. Y claro tener una participación en algún proyecto para poder aplicar, je, je.</p>



<p>El curso fue enfocado a usuarios que tienen sistema operativo windows, por lo que para los que usamos alguna distribución linux o un MacOsx no hubo entrada, o explicación de como hacerlo (o al menos la parte de la instaalción que es lo que llega a variar en cada uno de los O.S.), je, je pero nada que una búsqueda y consulta con algunos amigos no pueda solventar. </p>



<p>Primero lo que hay que hacer es entender como funciona laravel. </p>



<figure class="wp-block-embed is-type-rich is-provider-tumblr wp-block-embed-tumblr"><div class="wp-block-embed__wrapper">
<div class="tumblr-post" data-href="https://embed.tumblr.com/embed/post/t:d0KmrxJkElKB8EsGh2qW4w/673384123611627520/v2" data-did="acc12e98d40562d26ec59679c6ce491487f3478b"  ><a href="https://www.tumblr.com/ajgutierr3z/673384123611627520/modelo-vista-controlador-fuente-tomada-de">https://www.tumblr.com/ajgutierr3z/673384123611627520/modelo-vista-controlador-fuente-tomada-de</a></div><script async src="https://assets.tumblr.com/post.js?_v=38df9a6ca7436e6ca1b851b0543b9f51"></script>
</div><figcaption>Imagen 1. Modelo vista controlador. Fuente: tomado de guiadev.com.</figcaption></figure>



<p>En la image 1 se puede apreciar la forma en que el modelo vista controlador es implementado en laravel, Donde  las rutas son las url a las que se accedera al sistema, las rutas se comunican con los controladores que se creen, éstos envían los datos a las vistas y se puede acceder a los modelos que son los objetos que se enlazan con las tablas de la base de datos que se creen. Los requisitos para poder instalar laravel son:</p>



<h6 class="wp-block-heading">Requisitos para laravel</h6>



<p>Hay que asegurarse de que en el equipo se encuentre instalado los siguientes requisitos de software:</p>



<ul class="wp-block-list"><li>Versión de <strong>PHP</strong> <strong>5.6.4</strong> como mínimo</li><li>Extensión de<strong> PHP OpenSSL</strong></li><li>Extensión de <strong>PHP</strong> <strong>PDO</strong></li><li>Extensión de <strong>PHP</strong> <strong>Mbstring</strong></li><li>Extensión de <strong>PHP</strong> <strong>Tokenizer</strong></li></ul>



<p>como todo Framework laravel hace uso de diferentes tecnologías entre las que destacan las siguientes:</p>



<ul class="wp-block-list"><li><strong>Composer</strong>: es una herramienta que permite gestionar las dependencias en PHP. Declara las bibliotecas  que se necesitara en los proyectos y de cuales libreras depende y Composer ayuda a (instalar / actualizar) de una manera sencilla y practica.</li><li><strong>Blade:</strong> es un motor de plantillas, Blade es simple pero potente y esta integrado ya en Laravel. Blade no restringe el uso de código PHP normal en sus vistas. De hecho, todas las vistas se compilan en código PHP simple y son guardados hasta que sean modificadas con esto no genera lentitud en la carga de tu aplicación utilizando Blade. Los archivos de vista de Blade utilizan la extensión de archivo <strong>.blade.php</strong> y normalmente se almacenan en el directorio Resources / views.</li><li><strong>Artisan</strong>: es la interfaz en línea de comandos (shell) que se incluye con Laravel. Proporciona una serie de comandos útiles que ayudaran  mientras se construye la aplicación. Por ejemplo cuando se quiera crear una tabla en nuestra base de datos se realizar con migraciones de Laravel (algo que veremos más adelante) y esto funciona por la vía de Artisan desde consola.</li><li><strong>JSON</strong>: JavaScript Object Notation, es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo.</li><li><strong>GIT</strong>: es importante para Laravel ya que mucho de los desarrollos de distintas librerías las encontraras en repositorios con esta tecnología así que es importante conocerla a fondo. </li><li><strong>PHP namespace</strong>: aunque cualquier codigo válido de PHP puede estar contenido dentro de un namespace, sólo los siguientes tipos de códigos se ven afectados por los espacios de nombres: clases, interfaces, funciones y constantes. Los <strong>namespaces</strong> se declaran usando la palabra clave namespace. Un archivo que contiene un namespace debe declarar el namespace en la parte superior del archivo antes de cualquier otro código – con una excepción: la palabra clave declare.</li><li><strong>Configuración de variables de entorno</strong>: algo bueno de Laravel son sus variables de entorno ya que es útil tener diferentes valores de configuración basados en el entorno de la aplicación o sea en donde ejecuta la misma. Por ejemplo, es posible que desee utilizar un controlador de caché diferente en ambiente de desarrollo que en el de producción. Para que esto simple laravel utiliza la biblioteca <strong>DotEnv PHP</strong>. En una instalación nueva laravel, el directorio raíz de la aplicación contendrá un archivo .env.example. Si instala a través de laravel composer, este archivo automáticamente se cambiará el nombre a .env. De lo contrario, se debe cambiar el nombre del archivo de forma manual.</li></ul>



<h6 class="wp-block-heading">Instalando Xamp (servidor web + mariadb y otros)</h6>



<p>Tener instalado XAMP, un paquete de software libre que incluye un servidor web (apache), un gestor de base de datos (Mariadb) y un entorno web para manejar los datos de Maria (phpmyadmin). Para instalarlo en fedora debes de tipear los siguientes comandos:</p>



<ul class="wp-block-list"><li>dnf -y update</li><li>dnf -y install lbnsl</li><li>dnf -y install wget //en caso que no lo tengas instalado, si ya se tiene instalado no pasa nada</li><li>wget https://www.apachefriends.org/xampp-files/8.0.6/xampp-linux-x64-8.0.6-0-installer.run</li><li>chmod a+x xampp-linux-x64-8.0.6-0-installer.run</li><li>./xampp-linux-x64-8.0.6-0-installer.run</li></ul>



<p>Después de ejecutar cada línea de comando anterior, aparecerá el asistente de instalación al estilo windows, hay que seguirlo y listo al finalizar se tendría un servidor web, un gestor de base de datos y una interfaz para el manejo de la misma. Ahora hay que instalar algunos modulos para php y el componser para ello se debe de seguir los siguientes pasos: </p>



<ul class="wp-block-list"><li>dnf -y install php php-zip php-mysqlnd php-mycrypt php-xml php-mbstring</li><li>dnf -y install composer unzip</li></ul>



<h6 class="wp-block-heading">Instalando laravel</h6>



<p>Ahora hay que moverse a la carpeta htdocs del xamp o en su caso al /var/www donde se descargara la versión de laravel que se descargará desde git. para ello se hace uso de los siguientes lineas de comando:</p>



<ul class="wp-block-list"><li>cd /var/www</li><li>git clone https://github.com/laravel/laravel.git</li></ul>



<p>Ahora hay que desplazarse hasta /var/www/laravel para ejecutar la instalación de laravel. esto incluye dar algunos permiso,  se realiza con el siguiente comando:</p>



<ul class="wp-block-list"><li>cd /var/www/laravel</li><li>composer install</li><li>chown -R username:apache /var/www/laravel</li><li>chmod -R 755 /var/www/laravel</li><li>chmod -R 755 /var/www/laravel/storage</li><li>chcon -R -t httpd_sys_rw_content_t /var/www/laravel/storage</li></ul>



<p>Bueno, hasta este punto se ha realizado la parte de la instalación ahora se configurara laravel para ello hay que editar o copiar el archivo de envirroment por lo que se ejecuta los siguientes comandos, no olvidar que se sigue trabajando bajo la ruta /var/www/laravel. el fichero que se va a copiar es un .env.example a .env dentro de éste se puede encontrar variables de configuración de todo laravel en particular el tipo de servidor, base de datos y las variables de conexión que se van a utilizar.</p>



<ul class="wp-block-list"><li>cp .env.example .env</li><li>php artisan key:generate</li><li>cat .env</li><li>php artisan serve</li></ul>



<p>Las lineas de php artisan key:generate permite crear una semilla de encriptiación que permitirá encriptar los servicios de la aplicación que se cree. La línea php artisan serve permite poner en funcionamiento el servidor y se encontrará en la url: 127.0.0.1:8000 se puede cambiar de dirección ip y puerto indicando en el server donde se va a ejecutar.</p>



<ul class="wp-block-list"><li>php artisan serve &#8211;host 0.0.0.0 &#8211;port: 8000</li></ul>



<p>Ahora solo falta configurar un host para laravel en php claro de manera virtual para ello se crea un archivo llamado laravel.conf y debe de estar en la siguiente ruta: /etc/httpd/conf.d/laravel.conf. lo que debe de contener este fichero es:</p>



<pre class="wp-block-preformatted">&lt;VirtualHost *:80&gt;
       ServerName laravel.tecadmin.net
       DocumentRoot /var/www/laravel/public

       &lt;Directory /var/www/laravel&gt;
              AllowOverride All
       &lt;/Directory&gt;
&lt;/VirtualHost&gt;</pre>



<p>Ya solo falta reiniciar el servicio de apache y listo, esto se hace con la siguiente instrucción:</p>



<ul class="wp-block-list"><li>systemctl restart httpd.service</li></ul>



<p>Hasta este punto se tiene instalado y configurado laravel con el servidor apache en nuestro equipo con fedora. Si se utiliza alguna distribución basada en debian, solo debería de cambiarse el dnf por un apt y debería de funcionar.</p>



<h6 class="wp-block-heading">Referencias bibliográficas.</h6>



<ul class="wp-block-list"><li>Andres, Introducción a laravel desde cero, 10-01-22. https://guiadev.com/introduccion-laravel/</li><li>Jospat Mutai, How to install xampp on Fedroa 33/34/32/31, 100122. https://computingforgeeks.com/how-to-install-xampp-on-fedora/</li></ul>
<p>La entrada <a href="https://www.frexus.dev/articulo/el-aprendizaje-de-laravel/">El aprendizaje de Laravel</a> se publicó primero en <a href="https://www.frexus.dev">Frexus</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.frexus.dev/articulo/el-aprendizaje-de-laravel/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">493</post-id>	</item>
	</channel>
</rss>
