Soy un desarrollador de Android con 2 años de experiencia, ¿cuánto se necesita para comenzar a trabajar con Xamarin y crear una aplicación híbrida para Android e iOS?

¿Cuánto se necesitará para escribir una aplicación multiplataforma?

Algunas aclaraciones, las aplicaciones Xamarin no son híbridas, son nativas 🙂

Dinero: Diría mínimamente, el costo del Programa de Desarrolladores de Apple ($ 99 / año), el costo del Programa de Desarrolladores de Android ($ 25 por única vez), el costo de una Mac (debe construir iOS en Mac – mini por alrededor de $ 600) , y una licencia de desarrollador de Microsoft (Visual Studio Professional o superior. Professional cuesta $ 500. Para desarrollar en Xamarin Studio para Mac, que puede o no ser necesario, necesita una licencia de MSDN a $ 800 / año.

Visual Studio le permite escribir en una máquina con Windows y se conecta a una Mac para compilar para iOS. Necesitará al menos Visual Studio Professional para escribir legalmente aplicaciones con fines de lucro. Xamarin Studio en Mac te permitirá escribir iOS y Android, pero para escribir aplicaciones para beneficio personal, se requiere la suscripción a MSDN. Puede escribir aplicaciones completas de iOS y Android desde Visual Studio sin la necesidad de Xamarin Studio aparte de escribir pruebas de IU para iOS.

Conocimiento: Aprender Xamarin es otra cosa. Xamarin está escrito usando Mono .NET. Su lenguaje principal es C #. Como ya estás familiarizado con Java, C # no es un gran salto. Los idiomas son muy parecidos.

Al crear una aplicación multiplataforma, debe conocer las pilas de Android e iOS, incluso si está compilando una aplicación Xamarin Forms (más sobre eso en un momento). iOS tiene un motor de renderizado diferente al de Android, diferentes subprocesos, diferentes renderizados de vista de pila, etc. Por lo tanto, el conocimiento de estas cosas es importante.

Finalmente, Xamarin tiene una nueva tecnología llamada “Forms”. Es un enfoque para compartir la interfaz de usuario y su lógica para maximizar el intercambio de código. Resume la capa de IU agregando una colección de controles que son comunes en iOS, Android y Windows Phone / UWP. Fuera de la caja, si escribe una aplicación puramente Xamarin Forms en Visual Studio, sin extensiones, tendrá una aplicación NATIVE iOS, Android, Windows Phone 8.1 y Windows 8.1, todo con una sola base de código.

Esta tecnología es 100% extensible, por lo que cualquier cosa que no esté disponible en Formularios listos para usar se puede agregar fácilmente a una aplicación de Formularios. Es por eso que querrías conocer las pilas de iOS y Android. Por ejemplo, la compatibilidad con GPS no está disponible en Formularios. Para agregar esto a su aplicación Formularios, utilice un Servicio de dependencia. Los formularios luego llamarán a la base nativa y harán lo que sea necesario al ser llamados desde la base de código compartida.

Otras buenas prácticas para saber tomar este enfoque, MVVM y SOLID.

Espero que esto ayude, ¡buena suerte en tus aventuras!

El tiempo real variará de un desarrollador a otro. Pero puedo compartir el camino de aprendizaje para que pueda comprender los momentos difíciles para adoptar y desarrollar la aplicación Xamarin.

  1. Obtenga una idea (básica, no avanzada) de Xamarin.iOS y Xamarin.Android
  2. Empieza a aprender Xamarin. Forma mucho
  3. Desarrolle una plataforma cruzada (iOS, Android) pero una aplicación nativa con Xamarin.

FYI: para conocer algunos Xamarin.iOS y Xamarin.Android básicos, puede consultar la guía oficial de Xamarin o el video de Youtube o el curso en línea en Udemy.

Para Android: ninguno. C # es como Java con muchas buenas adiciones.

Para iOS: depende de cuánto tiempo tenga para aprender iOS. Sería como aprender programación de iOS con swift u Objective-C (donde Objective-C es más difícil para los desarrolladores de C # y Java, debido a su sintaxis).

… y como dijo Aaron Eversole: ¡Xamarin no es híbrido!