novedades microsoft gui form docs app c# xamarin xamarin.ios xamarin.android xamarin.forms

c# - microsoft - ¿Cuándo usar Xamarin.Forms vs Xamarin Native?



xamarin forms novedades (3)

Necesito elegir entre Xamarin.Forms y las aplicaciones nativas de Xamarin.

Quiero ir con Xamarin. También se compartirán los formularios como código UI.

Entonces, ¿cuáles son los inconvenientes de Xamarin.Forms en comparación con Native.


Además de los points muestran en el sitio web de Xamarin, también debe considerar:

Los antecedentes de tu equipo

¿Alguien en su equipo tiene experiencia previa en codificación nativa para Android o iOS (usando Java u Obj-C / Swift)? Esta experiencia se reutiliza en Xamarin nativo, pero tendrán que aprender otra plataforma para codificar en Formularios.

Lo mismo es cierto si no saben nada sobre iOS / Android pero conocen algo de XAML. Claro, Xamarin. Los formularios son diferentes de WPF / Silverlight, pero conocer XAML seguramente me ayudó a usar los formularios.

Actuación

Xamarin Forms todavía tiene algunos problemas, como el tiempo de inicialización. Debe considerar si esto será o no un problema para su usuario final. No me molestaría en esperar un momento para abrir una aplicación de tablero que uso de vez en cuando, pero me enojaría si ocurriera lo mismo con una aplicación de mensajería.

Tiempo hasta la entrega

Dado que el uso compartido de código es mayor cuando se utilizan formularios, puede esperar un tiempo de entrega más rápido.

Complejidad de tu aplicación

Teniendo en cuenta el punto anterior, al usar Formularios puede tropezar con algún error de detención del espectáculo (después de todo, es una tecnología muy nueva) que anulará las ganancias de tiempo. Considere la complejidad de su aplicación antes de elegir.


Desde el sitio web de Xamarin

Xamarin.Forms es mejor para:

  • Aplicaciones de ingreso de datos
  • Prototipos y pruebas de concepto
  • Aplicaciones que requieren poca funcionalidad específica de plataforma
  • Aplicaciones donde compartir código es más importante que la IU personalizada

Xamarin.iOS y Xamarin.Android son mejores para:

  • Aplicaciones que requieren interacciones especializadas

  • Aplicaciones con diseño altamente pulido

  • Aplicaciones que usan muchas API específicas de plataforma

  • Aplicaciones donde la IU personalizada es más importante que compartir código


Xamarin.Forms

Pros

  • Crea una interfaz de usuario para todas las plataformas
  • Use componentes básicos que están disponibles en todas las plataformas (como botones, campos de texto, hiladores, etc.)
  • No es necesario aprender todos los marcos de la interfaz de usuario nativos
  • Proceso de desarrollo rápido multiplataforma
  • Los renderizadores nativos personalizados le permiten ajustar la apariencia y la sensación de los controles.

Contras

  • Todavía es un nuevo marco y todavía contiene errores
  • Especialmente Windows RT aún no es estable
  • A veces es más lento que acceder a los controles nativos directamente
  • Los renderizadores nativos personalizados tienen límites y están poco documentados

Xamarin.Android, Xamarin.iOS, Windows Phone, Windows RT

Pros

  • Crea una interfaz de usuario por plataforma
  • Fácil capacidad para ajustar las características y componentes específicos de la interfaz de usuario de la plataforma
  • Obtenga el máximo de su interfaz de usuario

Contras

  • El proceso de desarrollo multiplataforma es mucho más lento
  • Necesitas aprender todos los frameworks nativos de UI
  • Es posible que tenga un código duplicado (ya que describe casi la misma interfaz de usuario en tres formas diferentes de plataforma específica)

Además de eso, Xamarin dice en https://xamarin.com/forms :

¿Qué enfoque de Xamarin es mejor para tu aplicación?

Xamarin.Forms es mejor para:

  • Aplicaciones de ingreso de datos
  • Prototipos y pruebas de concepto
  • Aplicaciones que requieren poca funcionalidad específica de plataforma
  • Aplicaciones donde compartir código es más importante que la IU personalizada

Xamarin.iOS y Xamarin.Android son mejores para:

  • Aplicaciones que requieren interacciones especializadas
  • Aplicaciones con diseño altamente pulido
  • Aplicaciones que usan muchas API específicas de plataforma
  • Aplicaciones donde la IU personalizada es más importante que compartir código