SlideShare una empresa de Scribd logo
Luis Beltrán
• Investigador/estudiante en Tomas Bata
University in Zlín, República Checa
• Docente en Tecnologico Nacional de
Mexico en Celaya, Mexico
• Microsoft MVP en IA y Tecnologías de
Desarrollador
luis@luisbeltran.mx
@darkicebeam
Nuevos retos
Más dispositivos Plataformas emergentes Datos e Inteligencia
Enfoque tradicional de desarrollo (SILO)
Tradicionalmente, las aplicaciones tienen bases de código separadas escritas en su
lenguaje nativo, construidas usando herramientas nativas e incorporando
características específicas de plataforma
Ventajas
Las aplicaciones tradicionales siguen las
guías de experiencia de usuario de cada
plataforma: estilo de navegación, diseño de
interfaces, configuraciones, etc.
Los usuarios saben qué esperar y cómo
utilizar una app de forma natural.
Desventajas
El desarrollo tradicional de apps toma más tiempo, requiere múltiples equipos,
múltiples entornos de desarrollo y no se puede compartir código.
Tecnologías cross-platform
“cross-platform”: Tecnología que permite escribir
lógica de negocios y crear interfaces de usuario bajo
un framework de trabajo común para construir
aplicaciones para iOS, Android y posiblemente
Windows.
“Write once, run anywhere”
Opciones actuales
Flutter React Native Xamarin
Recomendaciones
• Elige la tecnología cross-platform que más se ajuste a tus necesidades, stack, conocimientos,
reutilización de código.
• No elijas cross-platform si el equipo de desarrollo (colaboradores) no tiene los
conocimientos requeridos.
• Entender que cross-platform no es ideal para todos los escenarios.
• Pon atención especial a tu proveedor de servicios.
• Experimenta cada plataforma de primera mano.
Consideraciones
Cross-platform NO sustituye el aprendizaje de los patrones de cada plataforma
Cross-platform NO es la solución para todo.
Ciertos aspectos deben seguirse gestionando:
Acceso offline
Permisos
Almacenamiento
.NET: La plataforma para construir lo que necesites
Desktop Web Cloud Mobile Gaming IoT AI
.NET
Xamarin
Una plataforma de aplicaciones open source de Microsoft para construir apps
iOS, Android, macOS, Windows, watchOS, & tvOS
modernas y de alto rendimiento con .NET.
Xamarin.Forms
Un framework mobile para UI
open source de Microsoft para
construir apps iOS, Android & Windows con .NET a partir de
una base única de código compartido.
Xamarin + Xamarin.Forms
Xamarin.Forms
Enfoque Tradicional
iOS C# UI Windows C# UI
Android C# UI
Lógica de C# (Shared) Lógica de C# (Shared)
Xamarin.Forms
Base de código compartido • Acceso 100% a APIs nativos • Alto
desempeño
Xamarin.iOS
MapKit UIKit SiriKit ARKit CoreML
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Todo lo que puedes hacer en Swift y
Objective-C para iOS, lo puedes
programar con Xamarin usando C#
API cubierto al 100% con el beneficio adicional de
las APIs de .NET
Xamarin.Android
Fingerprint Bluetooth Picture-in-Picture Geolocation NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Todo lo que puedes hacer en Android y
Kotlin para Android, lo puedes
programar con Xamarin usando C#
API cubierto al 100% con el beneficio adicional de
las APIs de .NET
APIs de Windows
Windows.Media Windows.Networking Windows.Storage Windows.Foundation Windows.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Las apps de Windows son construidas en
C# usando las APIs nativas
Xamarin.Forms
Xamarin.Forms permite compartir todavía más
elementos que en Xamarin Tradicional, dado
que existe una definición de UI común.
Esto significa que puedes construir interfaces
de usuario nativas para Android, iOS y
Windows a partir de una base única de código
compartido.
Herramientas
Utilizas Visual Studio (for Windows/Mac), C# + XAML y las bibliotecas de .NET
para construir aplicaciones de Xamarin.
Prueba tus aplicaciones:
Emuladores o dispositivos físicos
Requisitos de instalación
Xamarin.iOS
• Equipo Mac (o acceso remoto)
• Xcode
• SDK de iOS
Xamarin.Android
• Equipo Windows 10 o Mac
• SDK de Android
Hardware
• 8 GB de RAM (mínimo)
• Soporte a virtualización (en caso de usar emuladores)
• Procesador Core i5 (mínimo)
• Recomendable disco SSD
Estructura de una solución Xamarin.Forms
Creando la UI de la app
La Interfaz de Usuario (UI) de la aplicación está definida en términos de
páginas (Pages) y vistas (Views).
Views son los controles
de UI con los que el
usuario interactúa
Page representa una pantalla única
que se muestra en la aplicación
Xamarin.Forms Pages
Page es una clase abstracta utilizada para definir una pantalla única de
contenido.
Content MasterDetail Navigation Tabbed Carousel
Content Page
Muestra un solo
elemento en
pantalla
Xamarin.Forms Views
View es la clase base para todos los
controles visuales, con una gran cantidad de
elementos estándar presentes.
Xamarin.Forms Views
Label
Utiliza un Label para mostrar bloques de texto de solo lectura.
Image
Permite mostrar una imagen a partir de un nombre de archivo, ruta
URL, ruta física del dispositivo, recurso embebido o stream.
<Image Source="waterfront.jpg" />
Activity Indicator
CollectionView
• CollectionView es una vista flexible y eficaz para
presentar listas de datos que tienen especificaciones
de diseño diferentes.
• Un CollectionView se rellena con datos estableciendo
el valor de la propiedad ItemsSource con cualquier
colección que implemente la interfaz IEnumerable.
• La apariencia de cada elemento de la lista se define
asignando un DataTemplate al ItemTemplate.
<CollectionView ItemsSource="{Binding Monkeys}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Image Grid.RowSpan="2"
Source="{Binding ImageUrl}” Aspect="AspectFill"
HeightRequest="60” WidthRequest="60" />
<Label Grid.Column="1"
Text="{Binding Name}” FontAttributes="Bold" />
<Label Grid.Row="1"
Grid.Column="1” Text="{Binding Location}"
FontAttributes="Italic” VerticalOptions="End" />
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
...
</CollectionView>
Acomodando la UI mediante Layouts
• Los Layouts en Xamarin.Forms son contenedores que
permiten dar una estructura a la UI (tamaño y
posición).
• Los Layouts admiten uno o más Views, conocidos como
“hijos”.
• En lugar de especificar posiciones con coordenadas
(pixeles, dips, etc.), utilizas los contenedores de layout
para controlar cómo se posicionan los views con
respecto a los demás.
• Esta estrategia promueve un diseño adaptable, que no
se ve afectado por dimensiones y resoluciones.
Grid
Grid es un panel de diseño utilizado para crear renglones y columnas,
donde los elementos se posicionan en celdas (indicando la columna y
renglón específico), además de que pueden abarcar más de una celda
(span).
Especifica el
renglón / columna
Especifica el span
Ejemplo de interfaz de usuario en
Xamarin.Forms
Patrones de separación de presentación
Son patrones y reglas utilizadas para ayudar a los desarrolladores a
dividir su código en capas lógicas, diseñadas específicamente para
separar el código de la interfaz de usuario del código de lógica de
negocios.
Patrones comunes de separación de
presentación
Elegir un patrón de presentación para tu aplicación depende de los
APIs disponibles para la plataforma de desarrollo y la preferencia
personal del desarrollador.
MVVM
MVVM es una variante de MVC que usa una
infraestructura de enlace de datos (data
binding) para conectar los controladores (aquí
llamados ViewModels) a las vistas.
Cada capa únicamente debería tener
conocimiento directo acerca de la capa
debjo de ella.
Model
El Modelo representa los datos de aplicación.
View
La Vista presenta la información al usuario por medio de una interfaz
específica de plataforma.
ViewModel
El ViewModel proporciona una representación centrada en la vista de
los datos a mostrar.
Expone propiedades
enlazables e
implementa
notificaciones en los
cambios de las
propiedades
Por lo general hay un
Model por cada
ViewModel (relación
1:1)
Conectando View y ViewModel
Asignamos una instancia de ViewModel en el BindingContext de la
View para conectar las propiedades expuestas por el ViewModel y que
estén disponibles para ser usadas en la View.
<ContentPage ... xmlns:local="clr-
namespace:DemoApp">
<ContentPage.BindingContext>
<local:MainViewModel />
</ContentPage.BindingContext>
...
</ContentPage>
Para enlazar una propiedad del ViewModel en la View, utilizamos Data
Binding
Demo
https://github.com/icebeam7/Back2LearnApp
Registro al evento
https://www.eventbrite.com.mx/e/global-ai-back-together-tickets-175537636797
Global AI Back Together: 19 al 21 de Octubre
https://www.eventbrite.com.mx/e/nenufar-ep-3-tickets-175014963467
Nenúfar Ep. 3: 23 de Octubre
¡Gracias por tu atención!
https://forms.office.com/r/dLcedct6LD
¿Cómo estuvo mi presentación?
Luis Beltrán
about.me/luis-beltran

Más contenido relacionado

La actualidad más candente

Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_siFundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
Alejandro Ferrer
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
Jose Ancianis
 
Trabajo de fundamentos de visual basic
Trabajo de fundamentos de visual basicTrabajo de fundamentos de visual basic
Trabajo de fundamentos de visual basic
Marielys Artigas
 
Usos del visual basic
Usos del visual basicUsos del visual basic
Usos del visual basic
Vladimir Maza
 
Presentacion de Visual Basic
Presentacion de Visual BasicPresentacion de Visual Basic
Presentacion de Visual Basic
Francheska Parras
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchez
Jairo Bermudez
 
Programación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosProgramación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos Básicos
Cristian Gonzalez
 
FUNDAMENTOS DE VISUAL BASIC
FUNDAMENTOS DE VISUAL BASICFUNDAMENTOS DE VISUAL BASIC
FUNDAMENTOS DE VISUAL BASIC
Benny Jose
 
Luis jose coronel num 42
Luis jose coronel num 42Luis jose coronel num 42
Luis jose coronel num 42
Luis coronel Luis coronel
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
jhoffry dekentai
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando Espinoza
Marvel ico
 
Fundamentos de Visual Basic Gabriel Araujo
Fundamentos de Visual Basic   Gabriel AraujoFundamentos de Visual Basic   Gabriel Araujo
Fundamentos de Visual Basic Gabriel Araujo
GabrielAPSM
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
Byron Paguay
 
Guia 0 vb induccion
Guia 0 vb    induccionGuia 0 vb    induccion
Guia 0 vb induccion
sandraquiroga75
 
Windows Phone - Sesión 2 - SenaGeeks
Windows Phone - Sesión 2 - SenaGeeksWindows Phone - Sesión 2 - SenaGeeks
Windows Phone - Sesión 2 - SenaGeeks
Avanet
 
Instituto universitario politecnico
Instituto universitario politecnicoInstituto universitario politecnico
Instituto universitario politecnico
KarolayFinol
 
Pressman capitulo 15
Pressman capitulo 15Pressman capitulo 15
Pressman capitulo 15
supito01
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
Juan Carlos Prieto
 
27754 ibm wp_native_web_or_hybrid_2846853
27754 ibm wp_native_web_or_hybrid_284685327754 ibm wp_native_web_or_hybrid_2846853
27754 ibm wp_native_web_or_hybrid_2846853
Carlos Andrés Hernández Cabrera
 
Visual basic
Visual basicVisual basic
Visual basic
Faride Barrios
 

La actualidad más candente (20)

Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_siFundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
Fundamentos del entorno_de_trabajo_de_visual_basic_y_del_lenguaje_en_si
 
Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0Fundamentos de visual basic 6.0
Fundamentos de visual basic 6.0
 
Trabajo de fundamentos de visual basic
Trabajo de fundamentos de visual basicTrabajo de fundamentos de visual basic
Trabajo de fundamentos de visual basic
 
Usos del visual basic
Usos del visual basicUsos del visual basic
Usos del visual basic
 
Presentacion de Visual Basic
Presentacion de Visual BasicPresentacion de Visual Basic
Presentacion de Visual Basic
 
Fundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchezFundamentos de visual basico por vicente sanchez
Fundamentos de visual basico por vicente sanchez
 
Programación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos BásicosProgramación en Visual Basic - Conceptos Básicos
Programación en Visual Basic - Conceptos Básicos
 
FUNDAMENTOS DE VISUAL BASIC
FUNDAMENTOS DE VISUAL BASICFUNDAMENTOS DE VISUAL BASIC
FUNDAMENTOS DE VISUAL BASIC
 
Luis jose coronel num 42
Luis jose coronel num 42Luis jose coronel num 42
Luis jose coronel num 42
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
 
Fernando Espinoza
Fernando EspinozaFernando Espinoza
Fernando Espinoza
 
Fundamentos de Visual Basic Gabriel Araujo
Fundamentos de Visual Basic   Gabriel AraujoFundamentos de Visual Basic   Gabriel Araujo
Fundamentos de Visual Basic Gabriel Araujo
 
Visual Studio 2012
Visual Studio 2012Visual Studio 2012
Visual Studio 2012
 
Guia 0 vb induccion
Guia 0 vb    induccionGuia 0 vb    induccion
Guia 0 vb induccion
 
Windows Phone - Sesión 2 - SenaGeeks
Windows Phone - Sesión 2 - SenaGeeksWindows Phone - Sesión 2 - SenaGeeks
Windows Phone - Sesión 2 - SenaGeeks
 
Instituto universitario politecnico
Instituto universitario politecnicoInstituto universitario politecnico
Instituto universitario politecnico
 
Pressman capitulo 15
Pressman capitulo 15Pressman capitulo 15
Pressman capitulo 15
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
27754 ibm wp_native_web_or_hybrid_2846853
27754 ibm wp_native_web_or_hybrid_284685327754 ibm wp_native_web_or_hybrid_2846853
27754 ibm wp_native_web_or_hybrid_2846853
 
Visual basic
Visual basicVisual basic
Visual basic
 

Similar a Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplataforma.pptx

Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Luis Beltran
 
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Luis Beltran
 
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptxCOECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Luis Beltran
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller Xamarin
Javier Suárez Ruiz
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
Luis Fernando Aguas Bucheli
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
Luis Fernando Aguas Bucheli
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryj
yoshimaryj
 
Paola 1001 jt
Paola 1001 jtPaola 1001 jt
Paola 1001 jt
paolatublog
 
Paola
PaolaPaola
Paola
PaolaPaola
Paola
PaolaPaola
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
paolatublog
 
Paola
PaolaPaola
Introducción a Visual Studio .net
Introducción a Visual Studio .netIntroducción a Visual Studio .net
Introducción a Visual Studio .net
Marco Andrés Camargo Cuitiva
 
Semana 02 Aplicacion Movil.pptx
Semana 02 Aplicacion Movil.pptxSemana 02 Aplicacion Movil.pptx
Semana 02 Aplicacion Movil.pptx
ErickCarlos14
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
Cesar Escalante
 
DAM-S1.pptx
DAM-S1.pptxDAM-S1.pptx
Aplicaciones Net
Aplicaciones NetAplicaciones Net
Aplicaciones Net
Nelson Rincon
 
Aplicaciones Net
Aplicaciones NetAplicaciones Net
Aplicaciones Net
Nelson Rincon
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdf
Luis775803
 

Similar a Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplataforma.pptx (20)

Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
 
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
 
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptxCOECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller Xamarin
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Cliente servidoryj
Cliente servidoryjCliente servidoryj
Cliente servidoryj
 
Paola 1001 jt
Paola 1001 jtPaola 1001 jt
Paola 1001 jt
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
 
Paola
PaolaPaola
Paola
 
Introducción a Visual Studio .net
Introducción a Visual Studio .netIntroducción a Visual Studio .net
Introducción a Visual Studio .net
 
Semana 02 Aplicacion Movil.pptx
Semana 02 Aplicacion Movil.pptxSemana 02 Aplicacion Movil.pptx
Semana 02 Aplicacion Movil.pptx
 
Articulo tipos de ide y ajax control toolkit
Articulo   tipos de ide y ajax control toolkitArticulo   tipos de ide y ajax control toolkit
Articulo tipos de ide y ajax control toolkit
 
DAM-S1.pptx
DAM-S1.pptxDAM-S1.pptx
DAM-S1.pptx
 
Aplicaciones Net
Aplicaciones NetAplicaciones Net
Aplicaciones Net
 
Aplicaciones Net
Aplicaciones NetAplicaciones Net
Aplicaciones Net
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdf
 

Más de Luis Beltran

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
Luis Beltran
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
Luis Beltran
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
Luis Beltran
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
Luis Beltran
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
Luis Beltran
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
Luis Beltran
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
Luis Beltran
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
Luis Beltran
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
Luis Beltran
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Luis Beltran
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Luis Beltran
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
Luis Beltran
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Luis Beltran
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
Luis Beltran
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Luis Beltran
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Luis Beltran
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
Luis Beltran
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Luis Beltran
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
Luis Beltran
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Luis Beltran
 

Más de Luis Beltran (20)

AI for Accessibility.pptx
AI for Accessibility.pptxAI for Accessibility.pptx
AI for Accessibility.pptx
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
03 GlobalAIBootcamp2020Lisboa-Rock, Paper, Scissors.pptx
 
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
BI LATAM Summit 2022 - Creación de soluciones de automatización serverless-...
 
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdfCEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
CEIAAIT - Fundamentos y Aplicaciones de Deep Learning.pdf
 
Computo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptxComputo en la Nube con Azure - AI Gaming Panama.pptx
Computo en la Nube con Azure - AI Gaming Panama.pptx
 
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
5StarsConf - Serverless Machine Learning con Azure Functions y ML.NET .pptx
 
ACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptxACW - Azure Speaker Recognition Biometria de Voz.pptx
ACW - Azure Speaker Recognition Biometria de Voz.pptx
 
UNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptxUNICABA - Azure Machine Learning.pptx
UNICABA - Azure Machine Learning.pptx
 
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
Azure Talks Bolivia - Aumente la confiabilidad de su negocio con Azure Anomal...
 
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptxLatino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
Latino NET - Integrando WhatsApp en nuestras apps .NET con Twilio.pptx
 
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptxNOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
NOVA - Enriquecimiento de IA con Azure Cognitive Search.pptx
 
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
Netcoreconf 2021 Realidad mixta en apps móviles con Azure Spatial Anchors y ...
 
ATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptxATG Puebla - El cementerio de Microsoft.pptx
ATG Puebla - El cementerio de Microsoft.pptx
 
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
Data-Saturday-10-Sofia-2021 Azure Video Indexer- Advanced data extraction fro...
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Real NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptxReal NET Docs Show - Serverless Machine Learning v3.pptx
Real NET Docs Show - Serverless Machine Learning v3.pptx
 
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptxSesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
Sesion 5 - Eficiencia del Rendimiento - Well Architected Backstage Tour.pptx
 
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
XamarinExpertDay - Creating PDF files in mobile apps with PdfSharpCore and Mi...
 
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptxLatam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
Latam Space Week - Clasificación de rocas espaciales por medio de IA.pptx
 

Último

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 

Último (20)

computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 

Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplataforma.pptx

  • 1.
  • 2. Luis Beltrán • Investigador/estudiante en Tomas Bata University in Zlín, República Checa • Docente en Tecnologico Nacional de Mexico en Celaya, Mexico • Microsoft MVP en IA y Tecnologías de Desarrollador luis@luisbeltran.mx @darkicebeam
  • 3. Nuevos retos Más dispositivos Plataformas emergentes Datos e Inteligencia
  • 4. Enfoque tradicional de desarrollo (SILO) Tradicionalmente, las aplicaciones tienen bases de código separadas escritas en su lenguaje nativo, construidas usando herramientas nativas e incorporando características específicas de plataforma
  • 5. Ventajas Las aplicaciones tradicionales siguen las guías de experiencia de usuario de cada plataforma: estilo de navegación, diseño de interfaces, configuraciones, etc. Los usuarios saben qué esperar y cómo utilizar una app de forma natural.
  • 6. Desventajas El desarrollo tradicional de apps toma más tiempo, requiere múltiples equipos, múltiples entornos de desarrollo y no se puede compartir código.
  • 7. Tecnologías cross-platform “cross-platform”: Tecnología que permite escribir lógica de negocios y crear interfaces de usuario bajo un framework de trabajo común para construir aplicaciones para iOS, Android y posiblemente Windows. “Write once, run anywhere”
  • 9. Recomendaciones • Elige la tecnología cross-platform que más se ajuste a tus necesidades, stack, conocimientos, reutilización de código. • No elijas cross-platform si el equipo de desarrollo (colaboradores) no tiene los conocimientos requeridos. • Entender que cross-platform no es ideal para todos los escenarios. • Pon atención especial a tu proveedor de servicios. • Experimenta cada plataforma de primera mano.
  • 10. Consideraciones Cross-platform NO sustituye el aprendizaje de los patrones de cada plataforma Cross-platform NO es la solución para todo. Ciertos aspectos deben seguirse gestionando: Acceso offline Permisos Almacenamiento
  • 11. .NET: La plataforma para construir lo que necesites Desktop Web Cloud Mobile Gaming IoT AI .NET
  • 12. Xamarin Una plataforma de aplicaciones open source de Microsoft para construir apps iOS, Android, macOS, Windows, watchOS, & tvOS modernas y de alto rendimiento con .NET.
  • 13. Xamarin.Forms Un framework mobile para UI open source de Microsoft para construir apps iOS, Android & Windows con .NET a partir de una base única de código compartido.
  • 14. Xamarin + Xamarin.Forms Xamarin.Forms Enfoque Tradicional iOS C# UI Windows C# UI Android C# UI Lógica de C# (Shared) Lógica de C# (Shared) Xamarin.Forms Base de código compartido • Acceso 100% a APIs nativos • Alto desempeño
  • 15. Xamarin.iOS MapKit UIKit SiriKit ARKit CoreML System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C# Todo lo que puedes hacer en Swift y Objective-C para iOS, lo puedes programar con Xamarin usando C# API cubierto al 100% con el beneficio adicional de las APIs de .NET
  • 16. Xamarin.Android Fingerprint Bluetooth Picture-in-Picture Geolocation NFC System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C# Todo lo que puedes hacer en Android y Kotlin para Android, lo puedes programar con Xamarin usando C# API cubierto al 100% con el beneficio adicional de las APIs de .NET
  • 17. APIs de Windows Windows.Media Windows.Networking Windows.Storage Windows.Foundation Windows.Devices System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C# Las apps de Windows son construidas en C# usando las APIs nativas
  • 18. Xamarin.Forms Xamarin.Forms permite compartir todavía más elementos que en Xamarin Tradicional, dado que existe una definición de UI común. Esto significa que puedes construir interfaces de usuario nativas para Android, iOS y Windows a partir de una base única de código compartido.
  • 19. Herramientas Utilizas Visual Studio (for Windows/Mac), C# + XAML y las bibliotecas de .NET para construir aplicaciones de Xamarin.
  • 20.
  • 21. Prueba tus aplicaciones: Emuladores o dispositivos físicos
  • 22. Requisitos de instalación Xamarin.iOS • Equipo Mac (o acceso remoto) • Xcode • SDK de iOS Xamarin.Android • Equipo Windows 10 o Mac • SDK de Android Hardware • 8 GB de RAM (mínimo) • Soporte a virtualización (en caso de usar emuladores) • Procesador Core i5 (mínimo) • Recomendable disco SSD
  • 23. Estructura de una solución Xamarin.Forms
  • 24. Creando la UI de la app La Interfaz de Usuario (UI) de la aplicación está definida en términos de páginas (Pages) y vistas (Views). Views son los controles de UI con los que el usuario interactúa Page representa una pantalla única que se muestra en la aplicación
  • 25. Xamarin.Forms Pages Page es una clase abstracta utilizada para definir una pantalla única de contenido. Content MasterDetail Navigation Tabbed Carousel
  • 26. Content Page Muestra un solo elemento en pantalla
  • 27. Xamarin.Forms Views View es la clase base para todos los controles visuales, con una gran cantidad de elementos estándar presentes.
  • 29. Label Utiliza un Label para mostrar bloques de texto de solo lectura.
  • 30. Image Permite mostrar una imagen a partir de un nombre de archivo, ruta URL, ruta física del dispositivo, recurso embebido o stream. <Image Source="waterfront.jpg" />
  • 32. CollectionView • CollectionView es una vista flexible y eficaz para presentar listas de datos que tienen especificaciones de diseño diferentes. • Un CollectionView se rellena con datos estableciendo el valor de la propiedad ItemsSource con cualquier colección que implemente la interfaz IEnumerable. • La apariencia de cada elemento de la lista se define asignando un DataTemplate al ItemTemplate.
  • 33. <CollectionView ItemsSource="{Binding Monkeys}"> <CollectionView.ItemTemplate> <DataTemplate> <Grid Padding="10"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <Image Grid.RowSpan="2" Source="{Binding ImageUrl}” Aspect="AspectFill" HeightRequest="60” WidthRequest="60" /> <Label Grid.Column="1" Text="{Binding Name}” FontAttributes="Bold" /> <Label Grid.Row="1" Grid.Column="1” Text="{Binding Location}" FontAttributes="Italic” VerticalOptions="End" /> </Grid> </DataTemplate> </CollectionView.ItemTemplate> ... </CollectionView>
  • 34. Acomodando la UI mediante Layouts • Los Layouts en Xamarin.Forms son contenedores que permiten dar una estructura a la UI (tamaño y posición). • Los Layouts admiten uno o más Views, conocidos como “hijos”. • En lugar de especificar posiciones con coordenadas (pixeles, dips, etc.), utilizas los contenedores de layout para controlar cómo se posicionan los views con respecto a los demás. • Esta estrategia promueve un diseño adaptable, que no se ve afectado por dimensiones y resoluciones.
  • 35.
  • 36. Grid Grid es un panel de diseño utilizado para crear renglones y columnas, donde los elementos se posicionan en celdas (indicando la columna y renglón específico), además de que pueden abarcar más de una celda (span).
  • 39. Ejemplo de interfaz de usuario en Xamarin.Forms
  • 40. Patrones de separación de presentación Son patrones y reglas utilizadas para ayudar a los desarrolladores a dividir su código en capas lógicas, diseñadas específicamente para separar el código de la interfaz de usuario del código de lógica de negocios.
  • 41. Patrones comunes de separación de presentación Elegir un patrón de presentación para tu aplicación depende de los APIs disponibles para la plataforma de desarrollo y la preferencia personal del desarrollador.
  • 42. MVVM MVVM es una variante de MVC que usa una infraestructura de enlace de datos (data binding) para conectar los controladores (aquí llamados ViewModels) a las vistas. Cada capa únicamente debería tener conocimiento directo acerca de la capa debjo de ella.
  • 43. Model El Modelo representa los datos de aplicación.
  • 44. View La Vista presenta la información al usuario por medio de una interfaz específica de plataforma.
  • 45. ViewModel El ViewModel proporciona una representación centrada en la vista de los datos a mostrar. Expone propiedades enlazables e implementa notificaciones en los cambios de las propiedades Por lo general hay un Model por cada ViewModel (relación 1:1)
  • 46. Conectando View y ViewModel Asignamos una instancia de ViewModel en el BindingContext de la View para conectar las propiedades expuestas por el ViewModel y que estén disponibles para ser usadas en la View. <ContentPage ... xmlns:local="clr- namespace:DemoApp"> <ContentPage.BindingContext> <local:MainViewModel /> </ContentPage.BindingContext> ... </ContentPage>
  • 47. Para enlazar una propiedad del ViewModel en la View, utilizamos Data Binding
  • 49.
  • 52. ¡Gracias por tu atención! https://forms.office.com/r/dLcedct6LD ¿Cómo estuvo mi presentación? Luis Beltrán about.me/luis-beltran