7. El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UI
Android C# UI
Shared C# Mobile
8. Enfoque tradicional Con Xamarin.Forms:
Más código compartido, nativo
iOS C# UI Windows C# UI
Android C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
9. Es un framework UI open source de Microsoft para
crear
Apps iOS, Android, & Windows con .NET
desde una base de código común.
10. Xamarin.Forms, ¿qué incluye?
✓ 50+ páginas, layouts, y controles
(code behind o XAML)
✓ Two-way data binding
✓ Navegación
✓ API de animaciones
✓ Dependency Service
✓ Messaging Center
Shared C# Backend
Shared UI Code
24. Xamarin Community Toolkit
The Xamarin Community Toolkit es una colección de los elementos más
comunes necesarios a la hora de trabajar desarrollando Apps móviles con
Xamarin.Forms y que los devs usan y replican de unos proyectos a otros.
Simplifica tareas comunes y ofrece nuevas posibilidades a la hora de
crear Apps.
La librería contiene:
• Behaviors
• Converters
• Effects
• Views
27. – .De .NET 5 a .NET 6
.NET Framework
Mono / Xamarin
.NET Core
.NET
Un SDK, un BCL, herramientas unificadas
Mobile & Desktop Cross-platform UI nativa
UI web Cross-platform
Investigaciones en la nube
Continuar mejorando la velocidad, tamaño, diagnóstico en
servicios Azure
La vision de un .NET
28. UI nativa multiplataforma
Proyecto único, base de código única
Implementar en múltiples dispositivos, móviles y de
escritorio
Evolución de Xamarin.Forms
Dirigido a .NET 6, disponible a finales del próximo
año
Crear interfaces de usuario atractivas para cualquier dispositivo
La evolución de Xamarin.Forms
.NET MAUI
.NET Platform
29. .NET MAUI
DESKTOP MOBILE
Windows
macOS
iOS
Android
.NET MAUI
File | New
• Multi-platform App UI (.NET)
CLI
• dotnet install maui
• dotnet new maui
Namespaces
• System.Maui (previously Xamarin.Forms)
• System.Device (previously Xamarin.
31. La arquitectura de .NET MAUI
Las API de Android, iOS, macOS y Windows están unificadas en una API abstracta que permite una
experiencia de desarrollo que permita escribir una vez y ejecutar en cualquier plataforma, al tiempo
que proporciona un acceso total a todos los aspectos de cada plataforma nativa.
App Code interactúa principalmente con .NET
MAUI API (1).
Según sea necesario, App Code puede acceder
directamente las API de la plataforma (2) a
través Handlers, etc.
.NET MAUI accede directamente las API de la
plataforma nativa (3).
Android iOS macOS Windows
Xamarin.Android Xamarin.iOS Xamarin.Mac WinUI
.NET MAUI
App Code
Mono Runtime WinRT
.NET 6 BCL
1
2
3
32. Xamarin.Forms 5 .NET MAUI
Platforms
Android API 19+ API 21+
iOS 9 – 15 10+
Linux (GTK#) Community Community
macOS Community Microsoft
Tizen Samsung Samsung
Windows UWP Microsoft
WPF Community
WinUI 3 Microsoft
WPF Community
Features
Renderers Tightly coupled to BindableObject Loosely coupled, no Core deps
App Models MVVM / RxUI MVVM / RxUI (MVU experimental)
Single Project No Yes
Multi-Targeting No Yes
Multi-Window No Yes
Pixel Drawn Controls No Yes
Misc
.NET X.iOS, X.Android, UWP, … .NET 6 +
Project System Franken-Proj SDK Style
dotnet CLI No Yes
Tools
Visual Studio 2019 Yes Yes
Visual Studio 2019 for Mac Yes Yes
Visual Studio Code No Experimental
33. • .NET 5.0 se ha lanzado en Noviembre 2020
• Xamarin.Forms 5.0 en Diciembre 2020
• .NET 6.0 MAUI + soporte a móvil previews con .NET 6 Preview 1
El roadmap de .NET
Dic 2019
.NET Core 3.1
LTS
Nov 2020
.NET 5.0
Nov 2021
.NET 6.0
LTS
Nov 2022
.NET 7.0
Nov 2023
.NET 8.0
LTS
34. Feature Description Status
Namespace changes to System.Maui Xamarin.Forms will become System.Maui Deferred
Handlers: Containers, Layouts, Views Hello performance and extensibility In Progress
Remove Obsoletes Housekeeping In Progress
Host Builder .NET unified experiences In Progress
Remove Data Pages You use it? Probably not. Why is it still there? Completed
Remove Themes See Data Pages Completed
Startup registry No more reflection Completed
Q4 2020 – Q1 2021
I’m also excited to announce .NET Multi-platform App UI, or just .NET MAUI.
<CLICK>
It is a cross-platform, native UI stack so you’ll get great performance on any device.
<CLICK>
It will allow you to build these apps for any device from a single codebase and project system
<CLICK>
And that includes desktop and mobile across operating systems, like Windows, MacOS, iOS and Android.
<CLICK>
This is the evolution of Xamarin technology, building on Xamarin.Forms and expanding that to cross-platform desktop scenarios.
<CLICK>
It will be part of the unified .NET in the .NET 6 timeframe with previews available end of this year. You’ll see us working on it in the open on GitHub.
Predictable releases helps everyone, not only the businesses that use .NET but also the open source projects that are built upon .NET.