¿Es una buena idea usar Xamarin para construir aplicaciones de Android (y solo Android) en lugar de Java porque tengo 6 años de experiencia en C # y me encanta?

Xamarin se considera una herramienta útil, especialmente cuando se trata de crear aplicaciones para múltiples plataformas a la vez. En lugar de utilizar pilas de tecnología separadas para cada plataforma, escribe su aplicación en C #. Gracias a la magia de Xamarin, la aplicación se ejecuta tanto en iOS como en Android, ahorrando esfuerzo de desarrollo, tiempo y costo.

Pero, ¿hay algún beneficio en usar Xamarin para crear una aplicación para una sola plataforma? En realidad, hay varias razones para que consideres a Xamarin, por lo que puedo ver.

  1. Usar el familiar C # : ser un políglota es una gran habilidad. Cuantos más lenguajes y tecnologías de programación conozca, mejor. ¿Pero es realmente el mejor momento para comenzar a aprender un nuevo idioma? Si está buscando usar su aplicación como un campo de entrenamiento mientras aprende Java, puede hacerlo. Pero también debe tener en cuenta que el producto final podría no ser de la mejor calidad o tardar demasiado en implementarse. Con Xamarin, podrá minimizar la cantidad de esfuerzo y tiempo necesarios para lanzar su producto, utilizando el lenguaje que conoce mejor y el entorno familiar. Entonces, si desea probar las aguas y ver si hay una oportunidad para hacer de esta empresa un “pequeño ingreso secundario”, recomendaría quedarse con C # y Xamarin, al menos por ahora.
  2. Adecuado para aplicaciones de guía sin complicaciones para videojuegos : por lo que sé, estas aplicaciones generalmente contienen información (tanto multimedia como de texto), como tutoriales, trucos, recomendaciones y noticias sobre un juego. Entonces nada realmente complejo. Esa es una razón más para usar Xamarin. Le permite construir tanto interfaces simples (Xamarin.Forms) como una rica interfaz de usuario específica de plataforma (Xamarin.Android en su caso). Además, no necesita preocuparse por el rendimiento. Xamarin funciona muy bien con aplicaciones simples, como la suya, lo que permite crear experiencias cercanas a las nativas. Si planea utilizar algunos gráficos o animaciones pesadas, como minijuegos incorporados, experiencias de realidad virtual y realidad virtual, puede considerar otra herramienta de desarrollo popular basada en C #: Unity 3D. En algunos casos, podría ser exactamente lo que se necesita.
  3. Portabilidad simple en la aplicación iOS : ¿Sabía que las aplicaciones iOS generalmente generan más ingresos que las aplicaciones Android? De hecho, un dispositivo iOS promedio genera $ 52 en ventas de App Store, mientras que el teléfono Android solo genera $ 5.70. Por lo tanto, crear una aplicación “solo para Android” no es la mejor idea si planea ganar dinero con ella. Es por eso que debería estar listo para portar su aplicación a iOS en el futuro. En este caso, Xamarin funciona mejor. Gracias a la lógica empresarial compartida, todo lo que necesita hacer es, básicamente, adaptar su IU para que parezca “nativa” en términos de las Directrices de interfaz humana de Apple. Además, Apple recientemente ha hecho que sea mucho más fácil enviar aplicaciones a la App Store. El proceso de revisión ahora es más transparente y significativamente más rápido. Es por eso que existe la posibilidad de que consideres portar tu aplicación de Android a iOS en el futuro. Por lo tanto, debe crear su aplicación con eso en mente, no pagar dos veces.

En general, no veo ninguna razón para que no uses Xamarin. Una herramienta simple y eficiente, es ampliamente utilizada y altamente recomendada por varias compañías tecnológicas líderes. Además, desde que Microsoft adquirió recientemente la plataforma, creo que tiene un gran potencial. Si está interesado en aprender más, eche un vistazo al artículo sobre los pros y los contras de Xamarin frente al desarrollo móvil nativo que nuestro equipo ha escrito recientemente. Espero que esto te ayude a tomar la decisión correcta. ¡Mucha suerte con tu proyecto!

Ventajas de Xamarin –

  1. Xamarin tiene TestCloud que le permite probar sus aplicaciones automáticamente.
  2. Soporte para LINQ (facilidad para acceder a la entidad DB).
  3. Proporciona un 100% de reutilización de código con Xamarin. Desarrollo de IU de formularios utilizando lógica y base de código compartido . Esto ahorra mucho tiempo y recursos.
  4. Admite patrones como MVC y MVVM.
  5. Xamarin.Android es compatible con dispositivos Google Glass, Android Wear y Firephone.
  6. La curva de aprendizaje es relativa. Si su equipo conoce C #, es relativamente fácil comenzar con Xamarin.

Xamarin es el más adecuado si –

  • Ya eres programador de C # y no quieres aprender ningún otro lenguaje de programación solo por el desarrollo de aplicaciones móviles.
  • Está utilizando Visual Stdio y aún desea mantener el mejor IDE del mundo para desarrollar aplicaciones móviles, aplicaciones web, aplicaciones de Windows, etc.
  • No desea aprender más de una tecnología para desarrollar aplicaciones de Android, IOS y Windows.
  • Si eres fanático de los Productos y Tecnologías de Microsoft.
  • Está familiarizado con dot net y desea volver a utilizar la biblioteca dot net en Xamarin.

Según mi consejo, debes usar Xamarin en lugar de Android SDK.

¿Qué es mejor para Android: Android Studio o Xamarin si quiero desarrollar solo aplicaciones de Android? ¿El desarrollo con Xamarin será completamente gratuito? ¿Cuáles son los pros y los contras de cada uno?

Estoy sesgado a ciencia cierta (como antiguo contratista de Xamarin y actual empleado de MSFT).

Esta es la razón exacta de la existencia de Xamarin: desarrollo de C #, F # (.net) para plataformas que no fueron planificadas para soportar .net.

En mi opinión, también java, los políglotas (desarrolladores de varios idiomas) muestran una tendencia a ser abiertos y flexibles. Personalmente, no escribo Java, pero lo leo a diario cuando transfiero muestras en Android Java a C #.

La razón por la que no aprendí Java no es solo Java, sino también bibliotecas y API de Java, porque para ser productivo necesitas ser bastante fluido en ellas. Solo aprender y mantenerlo en tu cabeza requiere algo de tiempo y espacio cerebral. Esa fue la razón por la que busqué alternativas y encontré Monodroid y MonoTouch en 2010. Ahora puedo obtener datos del backend con clases conocidas de .NET BCL como HttpClient, WebRequest y WebClient en lugar de usar la combinación Java de URL y HttpURLConnection o incluso 3rd Parte como las implementaciones HttpClient de Apache, Sun o IBM. Además, Xamarin le da al usuario la opción de usar esos (más tarde, libras de Java), por lo que el usuario tiene opción y flexibilidad, aunque no se recomienda el uso de libs portadas o enlazadas de Java debido a problemas de rendimiento, prefiera las .net.

En pocas palabras: vaya por C # y Xamarin, pero aprenda lentamente Java y Objective-C y rápido: no lo lastimará con seguridad, solo amplíe sus horizontes para admirar a Xamarin y .net en general.

Si eres súper bueno en C #, no pierdas tu tiempo aprendiendo Java (aunque, es bueno aprender si tienes tiempo). Pero, si su objetivo es el desarrollo de aplicaciones de Android, C # es lo suficientemente bueno con Xamarin.

Una aplicación de muestra completamente escrita en Tamarin, esta es una aplicación para iOS, pero considérela como una referencia de las posibilidades:

La aplicación de máquina de escribir Tom Hanks llega a lo más alto de la App Store