Experiencies and metrics of Xamarin.forms

Experiencies and metrics of Xamarin.forms

Introduction to Xamarin.Forms

It makes it possible to build native applications for  iOS, Android and Windows, sharing the (C#) logic and (XAML o C#) user interface.

Xamarin forms

The CRM application in the previous image shares more than 96% of code between platforms (source: www.xamarin.com/forms)).

Shared graphic interface

Xamarin.Forms makes it possible to abstract the development of the graphic interface and share it with various platforms with only one implementation.

codigo xamarin forms

Specific implementation for platforms

The main advantage of Xamarin.Forms lays in the possibility of sharing the graphic interface between the different mobile platforms, but from this advantage stems its disadvantage:

How to cover a specific requirement for a platform in particular or a requirement not supported by Xamarin.Forms?

To do we need to make a specific implementation for one or every one of the mobile platforms. Reaching this point is when the project starts to have a smaller amount of shared code between the platforms and a greater effort is required for the development and maintenance of the project.

Experience with Xamarin. Forms

Here we present the projects that Arkano has implemented with Xamarin.Forms. From these projects we will enumerate the functionalities developed and the number of codes that could be shared in each of them.

Entertainment company project.

  • The mobile application was focused on Android and iOS platforms, but also for Windows Phone.
  • Sending of push notifications to independent users globally.
  • Distribution and error report with Hockeyapp.
  • Access page in which some user’s personal information is requested.
  • App configuration with preference storage.
  • Card games with emphasis on graphic design for event s to interact with the user.
  • Implementation of user menu and native tabs for each platform.
  • List if items with generic text and image, for instance, for the listing of branches.
  • Generic detail page with images, title, description, list of characteristics, such as details of a branch.

tabla1

iGestock for a forestry company

  • The app was focused on the WinPhone platform, but at the same time it was done for Android and iOS
  • Sending of push notifications to individual users.
  • Distribution and error report with Hockeyapp.
  • Storage of data in SqLife to work offline.
  • Synchronization of data with Azure Mobile Apps.
  • User login with Azure Active Directory

tabla2



Introducción a Xamarin.Forms

Permite construir aplicaciones nativas para las plataformas iOS, Android y Windows, compartiendo la lógica (C#) e interfaz de usuario (XAML o C#).

La aplicación CRM de la imagen anterior comparte más del 96% de código entre las plataformas (fuente www.xamarin.com/forms).

Interfaz gráfica compartida

Xamarin.Forms brinda la posibilidad de abstraer el desarrollo de la interfaz gráfica y compartirla para varias plataformas con una única implementación.

Implementación específica para Plataformas

La principal ventaja de Xamarin.Forms radica en la posibilidad de compartir la interfaz gráfica entre las distintas plataformas móviles, pero de esta ventaja surge su desventaja:

Como cubrir un requerimiento específico para una plataforma en particular o un requerimiento que no es soportado por Xamarin.Forms?

Para esto se necesita realizar una implementación específica para una o cada una de las plataformas móviles. Alcanzado este punto, es cuando el proyecto comienza a tener menor cantidad de código compartido entre las plataformas y se requiere mayor esfuerzo para el desarrollo y mantenimiento del proyecto.

Experiencia con Xamarin.Forms

A continuación, se presentan los proyectos que Arkano ha implementado con Xamarin.Forms. De estos proyectos se va a enumerar las funcionalidades que se desarrollaron y la cantidad de código que se pudo compartir en cada uno.

Proyecto empresa de entretenimientos:

  • Se enfocó la aplicación móvil para las plataformas Android y iOS, pero a su vez se realizó la implementación para Windows Phone.
  • Envió de notificaciones push a usuarios independientes o de manera global.
  • Distribución y reporte de errores con Hockeyapp.
  • Página de acceso en la que se requieren algunos datos personales del usuario.
  • Configuración de la aplicación con almacenamiento de preferencias.
  • Juego de cartas con énfasis en el diseño gráfico y eventos para interactuar con el usuario.
  • Implementación de menú de usuario y tabs nativos a cada plataforma.
  • Listado de ítems con texto e imagen genérico, por ejemplo, para listado de sucursales.
  • Página de detalles genérica con imágenes, título, descripción, listado de características, por ejemplo, detalles de una sucursal.

Proyecto iGestock para compañía forestal:

  • Se enfocó la aplicación para la plataforma WinPhone, pero a su vez se realizó la implementación para Android y iOS.
  • Envió de notificaciones push a usuarios individuales.
  • Distribución y reporte de errores con Hockeyapp.
  • Almacenamiento de datos en SqLite para trabajo offline.
  • Sincronización de datos con Azure Mobile Apps.
  • Login del usuario contra Azure Active Directory.

 

 

Share This