Upload
roberto-taborda
View
331
Download
0
Embed Size (px)
DESCRIPTION
Aqui explico que debemos considerar para la arquitectura de aplicaicones moviles para varias plataformas. Tanto HTML5 como aplicaciones nativas utilizando frameworks que nos permitan esto como Xamarin.
Citation preview
Consideraciones para desarrollar Aplicaciones moviles para varias plataformasRoberto Alvarado Taborda
Arquitecto de Software .NET
Microsoft MVP C#
@RAlvaradoT / [email protected]
Que significa movil?
Que se pueda ver en cualquier dispositivo de mano?
Por ejem. Tablets, SmartPhones, en cualquiera de las plataformas moviles (demasiado ambicioso!).
En las plataformas mas populares: Android, iPad, iPhone, Windows Phone 8, Windows 8, Blackberry.
2 Razones por las cuales las aplicaciones moviles no estan talladas en piedra.
Primero: La industria de movilidad, nunca duerme, toma los requerimientos y las oportunidades y las mueve a un ritmo impresionante, asi que puede cambiar cualquier definicion actual de una solucion movil para incorporar aspectos en cuestion de 1 o 2 años, incluso de meses.
Segundo: Una solución móvil se aplica a un escenario de negocio particular. El escenario empresarial determina en última instancia los detalles de la solución y tecnologías,los patrones de diseño y plataformas que manejaran los desarrolladores y arquitectos de software.
Por ejemplo: puede que necesites añadir algunos applets de facebook o aplicaciones de escritorio multiplataforma si la empresa tiene interaccion con las redes sociales.
Como abordar el desarrollo de una aplicacion movil ?
La aplicacion solo va a mostrar datos?Vamos a colocar un portal en un App para un dispositivo?
Es una Aplicacion nueva?Con que tecnologia vas a abordarla, en cual estas pensando?
Tienes la experiencia en la tecnologia?HTML5, CCS3, JavaScript?Aplicaciones nativas: Java, Xcode, XAML y C# ?
Cual plataforma? varias? Por cual vas a iniciar?
Necesito guardar datos locales?Que motor de base de datos?
Cual tecnologia para abordar el desarrollo?
Pros y Contras desarrollo HTML5, CSS3 y JavaScript
La facilidad de HTML5, la versatilidad de CSS3, la reutilizacion del 85% al 95% del código JavaScript
La utilizacion de frameworks javascript como jQuery, KendoUI, y otros.
La curva de aprendizaje del lenguaje javascript por parte del equipo de desarrollo
La curva de aprendizaje de CSS3 del equipo de desarrollo
Hay probabilidad que lo que te funcione de un framework, por ejemplo jQuery, en Android, no funcione para iOS ni para Windows Phone.
Hay riesgo de tener que utilizar una libreria especifcia para cada plataforma diferente, esto incrementa la complejidad del mantenimiento.
Es mas complejo acceder al hardware del dispositivo desde javascript.
Implementacion del estandar HTML5 en los navegadores de cada plataforma.
Pros y Contras desarrollos nativos
Acceso a todo el hardware del dispositivo (camara, lanzamiento de llamadas, etc.)
Aplicaciones mas rapidas, tienen mejor desempeño que Apps HTML5.
Si conozco el lenguaje de programacion minimize la curva de aprendizaje del mismo.
Si no conozco el lenguaje Java ( Android), Objetive C (iOS), C#, VB.NET, C++, XAML (Windows Phone), la curva de aprendizaje hay que tenerla en cuenta.
Conocer el patron de la UI de cada plataforma que es diferente, los controles UI no son iguales.
MVC Android e iOS MVVM Windows Phone, Windows 8
Y el Cross Platform?
Existen herramientas que me permiten desarrollar entre un 70% y un 80% (Apreciaciones de Roberto Alvarado) para varias plataformas
Tienen costo adicional de la herramienta para el proyecto
Hay tanto para HTML5 como para .NET C# Herramientas: Telerik DevCraft : www.Telerik.com DevExpress DevExtreme (HTML5) : www.devexpress.com
Xamarin (Nativo Android, iOS, Windows Phone) con C#: www.xamarin.com
PhoneGap(HTML5, CSS3, javaScript) www.phonegap.com
Conclusiones
Defina bien el alcance de su AppEs corporativa o es de consumoSeleccione la plataforma de desarrollo desde el principio. Es muy importante!
Seleccione cual de las plataformas es la que va a lanzar primero.
GRACIAS!!!
Roberto Alvarado
Director Comunidad de desarrolladores profesionales BDotNet
www.meetup.com/BDotNet/
Microsoft MVP C#
Email: [email protected]
Twitter : @RAlvaradoT