¿Cuáles son las ventajas y desventajas de usar Xamarin para el desarrollo de Android? En comparación con Java y el SDK de Android.

Ventajas de usar Xamarin:
1. Xamarin es uno de los mejores frameworks de desarrollo móvil multiplataforma en el verdadero sentido. Cuando digo sentido verdadero, quiero decir que no es como los otros marcos de desarrollo móvil HTML, JavaScript. Le permite utilizar bibliotecas casi 100% nativas de Android e iOS.
2. Idioma : en lugar de que un entusiasta de la aplicación aprenda tres idiomas diferentes (Objective C o el último lenguaje Swift para iOS, Java para Android y C # para Windows Phone), es más fácil salir de los bloques con un solo idioma (C #) para las tres plataformas.
3. Patrones arquitectónicos de software : con Xamarin se hace mucho más fácil para el desarrollador adoptar el patrón MVC o MVVM. Con un par de bibliotecas externas de Nuget, puede aprovechar las increíbles funciones como enlace de datos, comandos, etc.
4. Xamarin.Forms : Xamarin Forms se lanzó como parte de la última versión de Xamarin 3.0. Es una API muy simple que permite a los desarrolladores crear una hermosa interfaz de usuario nativa para todas las plataformas. Esto aumenta la base de código compartido, lo que facilita a los desarrolladores.

Contras de usar Xamarin:
1. Necesidad : al final del día, depende de la aplicación que esté planeando desarrollar. Si está seguro de que solo va a apuntar a Android, utilizando Java nativo, Android SDK sería una mejor opción.
2. Interfaz de usuario : aunque Xamarin Forms ofrece alrededor de 40 controles de interfaz de usuario a partir de hoy (y sigue creciendo), no tiene acceso a todos los demás controles de interfaz de usuario específicos de Android y tendría que escribir código específico de la plataforma para dichos controles.
3. Java-Love: Si hasta ahora has sido un desarrollador de Java y has desarrollado un amor por él, puede que no sea fácil cambiar a Xamarin muy rápidamente, y desarrollar en Java sería mejor.

Lanzado por primera vez en 2011, Xamarin es una herramienta utilizada para desarrollar aplicaciones móviles multiplataforma. Funciona a través del marco Mono para comunicarse con la interfaz del programa de aplicación (API) de las funciones comunes de los dispositivos móviles, incluidos los contactos, la cámara y la ubicación geográfica para los sistemas operativos populares de iOS, Android y Windows. Permite a los desarrolladores crear aplicaciones robustas utilizando el lenguaje de programación C # que se ejecuta en .NET Common Language Infrastructure (CLI). Considerado como una herramienta de “escribir una vez, ejecutar en cualquier lugar”, usar Xamarin para desarrollar aplicaciones de dispositivos móviles tiene sus aspectos positivos y negativos.

Pros

Xamarin es una excelente manera de reducir gastos al desarrollar aplicaciones complejas para múltiples sistemas operativos. En lugar de desarrollar una aplicación completa para cada sistema, que aumenta el tiempo de comercialización y agota los recursos monetarios, los desarrolladores pueden sindicar alrededor de dos tercios de una base de código única usando C #. Xamarin se destaca por ser una herramienta que ofrece un alto rendimiento con experiencias específicas del dispositivo utilizando API nativas para crear una interfaz de usuario (UI) y una experiencia de usuario (UE) a la que los usuarios de dispositivos específicos están acostumbrados. Además, Xamarin permite el control de calidad y las pruebas de funcionalidad para detectar errores en miles de dispositivos para garantizar una integración perfecta.

Contras

Aunque el desarrollo de aplicaciones con Xamarin ahorra tiempo y recursos, existen algunas desventajas inherentes. Cuando se utiliza Xamarin, existe una gran sobrecarga de software operativo. Esto se debe a la vinculación de códigos y referencias entre marcos .NET y los sistemas operativos de destino. Esto aumenta los tiempos de descarga y arranque de una aplicación. La frase “escribir una vez ejecutada en cualquier lugar” no se aplica exactamente a Xamarin. La mayoría del código se puede sindicar en múltiples plataformas, pero el desarrollo central de la interfaz de usuario no es portátil. Esto significa que parte de la codificación debe realizarse para cada plataforma y, desafortunadamente, el desarrollo de la interfaz de usuario puede llevar mucho tiempo. Además, hay un soporte limitado para la codificación fuera de Xamarin. El código desarrollado en Xamarin no se transferirá y no se puede reutilizar para aplicaciones nativas o HTML5 para iOS o Android.

Al llevar a buen término una idea de aplicación móvil, la primera decisión es si se debe desarrollar de forma nativa o multiplataforma. Si la aplicación móvil no es intrínsecamente compleja y / o no se lanzará a múltiples plataformas, el desarrollo nativo puede ser la opción correcta. Si la aplicación se lanzará en múltiples plataformas y el tiempo y los recursos son esenciales, entonces desarrollar una aplicación usando Xamarin tiene algunos beneficios definitivos. Ponerse en contacto con un especialista profesional en desarrollo de software para tabletas y dispositivos móviles ayudará a facilitar la decisión. Pueden sugerir los estándares aplicables y las prácticas eficientes necesarias para desarrollar una aplicación móvil para cualquier dispositivo. Esto depende del uso previsto, el público y la funcionalidad necesarios para su negocio, en lugar de simplemente sugerir el uso de las herramientas de codificación más recientes disponibles.

Tendencia de los temas

14 consejos y trucos para desarrolladores de aplicaciones de Android en 2017

Tienes acceso al SDK completo de Android desde Xamarin. Como no menciona en absoluto su plataforma cruzada o iOS / WinPhone en su pregunta, supongo que solo le importa Android. Por lo tanto, la * única * diferencia entre los dos enfoques es el lenguaje (Java versus C # o F #) y el IDE, así como cualquier característica única que Xamarin traiga a la mesa.

Xamarin trae Xamarin Forms, que es excelente para el trabajo multiplataforma, pero no tiene sentido para el trabajo puro de Android. También trae un precio bastante alto. Muchos también argumentarían que Xamarin brinda una mejor experiencia de desarrollo (en mi opinión, esto es más una cuestión de gusto personal). Xamarin ciertamente ofrece un emulador significativamente mejor (Xamarin Android Player) que el que Google proporciona en el SDK … pero XAP es gratuito de todas formas y se registra con ADB para que pueda usarlo bien sin comprar en el resto de la plataforma Xamarin. Independientemente de la plataforma de desarrollo con la que vaya, asegúrese de usar XAP para sus necesidades de emulador.

Así que estaría evaluando Java versus C # / F # y los IDE uno contra el otro. Si encuentra que C # (o F #) junto con Xamarin Studio o Visual Studio son superiores para sus necesidades y entorno, entonces se convierte en una cuestión de si vale la pena pagar el precio de Xamarin. La respuesta a eso dependerá más de su nivel de comodidad existente con cada plataforma que cualquier otra cosa, así como de la profundidad de sus bolsillos.

Pros:

Xamarin es una excelente manera de reducir gastos al desarrollar aplicaciones complejas para múltiples sistemas operativos. En lugar de desarrollar una aplicación completa para cada sistema, lo que aumenta el tiempo de comercialización y agota los recursos monetarios, ya que contratar a un experto en xamarin puede sindicar aproximadamente dos tercios de una base de código única usando C #. Xamarin se destaca por ser una herramienta que ofrece un alto rendimiento con experiencias específicas del dispositivo utilizando API nativas para crear una interfaz de usuario (UI) y una experiencia de usuario (UE) a la que los usuarios de dispositivos específicos están acostumbrados. Además, Xamarin permite el control de calidad y las pruebas de funcionalidad para detectar errores en miles de dispositivos para garantizar una integración perfecta.

Contras:

Aunque el desarrollo de aplicaciones con Xamarin ahorra tiempo y recursos, existen algunas desventajas inherentes. Cuando se utiliza Xamarin, existe una gran sobrecarga de software operativo. Esto se debe a la vinculación de códigos y referencias entre marcos .NET y los sistemas operativos de destino. Esto aumenta los tiempos de descarga y arranque de una aplicación. La frase “escribir una vez ejecutada en cualquier lugar” no se aplica exactamente a Xamarin. La mayoría del código se puede sindicar en múltiples plataformas, pero el desarrollo central de la interfaz de usuario no es portátil. Esto significa que parte de la codificación debe realizarse para cada plataforma y, desafortunadamente, el desarrollo de la interfaz de usuario puede llevar mucho tiempo. Además, hay un soporte limitado para la codificación fuera de Xamarin. El código desarrollado en Xamarin no se transferirá y no se puede reutilizar para aplicaciones nativas o HTML5 para iOS o Android.

Xamarin es una de las herramientas más eficientes en cuanto a costos y tiempo que se utilizan para crear aplicaciones para diferentes sistemas operativos. En lugar de diseñar una aplicación para cada sistema por separado, los desarrolladores de aplicaciones pueden compartir aproximadamente el 75% del código desarrollado en todas las principales plataformas móviles, lo que disminuye el costo y el tiempo de comercialización. Xamarin supera las expectativas de los desarrolladores al ofrecer un alto rendimiento y una excelente experiencia de usuario basada en API nativa. Además, para garantizar una integración perfecta, Xamarin ofrece garantía de calidad y pruebas de funcionalidad en una amplia gama de dispositivos. Más información en el artículo sobre los pros y los contras de Xamarin

Hola,

Xamarin es una herramienta única que utiliza un solo lenguaje, C #, para crear aplicaciones para todas las plataformas móviles. Es una excelente manera de reducir gastos al desarrollar aplicaciones complejas para múltiples sistemas operativos. A continuación se presentan algunos de los pros y los contras del uso de Xamarin para el desarrollo móvil.

Ventajas:

  1. Una pila de tecnología para codificar para todas las plataformas
  2. Fácil de aprender ya que usa C #.
  3. Rendimiento cercano al nativo

Desventajas

  1. Soporte ligeramente retrasado para las últimas actualizaciones de plataforma
  2. Problemas del ecosistema de Xamarin
  3. El desarrollo principal de la interfaz de usuario no es portátil, por lo que lleva bastante tiempo diseñar la interfaz de usuario.
  4. Soporte limitado para la codificación fuera de Xamarin.

Nos complace ayudarlo si tiene alguna pregunta relacionada con la aplicación móvil. Somos expertos en el desarrollo de aplicaciones móviles en diferentes plataformas: Socialengine, Magento, Prestashop

Aclamaciones,

Neha Prakash

Pros

  • Desarrollo simplificado y más rápido
  • Compartir código en todas partes

  • Bibliotecas de clases portátiles
  • Tienda de componentes
  • Formularios de Xamarins: los formularios de Xamarin incluyen más de 40 controles y diseños, que se asignan a controles nativos en tiempo de ejecución.

  • Edge de Xamarin: Aquí hay una tabla de comparación que muestra las diferencias entre las 3 plataformas

Contras

  • Costo de la licencia de Xamarin
  • Incompatibilidad con la última versión de varias plataformas.
  • Acceso limitado a bibliotecas de código abierto
  • Documentación de componentes
  • Apoyo de la comunidad de Xamarin
  • Diseñador de Visual Studio

Si desea saber más acerca de las ventajas y desventajas de Xamarin, visite el siguiente enlace: Xamarin- Lo bueno, lo malo y lo feo

Xamarin es una herramienta única que utiliza un solo lenguaje, es decir, c # para crear aplicaciones para todas las plataformas móviles.

Hay varias razones por las cuales varias compañías usan xamarin y también hay algunos inconvenientes:

1. Su rendimiento está cerrado a nativo.

2. Una pila de tecnología para codificar todas las plataformas.

3. Soporte completo de hardware.

DIBUJOS

1. Problemas del ecosistema de Xamarin.

2. Acceso limitado a las bibliotecas de código abierto.

3. Soporte ligeramente retrasado para las últimas actualizaciones de plataformas.

Todos los puntos son mencionados por Sai Prajnan Emani se ve bastante bien, solo quería agregar una desventaja más. El costo del estudio de xamarin no está al alcance de todos.

Si alguien está buscando más información sobre este tema, le recomiendo leer la publicación de este blog “Por qué no recomiendo Xamarin para el desarrollo móvil” de Lee Whitney.

More Interesting

¿Cuáles son algunos buenos consejos para diseñar una tableta Android para una vertical?

¿Cuáles son los idiomas / scripts que debo aprender para crear una aplicación de Android? ¿Puedes resumir sus necesidades?

¿Cómo podemos mejorar el sistema Android al nivel de iOS?

¿Debería alguien que está aprendiendo el desarrollo de aplicaciones móviles comenzar con Swift, Android o React?

En Android, ¿es realmente necesario anular todos los métodos del ciclo de vida?

¿Cuál es la mejor manera de aprender el desarrollo de Android de manera muy eficiente para las personas con experiencia en codificación cero?

¿Puedo ser un desarrollador de Android con un año y medio de experiencia no relevante?

¿Qué características desearías en una aplicación de Android que mostrara menús de restaurantes?

Cómo entender la tecnología, en este caso Android

¿Qué implicaría portar Android Jelly Bean 4.1 / 4.2 a un teléfono como el Nokia Lumia 900?

¿Puedo instalar Android Studio y JDK en diferentes unidades?

¿Cuál es una mejor opción, hacer una aplicación de Android o un sitio web para una idea educativa?

¿Cuánto cuesta realmente hacer una aplicación de Android?

¿Cómo mostrar archivos PDF dentro de una aplicación de Android en lugar de cargar en WebView agregando URL de PDF con una URL de Google DOCs e iniciando una aplicación de representación de PDF de terceros instalada en el dispositivo? ¿Hay alguna buena biblioteca gratuita de renderizado de PDF disponible?

Soy nuevo en programación y quiero aprender a desarrollar aplicaciones. ¿Debo aprender HTML / Java o Swift?