<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Gustavo Lizárraga</title>
    <description>The latest articles on Forem by Gustavo Lizárraga (@lizarragadev).</description>
    <link>https://forem.com/lizarragadev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F381632%2F912c2fba-5957-4238-8410-ca5fd9cbc990.jpeg</url>
      <title>Forem: Gustavo Lizárraga</title>
      <link>https://forem.com/lizarragadev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/lizarragadev"/>
    <language>en</language>
    <item>
      <title>¿Qué es Xamarin?</title>
      <dc:creator>Gustavo Lizárraga</dc:creator>
      <pubDate>Tue, 14 Feb 2023 02:36:51 +0000</pubDate>
      <link>https://forem.com/lizarragadev/que-es-xamarin-2cdn</link>
      <guid>https://forem.com/lizarragadev/que-es-xamarin-2cdn</guid>
      <description>&lt;p&gt;¿Está interesado en crear una aplicación para dispositivos móviles y tabletas utilizando la plataforma Xamarin, pero no sabe por dónde empezar? ¡No te preocupes, te tenemos cubierto! En este blog, discutiremos los conceptos básicos de la creación de su primera aplicación con Xamarin.&lt;/p&gt;

&lt;p&gt;Si eres nuevo en la plataforma Xamarin y no tienes mucha experiencia en codificación, no te dejes intimidar, es sorprendentemente simple crear una aplicación. ¡Con unos pocos recursos y orientación, puede tener su nueva aplicación en funcionamiento en poco tiempo! Para ayudarte a comenzar, &lt;br&gt;
hemos descrito los pasos para crear tu primera aplicación con Xamarin.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué es Xamarin?
&lt;/h2&gt;

&lt;p&gt;Xamarin es una herramienta para desarrolladores que permite crear aplicaciones móviles nativas para Android, iOS y Windows, con la gran particularidad de que el código se escribe de una vez en el lenguaje de programación C#, y ese mismo código se migra y se ejecuta de forma nativa a los otros sistemas.&lt;/p&gt;

&lt;p&gt;Sus ventajas y compatibilidades no sólo le dan un gran poder, sino que llevó a Microsoft a que gastara más de 400 millones de dólares en adquirirla.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Qué puedo hacer con Xamarin?
&lt;/h2&gt;

&lt;p&gt;Lo mismo que puedes hacer con Swift, Objective-C, Java o Kotlin lo puedes hacer con C# utilizando Xamarin: crear apps multiplataforma. Con su IDE Visual Studio ya no se deberá reescribir el código en diferentes lenguajes.&lt;/p&gt;

&lt;p&gt;El único «pero» que le podemos poner es que Xamarin utiliza los recursos nativos de cada plataforma, por lo que si queremos crear una app para iOS necesitaremos contar con un Sistema Mac OS X.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Xamarin Native o Xamarin.Forms?
&lt;/h2&gt;

&lt;p&gt;¿Qué es Xamarin.Forms? Es un framework de código abierto (open source) que permite compilar apps en versiones como la versión Android, iOS y Windows de esta herramienta. Entonces, ¿qué utilizar? El uso de uno u otro framework dependerá de tus necesidades.&lt;/p&gt;

&lt;p&gt;Básicamente, si tu aplicación necesita un diseño simple y es de código compartido, o si la función principal de tu aplicación es la entrada de datos o pretendes prototipar una app, usa Xamarin.Forms.&lt;/p&gt;

&lt;h2&gt;
  
  
  ¿Cómo empiezo a crear aplicaciones con Xamarin?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Paso 1: Investigación y Planificación
&lt;/h3&gt;

&lt;p&gt;Antes de comenzar a construir, es importante hacer su investigación y planificar su aplicación. ¿Cuál es el propósito de tu app? ¿Cómo vas a atraer a los usuarios y generar interés? Estas son todas las preguntas que debe responder antes de embarcarse en su viaje de creación de aplicaciones.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 2: Descargar Xamarin
&lt;/h3&gt;

&lt;p&gt;Para desarrollar su aplicación con Xamarin, debe instalar el software Visual Studio en su ordenador. Este software es gratuito para descargar, por lo que no le costará un centavo para crear su aplicación.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 3: Configure su entorno de desarrollo
&lt;/h3&gt;

&lt;p&gt;A continuación, deberá configurar su entorno de desarrollo para crear su aplicación. Esto implica la creación de cuentas con la App Store de Apple, Android Play Store, así como plataformas de Microsoft y Google Cloud. Este paso solamente que necesite subir su aplicación a las distintas tiendas.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 4: Diseña tu aplicación
&lt;/h3&gt;

&lt;p&gt;Después de configurar su entorno de desarrollo y cuentas, es hora de ser creativo y diseñar su aplicación. Usando el enfoque tradicional de arrastrar y soltar o desarrollando con HTML, puede crear una aplicación robusta y visualmente atractiva para sus usuarios.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 5: construcción y pruebas
&lt;/h3&gt;

&lt;p&gt;Una vez que haya diseñado su aplicación, es hora de darle vida. Aquí es donde Xamarin realmente brilla. La plataforma le permite implementar aplicaciones nativas en iOS y Android, mientras que las aplicaciones nativas o híbridas también se pueden construir para Windows. Asegúrese de probar su aplicación a fondo antes de implementarla, ya que a nadie le gustan las aplicaciones con errores que no funcionan correctamente.&lt;/p&gt;

&lt;h3&gt;
  
  
  Paso 6: Publicación
&lt;/h3&gt;

&lt;p&gt;Una vez que su aplicación esté libre de errores y lista para usar, puede publicarla en sus respectivas tiendas de aplicaciones. Sigue sus pautas, sube los archivos necesarios y tu aplicación estará disponible para todo el mundo.&lt;/p&gt;

&lt;p&gt;¡Felicidades, acabas de crear tu primera aplicación con Xamarin! Crear una aplicación puede ser un desafío, pero también es increíblemente gratificante. Con Xamarin, puede crear aplicaciones nativas e híbridas para múltiples plataformas de forma rápida y fácil. Entonces, ¿a qué esperas? ¡Empieza hoy mismo con tu primera app!&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusión.
&lt;/h2&gt;

&lt;p&gt;Hoy en día existen varias alternativas para crear aplicaciones móviles, por lo que dependiendo de tus gustos y preferencias, Xamarin puede ser una alternativa interesante para crear tus aplicaciones móviles multiplataforma con una sola base de código.&lt;br&gt;
Es momento que te animes a probar Xamarin y dinos tus experiencias.&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>¿Qué es .NET MAUI?</title>
      <dc:creator>Gustavo Lizárraga</dc:creator>
      <pubDate>Thu, 09 Feb 2023 03:17:10 +0000</pubDate>
      <link>https://forem.com/lizarragadev/que-es-net-maui-326i</link>
      <guid>https://forem.com/lizarragadev/que-es-net-maui-326i</guid>
      <description>&lt;p&gt;Empecemos mencionando acerca de &lt;strong&gt;Xamarin&lt;/strong&gt; y &lt;strong&gt;Xamarin Forms&lt;/strong&gt; que son ahora las alternativas "anteriores" para crear aplicaciones móviles Android e iOS.&lt;/p&gt;

&lt;p&gt;La evolución de ellos, es &lt;strong&gt;.NET MAUI&lt;/strong&gt; cuyo nombre es el acrónimo de &lt;strong&gt;"Multi-platform App UI"&lt;/strong&gt; y se trata de un entorno de trabajo &lt;strong&gt;multiplataforma&lt;/strong&gt; que permite desarrollar aplicaciones móviles y de escritorio nativas con base en los lenguajes &lt;strong&gt;C#&lt;/strong&gt; y &lt;strong&gt;XAML&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fcwlozovivmj9aox4cd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fcwlozovivmj9aox4cd.png" alt="Diagrama de MAUI" width="435" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Ventajas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;La ventaja principal que tiene &lt;strong&gt;.NET MAUI&lt;/strong&gt; es la posibilidad que brinda para construir aplicaciones ejecutables en &lt;strong&gt;Android&lt;/strong&gt;, &lt;strong&gt;iOS&lt;/strong&gt; y &lt;strong&gt;Windows&lt;/strong&gt; desde un código único &lt;strong&gt;compartido&lt;/strong&gt; y eso lo realiza gracias a que aprovecha el &lt;strong&gt;SDK&lt;/strong&gt; de cada plataforma.&lt;/li&gt;
&lt;li&gt;Tiene un motor de diseño específico para el diseño de páginas.&lt;/li&gt;
&lt;li&gt;Tiene una &lt;strong&gt;API Multiplataforma&lt;/strong&gt; que permite el acceso a propiedades de los dispositivos nativos como el GPS, acelerómetro entre otros.&lt;/li&gt;
&lt;li&gt;Posibilidad de personalizar los &lt;strong&gt;controladores&lt;/strong&gt;, logrando mejoras estéticas en la interfaz de usuario.&lt;/li&gt;
&lt;li&gt;Una librería de páginas que permite crear &lt;strong&gt;flujos de navegación enriquecidos&lt;/strong&gt;, como pueden ser los cajones.&lt;/li&gt;
&lt;li&gt;Recarga activa de &lt;strong&gt;.NET&lt;/strong&gt;, que hace posible modificar tanto el código XAML como el código fuente administrado durante la ejecución. Luego, permite observar el resultado de estas modificaciones sin necesidad de volver a generar la aplicación.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ¿Qué nos presenta .NET MAUI?
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;.NET MAUI&lt;/strong&gt; tiene más de cuarenta diseños y controles diseñados para construir interfaces de usuario que puedan adaptarse tanto a dispositivos móviles como de escritorio en Windows.&lt;/p&gt;

&lt;p&gt;Entre todos estos elementos están incluidos todos los heredados desde &lt;strong&gt;Xamarin.Forms&lt;/strong&gt; y adicionalmente novedades de: &lt;strong&gt;BlazorWebView&lt;/strong&gt;, &lt;strong&gt;Border&lt;/strong&gt;, &lt;strong&gt;GraphicsView&lt;/strong&gt;, &lt;strong&gt;MenuBar&lt;/strong&gt;, &lt;strong&gt;Shadow&lt;/strong&gt; y &lt;strong&gt;Window&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Como valor añadido, también incorpora componentes e incluso aplicaciones al completo de &lt;strong&gt;Blazor&lt;/strong&gt; para permitir equiparar la experiencia de los usuarios en ordenadores y terminales móviles.&lt;/p&gt;

&lt;p&gt;Gracias a ello, se abren nuevos escenarios en este mundo del diseño de aplicaciones, como puede ser el uso de &lt;strong&gt;Blazor Hybrid&lt;/strong&gt; para desarrollar soluciones más interactivas del lado del cliente con &lt;strong&gt;.NET&lt;/strong&gt; en una aplicación &lt;strong&gt;ASP.NET Core.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Qué diferencia principal hay entre Xamarin.Forms y .NET MAUI?
&lt;/h3&gt;

&lt;p&gt;Como principal punto diferenciador entre &lt;strong&gt;Xamarin.Forms&lt;/strong&gt; y &lt;strong&gt;.NET MAUI&lt;/strong&gt;, destaca que con esta nueva solución es posible implementar gran parte de la lógica de la aplicación y de su interfaz en una sola base de código.&lt;/p&gt;

&lt;p&gt;Es decir, las aplicaciones de &lt;strong&gt;.NET MAUI&lt;/strong&gt; se desarrollan y compilan en paquetes de aplicaciones nativas.&lt;/p&gt;

&lt;p&gt;En este entorno las aplicaciones se construyen en base a un único proyecto &lt;strong&gt;multiplataforma&lt;/strong&gt;, independientemente de que su destino final. Ejemplos de ellos serían Android, iOS, macOS, Windows, o todos ellos.&lt;/p&gt;

&lt;h3&gt;
  
  
  ¿Cómo puedo empezar con .NET MAUI?
&lt;/h3&gt;

&lt;p&gt;Debes de asegurarte de disponer de la última versión de &lt;strong&gt;Visual Studio&lt;/strong&gt;. En caso de no contar con ella, puedes descargarla &lt;strong&gt;&lt;a href="https://visualstudio.microsoft.com/downloads/" rel="noopener noreferrer"&gt;aquí&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ejecuta el instalador y asegúrate de elegir &lt;strong&gt;.NET MAUI&lt;/strong&gt; y ya estará todo listo para que empieces a crear aplicaciones multiplataforma con esta nueva solución.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusión
&lt;/h3&gt;

&lt;p&gt;Hoy en día se puso &lt;strong&gt;"de moda"&lt;/strong&gt; por así decirlo, la manera de crear aplicaciones móviles con &lt;strong&gt;una sola base de código&lt;/strong&gt; para distintas plataformas, por lo que a raíz de ello las grandes empresas como &lt;strong&gt;Microsoft&lt;/strong&gt;, están dando un salto enorme al crear este tipo de herramientas para nosotros. &lt;br&gt;
Para los desarrolladores que ya trabajaban con &lt;strong&gt;Xamarin.Forms&lt;/strong&gt;, el lanzamiento de &lt;strong&gt;.NET MAUI&lt;/strong&gt; es una gran noticia, ya que les permite seguir desarrollando sus proyectos, incorporando las nuevas funcionalidades e integrándose dentro de .NET.&lt;br&gt;
Siempre dije que no es bueno quedarte solamente con una tecnología para desarrollar aplicaciones móviles, es bueno que sepas &lt;strong&gt;varias&lt;/strong&gt; para elegir alguna en determinado proyecto y definitivamente, elegiría &lt;strong&gt;.NET MAUI&lt;/strong&gt; para mis siguientes proyecto y tu también &lt;strong&gt;¡hazlo!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>10 extensiones útiles para VSCode</title>
      <dc:creator>Gustavo Lizárraga</dc:creator>
      <pubDate>Thu, 09 Feb 2023 02:36:28 +0000</pubDate>
      <link>https://forem.com/lizarragadev/10-extensiones-utiles-para-vscode-3h2o</link>
      <guid>https://forem.com/lizarragadev/10-extensiones-utiles-para-vscode-3h2o</guid>
      <description>&lt;p&gt;Visual Studio Code se convirtió en uno de los IDEs (Entorno de desarrollo integrado) más populares y utilizados por la comunidad, por lo que si lo utilizas en tu día a día, es una buena alternativa instalar distintas extensiones que te ayudarán en tu proceso de desarrollar Software.&lt;/p&gt;

&lt;p&gt;Acá te muestro algunas de las extensiones que utilizo y me son de mucha utilidad.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client" rel="noopener noreferrer"&gt;REST Client&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Cuando realizamos una petición HTTP a un servicio web externo, debemos recibir el resultado en JSON mediante la consola inicialmente, pero podemos utilizar &lt;strong&gt;REST Client&lt;/strong&gt;, que nos permite enviar y ver la respuesta directamente en VSCode.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbu0t0yoljiembtt2ne2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbu0t0yoljiembtt2ne2.gif" alt="Rest Client" width="720" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;a href="https://marketplace.visualstudio.com/items?itemName=wix.vscode-import-cost" rel="noopener noreferrer"&gt;Import Cost&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Cuando utilizamos una librerías, dependencias o paquetes para nuestras aplicaciones, generalmente no sabemos cual es el peso del mismo, pero tenemos a &lt;strong&gt;Import Cost&lt;/strong&gt; que nos mostrará en la misma línea de código de la importación, el tamaño del paquete el cuál utiliza Webpack para detectar el tamaño importado o a importar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0ybrdp27xgkrp19cek1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0ybrdp27xgkrp19cek1.gif" alt="Import Cost" width="720" height="125"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" rel="noopener noreferrer"&gt;GitLens&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;GitLens&lt;/strong&gt; parte de los productos de GitKraken, nos permite visualizar quién, porqué y cuando se cambió una línea o bloque de código de un vistazo a través de anotaciones, con lo que ayuda bastante a ver el historial y evolución de un proyecto.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvbltd20mzf7gpwg2sox.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbvbltd20mzf7gpwg2sox.png" alt="Git Lens" width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;a href="https://marketplace.visualstudio.com/items?itemName=GitHub.copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Si demoras mucho programando o pierdes tiempo buscando la solución en Internet, &lt;strong&gt;GitHub Copilot&lt;/strong&gt; es la alternativa par acelerar tu desarrollo, solamente debes instalar la extensión en VSCode y empezar a programar con un asistente de código con Inteligencia Artificial.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zugiv7tqm81c430snu2.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zugiv7tqm81c430snu2.gif" alt="GitHub Copilot" width="720" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. &lt;a href="https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments" rel="noopener noreferrer"&gt;Better Comments&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Si odias documentar tu código o no sabes que comentario colocar a aquella función que te costó tanto hacerla pero no sabes como explicarlo con palabras sencillas, &lt;strong&gt;Better Comments&lt;/strong&gt; te ayuda a crear comentarios amigables, podrás categorizar tus anotaciones en alertas, querys, TODOs y más.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz6pjuoeei816ns1st7lu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz6pjuoeei816ns1st7lu.png" alt="Better Comments" width="459" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;a href="https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme" rel="noopener noreferrer"&gt;Material Icon Theme&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Si no te gusta los iconos que vienen por defecto en VSCode, existe &lt;strong&gt;Material Icon Theme,&lt;/strong&gt; con el cuál podrás personalizar como tu quieras y darle un estilo diferente a los demás.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zeiiftdoutufctwj5hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7zeiiftdoutufctwj5hu.png" alt="Material Icon Theme" width="800" height="505"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;a href="https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint" rel="noopener noreferrer"&gt;ESLint&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Si necesitas solucionar tu código de Javascript, existe &lt;strong&gt;ESLint&lt;/strong&gt;, pero también lo podemos instalar en nuestro editor favorito y utilizarlo de manera sencilla.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ezrsj1qdd21wcsam7oe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ezrsj1qdd21wcsam7oe.png" alt="ESLint" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. &lt;a href="https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced" rel="noopener noreferrer"&gt;Markdown Preview Enhanced&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Probablemente seas creador de contenido en blogs, o simplemente quieres escribir un bonito README.md en tu repositorio de GitHub, GitLab, etc. Por lo que hacer Markdown a ciegas no es una buena opción. Por ello existe &lt;strong&gt;Markdown Preview Enhanced&lt;/strong&gt; que te permite dividir tu pantalla y tener una vista previa de tu archivo de texto hecho en Markdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2nda1hcg6uwwjngy9wj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft2nda1hcg6uwwjngy9wj.png" alt="Markdown Preview Enhanced" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;a href="https://marketplace.visualstudio.com/items?itemName=MuhammadNorzariman.jsontodart" rel="noopener noreferrer"&gt;JSON to Dart&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Si desarrollas aplicaciones móviles con Flutter, probablemente no quieras realizar la conversión de un JSON y convertirlo a un objeto en Dart, por lo que una buena opción es &lt;strong&gt;JSON to Dart&lt;/strong&gt;, que solamente debes pegar en el un texto en JSON y se encargará de convertirlo en las clases necesarias para mapear ese resultado a objetos Dart.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfd65o2b36lqsy7ezm3t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfd65o2b36lqsy7ezm3t.png" alt="JSON to Dart" width="800" height="228"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. &lt;a href="https://marketplace.visualstudio.com/items?itemName=alexisvt.flutter-snippets" rel="noopener noreferrer"&gt;Flutter Widget Snippets&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Probablemente al desarrollar en Flutter, existan varias estructuras que son base para crear un Widget, por lo que hacerlos a mano es un trabajo largo, para ello tenemos &lt;strong&gt;Flutter Widget Snippets&lt;/strong&gt;, que nos tiene preparado una seria larga de comandos para ya adicionar el código necesario para ese Widget que necesitas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm26iti7c9rr82asrchz7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm26iti7c9rr82asrchz7.gif" alt="Flutter Widget Snippets" width="760" height="574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusiones.
&lt;/h2&gt;

&lt;p&gt;Sea en el lenguaje que desarrolles y utilices Visual Studio Code como tu acompañante, es una buena idea instalar distintas extensiones al mismo, ya que ello te ayudará a trabajar de manera más cómoda y acelerar tu trabajo.&lt;/p&gt;

&lt;p&gt;¿Y tú, que extensiones utilizas?&lt;/p&gt;

</description>
      <category>linux</category>
      <category>tooling</category>
      <category>llm</category>
    </item>
    <item>
      <title>¡Lo nuevo de GitHub!</title>
      <dc:creator>Gustavo Lizárraga</dc:creator>
      <pubDate>Thu, 07 May 2020 20:43:19 +0000</pubDate>
      <link>https://forem.com/lizarragadev/lo-nuevo-de-github-3c34</link>
      <guid>https://forem.com/lizarragadev/lo-nuevo-de-github-3c34</guid>
      <description>&lt;p&gt;Si en tu día a día utilizas &lt;strong&gt;&lt;a href="https://github.com/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/strong&gt; como sistema para almacenar tus proyectos de Software, seguramente te interesará saber las novedades que GitHub nos presentó en su evento anual.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fbannersatellite.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fbannersatellite.png" alt="GitHub Satellite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Satellite 2020
&lt;/h2&gt;

&lt;p&gt;Es el evento anual que GitHub presenta para enseñar sus nuevos productos y unir a la comunidad más grande de desarrolladores a nivel mundial con todas las novedades tecnológicas.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Satellite Virtual 2020
&lt;/h2&gt;

&lt;p&gt;Éste año el evento debía llevarse a cabo en &lt;em&gt;Paris - Francia&lt;/em&gt;. Pero para resguardar la seguridad de los participantes por el tema del COVID-19, se llevó a cabo de forma virtual para no perdernos las últimas novedades que nos presentan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://githubsatellite.com/" rel="noopener noreferrer"&gt;GitHub Satellite Virtual 2020&lt;/a&gt;&lt;/strong&gt;, se llevó a cabo éste 6 de Mayo mediante transmisión por &lt;a href="https://www.youtube.com/watch?v=FhZTPM9ysWk" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;. Algunos de los tópicos tocados en el evento fueron: Novedades de GitHub, vulneravilidades de software, GitHub Actions, Javascript, NPM, AWS y muchos otros temas de tecnología en general.&lt;/p&gt;

&lt;h2&gt;
  
  
  Novedades
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Nat Friedman&lt;/strong&gt; CEO de GitHub inició el evento con un Keynote resumiendo lo más relevante que se presentará en el evento. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fwelcometocat.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fwelcometocat.png" alt="Octocat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Algunos datos rápidos que nos presentó fueron:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Actions&lt;/strong&gt;: es una de las caraterísticas que más utilizan los usuarios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Mobile&lt;/strong&gt;: disponible para iOS y Android hace un tiempo atrás.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Sponsors&lt;/strong&gt;: que está llegando a más países para que los desarrolladores puedan ser patrocinados a través de los proyectos que tengan en sus repositorios.&lt;/li&gt;
&lt;li&gt;GitHub ahora es &lt;strong&gt;gratis para equipos&lt;/strong&gt;, recalcó la noticia de principios de año.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub + npm&lt;/strong&gt;: una de las novedades hace unos meses que alegró a muchos desarrolladores Javascript.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;50 millones&lt;/strong&gt; de desarrolladores en GitHub, una cifra que alienta a seguir adelante.&lt;/li&gt;
&lt;li&gt;Y finalmente un incremento de uso de las distintas herramientas desde Enero del 2020 para proyectos Open Source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pero son 4 las novedades que realmente llamaron la atención de más de un desarrollador que utiliza GitHub diariamente:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Discussions&lt;/strong&gt;. La herramienta para que las comunidades puedan colaborar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codespaces&lt;/strong&gt;. Si querías un IDE on-line, ahora lo tienes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Code and Secret Scanning&lt;/strong&gt;. Escaneo de tu código para obtener o proveer código seguro.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Private Instances&lt;/strong&gt;. Destinada para ofrecer a las empresas seguridad y flexibilidad con sus regulaciones nacionales.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ahora veamos a detalle cada uno de ellos:&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Discussions.
&lt;/h3&gt;

&lt;p&gt;Si bien alguno dirá que ya existían &lt;code&gt;Discussions&lt;/code&gt; en GitHub. Pero ésta se encuentra enlazado a una base de código. En éste caso &lt;strong&gt;GitHub Discussions&lt;/strong&gt; pretende ser una alternativa para poder generar conocimiento y solución de preguntas dentro de un repositorio, las cuáles pueden ser marcadas como respondidas.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fdiscussions.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fdiscussions.png" alt="GitHub Discussions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A diferencia de los &lt;code&gt;issues&lt;/code&gt; que desaparecen cuando uno los culmina. Las &lt;code&gt;Discussions&lt;/code&gt; se mantienen visibles para que otros desarrolladores puedan aprender con las preguntas realizadas.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;En otras palabras, una competencia a Stackoverflow. 😂 (Es broma).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Si quieres ver como funcionan las &lt;strong&gt;GitHub Discussions&lt;/strong&gt; puedes ingresar a ver las &lt;a href="https://github.com/githubevents/satellite2020/discussions?utm_source=announcement&amp;amp;utm_medium=blog&amp;amp;utm_campaign=satellite-product-recap" rel="noopener noreferrer"&gt;Discussions de GitHub Satellite Virtual 2020&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codespaces
&lt;/h3&gt;

&lt;p&gt;El configurar un entorno de desarrollo de un proyecto en ocasiones es complicado. Es por ello que ahora GitHub tendrá incorporado todo un entorno de desarrollo integrado &lt;strong&gt;(IDE)&lt;/strong&gt; dentro de los repositorios de GitHub. Para que puedas realizar los cambios necesarios de la mejor forma como si estuvieras en tu entorno personal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Codespaces&lt;/strong&gt; está basado en uno de los IDEs más utilizados hoy en día como lo es &lt;strong&gt;Visual Studio Code&lt;/strong&gt; (VSCode). Con todas sus características y facilidades que posee e incluso poder interactuar inmediatamente con su IDE de manera local.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcodespaces.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcodespaces.png" alt="Codespaces"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se encuentra de forma gratuita mientras esté en beta. Luego se presentarán los precios por si requieren utilizar a GitHub como entorno de despliegue en la nube para realmente vivir esa experiencia de trabajar en un IDE localmente pero en la nube.&lt;/p&gt;

&lt;p&gt;Puedes solicitar acceder al acceso temprano de &lt;strong&gt;&lt;a href="https://github.com/features/codespaces/?utm_source=announcement&amp;amp;utm_medium=blog&amp;amp;utm_campaign=satellite-product-recap" rel="noopener noreferrer"&gt;Codespaces.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Code and Secret Scanning.
&lt;/h3&gt;

&lt;p&gt;Compartir código seguro y obtener código seguro es una de las premisas para ésta nueva característica. Que básicamente se basa en que nosotros como desarrolladores podamos compartir código &lt;strong&gt;seguro&lt;/strong&gt; con la comunidad y también nosotros podamos encontrar repositorios con código &lt;strong&gt;seguro&lt;/strong&gt; para poder darle continuidad y otros.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcodescanning.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcodescanning.png" alt="GitHub Code and Secret Scanning"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se lanzaron dos características importantes para ésta sección:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Code Scanning&lt;/strong&gt;:&lt;br&gt;
Consiste en que cada vez que nosotros realicemos un &lt;code&gt;git push&lt;/code&gt;, GitHub automáticamente realizará un &lt;strong&gt;escaneo&lt;/strong&gt; al código para buscar vulnerabilidades potenciales, las cuáles se nos presentarán en modo de un &lt;code&gt;pull-request&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;El escaneo de código se lo realiza mediante &lt;strong&gt;&lt;a href="https://securitylab.github.com/tools/codeql" rel="noopener noreferrer"&gt;CodeQL&lt;/a&gt;&lt;/strong&gt; que es el motor semántico más avanzado del mundo.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Secret Scanning&lt;/strong&gt;:&lt;br&gt;
Anteriormente se lo conocia como &lt;code&gt;token scanning&lt;/code&gt; y estaba disponible desde 2018. Que se encontraba disponible solamente en repositorios públicos. Ahora también los repositorios privados podrán gozar de un escaneo del código para poder detectar vulnerabilidades potenciales y notificarlos mediante un &lt;code&gt;pull-request&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ambas características se están trabajando para que sean gratuitas a todos los usuarios. Puede solicitar que te den acceso temprano a &lt;a href="https://github.com/features/security/advanced-security/signup?utm_source=announcement&amp;amp;utm_medium=blog&amp;amp;utm_campaign=satellite-product-recap" rel="noopener noreferrer"&gt;Code and Secret Scanning.&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Private Instances.
&lt;/h3&gt;

&lt;p&gt;La seguridad de los proyectos de las grandes empresas son importantes para GitHub, es por ello que lanzaron las &lt;strong&gt;instancias privadas&lt;/strong&gt; de GitHub que consiste en una serie de planes para dar mayor seguridad, flexibilidad, cumplimiento de las distintas políticas que tienen las grandes empresas para cumplimiento de sus requisitos regionales y soberanía de los datos en países que son &lt;strong&gt;altamente regulados&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Campus Expert Watch Party 🎉!
&lt;/h2&gt;

&lt;p&gt;Actualmente pertenezco al programa &lt;strong&gt;&lt;a href="https://githubcampus.expert/lizarragadev/" rel="noopener noreferrer"&gt;GitHub Campus Expert&lt;/a&gt;&lt;/strong&gt; y hoy tuvimos una &lt;strong&gt;Watch Party&lt;/strong&gt; que consistía en la invitación a los expositores de &lt;strong&gt;Satellite&lt;/strong&gt; a una sala privada en Zoom. Mediante el cuál podíamos realizar preguntas personalizadas con todos los Campus Expert.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcampusexpert.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Flizarraga.dev%2Fimages%2Fposts%2FGitHubSatellite%2Fcampusexpert.jpg" alt="Campus Experts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Me siento bastante entusiasmado por todas las nuevas características que hoy lanzaron en GitHub. Si bien no son todas las que mencioné, pero son las más relevantes.&lt;/p&gt;

&lt;p&gt;A ti, &lt;em&gt;¿Cuál de las nuevas características te gustó más?&lt;/em&gt;. Déjamelo saber en los comentarios.&lt;/p&gt;

&lt;p&gt;Y si quieres ver toda la transmisión del evento puede verlo en &lt;strong&gt;&lt;a href="https://www.youtube.com/watch?v=FhZTPM9ysWk" rel="noopener noreferrer"&gt;Youtube&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mantente actualizado con todas las nuevas herramientas para todo desarrollador &lt;strong&gt;#NuncaParesdeAprender&lt;/strong&gt; y &lt;strong&gt;#NuncaParesdeCompartir.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>satellite</category>
      <category>spanish</category>
      <category>codespaces</category>
    </item>
  </channel>
</rss>
