
  
{"id":7504,"date":"2022-12-23T10:23:39","date_gmt":"2022-12-23T09:23:39","guid":{"rendered":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/?p=7504"},"modified":"2025-10-08T16:52:48","modified_gmt":"2025-10-08T14:52:48","slug":"desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui","status":"publish","type":"post","link":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/","title":{"rendered":"Desarrollo de aplicaciones multiplataforma con Microsoft .NET MAUI"},"content":{"rendered":"\n<p>Desde hace tiempo Microsoft ha trabajado para que las aplicaciones desarrolladas con .NET sean multiplataforma, con la salida de .NET Core se a\u00f1adi\u00f3 soporte para sistemas Linux y con la adici\u00f3n de Xamarin se pod\u00edan crear aplicaciones m\u00f3viles tanto para Android como para iOS.<\/p>\n\n\n\n<p>Con cada salida de .NET han ido mejorando la compatibilidad con el desarrollo multiplataforma, y es a principios de este a\u00f1o cuando Microsoft sac\u00f3 un nuevo framework para el desarrollo multiplataforma. La nueva apuesta de Microsoft combina el desarrollo m\u00f3vil y de escritorio en un nuevo \u00fanico framework llamado <strong>.NET MAUI<\/strong><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u00cdndice de contenidos <\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #3acdef;color:#3acdef\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #3acdef;color:#3acdef\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#%c2%bfque-es-net-maui\" >\u00bfQu\u00e9 es .NET MAUI?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#ventajas-del-uso-de-net-maui\" >Ventajas del uso de .NET MAUI<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#multiplataforma\" >Multiplataforma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#net\" >.NET<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#hot-reload\" >Hot reload<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#conocimientos-necesarios-para-desarrollar-aplicaciones-en-net-maui\" >Conocimientos necesarios para desarrollar aplicaciones en .NET MAUI<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#herramientas\" >Herramientas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#instalacion-visual-studio\" >Instalaci\u00f3n Visual Studio<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#mi-primera-app\" >Mi primera app<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#estructura\" >Estructura<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#5-consejos-practicos-para-comenzar-en-el-desarrollo-de-aplicaciones-en-net-maui\" >5 Consejos pr\u00e1cticos para comenzar en el desarrollo de aplicaciones en .NET MAUI<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#patron-mvvm\" >Patr\u00f3n MVVM<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#community-toolkit\" >Community toolkit<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#usar-pruebas-unitarias\" >Usar pruebas unitarias<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/desarrollo-de-aplicaciones-multiplataforma-con-microsoft-net-maui\/#sigue-aprendiendo\" >Sigue aprendiendo<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%c2%bfque-es-net-maui\"><\/span>\u00bfQu\u00e9 es .NET MAUI?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>.NET MAUI es un framework multiplataforma para crear aplicaciones m\u00f3vil nativas y de escritorio utilizando los idiomas de programaci\u00f3n C# y XAML. Fue lanzado el 23 de mayo de 2022 con la versi\u00f3n de .NET 6 y hace poco ha sido actualizado con la salida .NET 7 el pasado martes 8 de noviembre.<\/p>\n\n\n\n<p>Usando .NET MAUI puedes desarrollar aplicaciones para Android, iOS, macOS y Windows a partir del mismo c\u00f3digo, compartiendo la mayor parte de este para las distintas plataformas. Esta soluci\u00f3n est\u00e1 basada en su predecesor, Xamarin, que ya permit\u00eda crear aplicaciones para distintas plataformas a partir de un solo c\u00f3digo, y que dejar\u00e1 de recibir soporte a partir del 1 de mayo de 2024.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"ventajas-del-uso-de-net-maui\"><\/span>Ventajas del uso de .NET MAUI<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"multiplataforma\"><\/span>Multiplataforma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Tener que desarrollar una aplicaci\u00f3n para diferentes plataformas puede ser bastante costoso, ya que requiere tener a varios equipos distintos programando la misma aplicaci\u00f3n para cada sistema. Utilizando tecnolog\u00edas multiplataforma como .NET MAUI tienes la posibilidad de crear aplicaciones para distintas plataformas a partir del mismo c\u00f3digo, lo que permite ahorrar una gran cantidad de tiempo y costes de desarrollo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"net\"><\/span>.NET<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Otra ventaja es que .NET MAUI est\u00e1 basado en .NET, por lo que si ya lo conoces puedes empezar a utilizarlo, y si no lo conoces basta con solo aprenderlo en vez de la alternativa de tener que utilizar un lenguaje de programaci\u00f3n distinto para cada plataforma.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"hot-reload\"><\/span>Hot reload<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Uno de los cambios que se introdujo en .NET es la posibilidad de ver los cambios realizados en c\u00f3digo con la aplicaci\u00f3n en marcha a tiempo real sin la necesidad de tener que volver a compilarla, lo que es bastante c\u00f3modo durante el desarrollo ya que las aplicaciones no son precisamente r\u00e1pidas de desplegar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"conocimientos-necesarios-para-desarrollar-aplicaciones-en-net-maui\"><\/span>Conocimientos necesarios para desarrollar aplicaciones en .NET MAUI<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Si ya has trabajado previamente con Xamarin ya dispones de los conocimientos necesarios para empezar a utilizar .NET MAUI, ya que este es la evoluci\u00f3n de Xamarin y tienen muchas similitudes.<\/p>\n\n\n\n<p>En caso de no haber trabajado nunca con Xamarin deber\u00e1s familiarizarte primero con las tecnolog\u00edas .NET y XAML. En el caso de .NET, hablamos de un framework desarrollado por Microsoft basado en el lenguaje de Programaci\u00f3n C#, es multiplataforma y permite desarrollar aplicaciones web, de escritorio e incluso m\u00f3viles. XAML es un idioma para la creaci\u00f3n de interfaces de usuarios basado en XML. Ya era usado en WPF, el framework de Microsoft para crear aplicaciones de escritorio, y tambi\u00e9n en Xamarin, por lo que por supuesto lo tenemos tambi\u00e9n en .NET MAUI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"herramientas\"><\/span>Herramientas<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>La herramienta que principalmente necesitamos es el entorno de desarrollo (IDE) <strong>Visual Studio<\/strong>, disponible tanto para Windows como para Mac, que nos permitir\u00e1 desarrollar nuestras aplicaciones en .NET MAUI. Tambi\u00e9n necesitaremos un MAC, al que conectaremos remotamente (por ssh) desde el Visual Studio, para poder compilar y generar la versi\u00f3n de iOS de nuestra aplicaci\u00f3n. Opcionalmente, pero altamente recomendado, necesitaremos un tel\u00e9fono Android\/iPhone para probar nuestra app, o podemos usar el emulador que viene integrado con el Visual Studio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"instalacion-visual-studio\"><\/span>Instalaci\u00f3n Visual Studio<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Para empezar a programar aplicaciones en .NET MAUI lo primero que necesitamos es instalar el Visual Studio 2022 que puede descargarse desde el siguiente enlace: <a href=\"https:\/\/visualstudio.microsoft.com\/es\/downloads\/\">Descargar Visual Studio 2022<\/a><\/p>\n\n\n\n<p>Cuando nos pregunte sobre que complementos queremos instalar, tendremos que seleccionar \u201cDesarrollo de la interfaz de usuarios de aplicaciones multiplataforma .NET\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a class=\"lightbox\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Visual-Studio-para-.NET-MAUI.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1306\" height=\"539\" src=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Visual-Studio-para-.NET-MAUI.png\" alt=\"Visual Studio para .NET MAUI\" class=\"wp-image-7508\"\/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>En caso de ya tener Visual Studio instalado, podemos acceder a esta pantalla desde el men\u00fa superior \u201cHerramientas\u201d en la opci\u00f3n \u201cObtener herramientas y caracter\u00edsticas\u2026\u201d o ejecutando el instalador y modificando la instalaci\u00f3n del Visual Studio. Una vez instalado y configurado el Visual Studio, podemos crear nuestra primera aplicaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"mi-primera-app\"><\/span>Mi primera app<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Para empezar a crear nuestra primera aplicaci\u00f3n en .NET MAUI lo primero que tenemos que hacer es abrir el Visual Studio y seleccionar la opci\u00f3n de Crear un nuevo proyecto.<\/p>\n\n\n\n<p>Entre las opciones que nos da, tenemos que elegir \u201cAplicaci\u00f3n .NET MAUI\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a class=\"lightbox\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Desarrollo-de-apps-en-.NET-MAUI.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1478\" height=\"827\" src=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Desarrollo-de-apps-en-.NET-MAUI.png\" alt=\"Desarrollo de apps en .NET MAUI\" class=\"wp-image-7509\"\/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Una vez elegimos el tipo de proyecto, le ponemos un nombre que queramos y elegimos la carpeta en la que vamos a guardar el c\u00f3digo de nuestra aplicaci\u00f3n. En el \u00faltimo paso elegimos la versi\u00f3n de .NET que queremos utilizar y ya se nos crear\u00eda nuestro proyecto.<\/p>\n\n\n\n<p>.NET 6 es LTS (Long Term Support) mientras que .NET 7 es STS (Standard Term Support), la diferencia es que Microsoft ofrece 3 a\u00f1os de soporte a las versiones LTS y 18 meses de soporte a las versiones STS. Hay que tener en cuenta que Microsoft saca una versi\u00f3n de .NET cada a\u00f1o alternando entre TLS y STS, y el tipo de soporte que recibe la versi\u00f3n antes de decantarse por una u otra.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"estructura\"><\/span>Estructura<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>La plantilla de aplicaci\u00f3n .NET MAUI nos crea una aplicaci\u00f3n de ejemplo con la siguiente estructura.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Estructura-.NET-MAUI-desarrollo-de-aplicaciones.png\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"484\" src=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Estructura-.NET-MAUI-desarrollo-de-aplicaciones.png\" alt=\"Estructura .NET MAUI desarrollo de aplicaciones\" class=\"wp-image-7510\"\/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>La principal diferencia con Xamarin es que, en vez de tener un proyecto distinto por cada plataforma, en .NET MAUI tenemos un \u00fanico proyecto con una carpeta por plataforma, y para lanzar la aplicaci\u00f3n en una plataforma u otra en vez de establecer el proyecto correspondiente como proyecto de inicio, lo podemos hacer directamente eligiendo la plataforma de destino con la que vamos a lanzar la aplicaci\u00f3n desde la barra de herramientas.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a class=\"lightbox\" href=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Desarrollo-de-aplicaciones-en-.NET-MAUI-de-Microsoft.png\"><img loading=\"lazy\" decoding=\"async\" width=\"797\" height=\"407\" src=\"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-content\/uploads\/2023\/12\/Desarrollo-de-aplicaciones-en-.NET-MAUI-de-Microsoft.png\" alt=\"Desarrollo de aplicaciones en .NET MAUI de Microsoft\" class=\"wp-image-7511\"\/><\/a><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p>Si seleccionamos el Android y ejecutamos la aplicaci\u00f3n podremos ver la aplicaci\u00f3n que acabamos de crear. En caso de no tener un emulador disponible te pedir\u00e1 configurar uno e instalar el sdk de Android.<\/p>\n\n\n\n<p>Ahora solo queda empezar a programar y darle forma a tu aplicaci\u00f3n, te doy <strong>5 consejos pr\u00e1cticos<\/strong> para ayudarte en el desarrollo de aplicaciones con .NET MAUI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5-consejos-practicos-para-comenzar-en-el-desarrollo-de-aplicaciones-en-net-maui\"><\/span>5 Consejos pr\u00e1cticos para comenzar en el desarrollo de aplicaciones en .NET MAUI<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><h3><span class=\"ez-toc-section\" id=\"patron-mvvm\"><\/span>Patr\u00f3n MVVM<span class=\"ez-toc-section-end\"><\/span><\/h3><\/li>\n<\/ul>\n\n\n\n<p>El patr\u00f3n de dise\u00f1o MVVM (model \u2013 view \u2013 viewmodel) es una arquitectura de software que define como estructurar el c\u00f3digo del proyecto de forma que la interfaz quede, en lo m\u00e1ximo posible, desacoplada de la l\u00f3gica de la aplicaci\u00f3n. A efectos pr\u00e1cticos esto se resume en separar el c\u00f3digo del proyecto en tres apartados distintos.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>El modelo es la capa de dominio de la aplicaci\u00f3n, en esta capa solo se encuentra la informaci\u00f3n y no deber\u00eda contener ning\u00fan tipo de l\u00f3gica.<\/li>\n\n\n\n<li>La capa de la vista contiene la interfaz gr\u00e1fica, en esta capa se encuentran todas las vistas de la aplicaci\u00f3n y es la que se encarga de mostrar y recibir informaci\u00f3n del usuario.<\/li>\n\n\n\n<li>La capa vista-model (viewmodel) es la que conecta la vista con el modelo y contiene toda la l\u00f3gica de presentaci\u00f3n.<\/li>\n<\/ol>\n\n\n\n<p>Una de las principales ventajas de este patr\u00f3n de dise\u00f1o es que, al estar toda la l\u00f3gica en el viewmodel, se pueden crear test unitarios para probar la app sin tener que pasar por la interfaz.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><h3><span class=\"ez-toc-section\" id=\"community-toolkit\"><\/span>Community toolkit<span class=\"ez-toc-section-end\"><\/span><\/h3><\/li>\n<\/ul>\n\n\n\n<p>Como ya fue el caso con Xamarin, .NET MAUI tiene una gran comunidad que ha dejado a nuestra disposici\u00f3n una serie de elementos que suelen usarse com\u00fanmente en el desarrollo de aplicaciones y que est\u00e1n disponibles para que los usemos en nuestros proyectos.<\/p>\n\n\n\n<p>Los podemos descargar instalando el paquete NuGet \u201cCommunityToolkit.Maui\u201d y podemos encontrar los elementos que contiene y su documentaci\u00f3n en el siguiente enlace: <a href=\"https:\/\/learn.microsoft.com\/es-es\/dotnet\/communitytoolkit\/maui\/\">Documentaci\u00f3n NET MAUI Community Toolkit<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span style=\"color: revert; font-size: 24px; font-weight: 600;\">Servicios<\/span><\/li>\n<\/ul>\n\n\n\n<p>Una variante del patr\u00f3n MVVM es MVVMS, esta variante consiste en sacar trozos de c\u00f3digo que se repiten en varios viewmodel a otra capa del proyecto llamada Servicios, donde guardamos esta l\u00f3gica que luego puede ser usada por distintos viewmodel.<\/p>\n\n\n\n<p>Usar servicios es tambi\u00e9n bastante c\u00f3modo en pantallas con una gran cantidad de funcionalidad, ya que reducen considerablemente el tama\u00f1o de los viewmodel.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><h3><span class=\"ez-toc-section\" id=\"usar-pruebas-unitarias\"><\/span>Usar pruebas unitarias<span class=\"ez-toc-section-end\"><\/span><\/h3><\/li>\n<\/ul>\n\n\n\n<p>Las pruebas unitarias nos ayudan a encontrar los posibles errores en nuestra aplicaci\u00f3n, aprovechando una de las ventajas de usar el patr\u00f3n MVVM, podemos probar gran parte de la l\u00f3gica de nuestra aplicaci\u00f3n de forma m\u00e1s sencilla.<\/p>\n\n\n\n<p>Las pruebas unitarias deben de ir en un proyecto separado dentro de la misma soluci\u00f3n y siempre deben probar partes de c\u00f3digo independientes.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><h3><span class=\"ez-toc-section\" id=\"sigue-aprendiendo\"><\/span>Sigue aprendiendo<span class=\"ez-toc-section-end\"><\/span><\/h3><\/li>\n<\/ul>\n\n\n\n<p>.NET, XAML, C#, \u2026 son varias las tecnolog\u00edas que se utilizan con .NET MAUI sin contar la gran cantidad de complementos que tenemos disponibles como el community toolkit, todos ellos tienen una gran cantidad de cosas interesantes que puedes utilizar en tus aplicaciones y se van a\u00f1adiendo nuevas constantemente, solo tienes que descubrirlas.<\/p>\n\n\n\n<p>Si est\u00e1s pensando en desarrollar diferentes aplicaciones para tu negocio, podemos ayudarte. <a href=\"https:\/\/www.integratecnologia.es\/quieres-saber-mas-sobre-nuestros-servicios\">Contacta con nosotros<\/a> y pondremos a tu disposici\u00f3n lo \u00faltimo en tecnolog\u00eda y la experiencia de nuestro equipo.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde hace tiempo Microsoft ha trabajado para que las aplicaciones desarrolladas con .NET sean multiplataforma, con la salida de .NET Core se a\u00f1adi\u00f3 soporte para sistemas Linux y con la adici\u00f3n de Xamarin se pod\u00edan crear aplicaciones m\u00f3viles tanto para Android como para iOS. Con cada salida de .NET han ido mejorando la compatibilidad con [&hellip;]<\/p>\n","protected":false},"author":138,"featured_media":11234,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"om_disable_all_campaigns":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[365],"tags":[],"class_list":{"0":"post-7504","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tecnologia-para-la-empresa","8":"entry"},"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/posts\/7504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/users\/138"}],"replies":[{"embeddable":true,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/comments?post=7504"}],"version-history":[{"count":2,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/posts\/7504\/revisions"}],"predecessor-version":[{"id":12332,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/posts\/7504\/revisions\/12332"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/media\/11234"}],"wp:attachment":[{"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/media?parent=7504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/categories?post=7504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.integratecnologia.es\/la-innovacion-necesaria\/wp-json\/wp\/v2\/tags?post=7504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}