¿Cuál es el beneficio de usar Xamarin para el desarrollo de aplicaciones sobre Java nativo y Swift?

Bueno, Xamarin es una implementación multiplataforma de la Infraestructura de lenguaje común (CLI) y las Especificaciones de lenguaje común (a menudo llamadas Microsoft .NET).

Con una base de código compartida en C #, los desarrolladores pueden usar las herramientas de Xamarin para escribir aplicaciones nativas de Android, iOS y Windows con interfaces de usuario nativas y compartir código en múltiples plataformas.

Si está desarrollando utilizando Xamarin, eso significa que está creando aplicaciones nativas. Eso significa:

– Más confiable y flexible.

– Rendimiento nativo.

Xamarin en el pasado antes de que Microsoft lo comprara tenía algunos problemas relacionados con:

1- No es una licencia totalmente gratuita.

2- Falta de recursos.

3- Falta de apoyo.

4- Larga curva de aprendizaje en lugar de aplicaciones móviles híbridas (PhoneGap, Titanium …) debido a la falta de recursos y al uso de las bibliotecas nativas de cada plataforma que necesitan conocerlas bien.

Entonces, los desarrolladores con desarrollo de código nativo mantuvieron el desarrollo por (Java y Objective C …)

Pero hoy en día creo que muchas compañías cambiarán a Xamarin porque ahora es gratis y tiene soporte de Microsoft y eso tiene muchas ventajas:

1- Aplicaciones nativas.

2- Xamarin se vuelve libre.

3- Soporte de Microsoft.

4- Los recursos serán gratuitos y más que antes.

5- Curva de aprendizaje más corta.

6- Menor costo (porque las empresas no contratarán nuevos desarrolladores móviles para iOS y Android solo dependerán de sus desarrolladores .Net C #).

Hay muchos beneficios de usar Xamarin para el desarrollo de aplicaciones móviles sobre Native Java y Swift, aquí están mis 3 beneficios principales

  1. Desarrollo multiplataforma: el principal beneficio de usar Xamarin sobre Native Java y Swift es la capacidad de desarrollar una aplicación que pueda ejecutarse tanto en Android como en Iphone. Esto les ahorrará mucho tiempo a los desarrolladores y a las empresas mucho dinero. Si desarrollara una aplicación de Android en Java, tendría que escribir el mismo código en Swift para que la aplicación se ejecute en un iPhone.
  2. Menos para aprender: si planea desarrollar aplicaciones nativas para Android, Iphones y también Windows Phone, entonces tendría que aprender, Java (Android), Swift (Iphone) y C # (Windows Phone), pero cuando usa Xamarin solo necesita aprender un lenguaje C # y un conjunto básico de clases
  3. Visual Studio: Visual Studio es uno de los mejores IDE disponibles en la actualidad. Uso Visual Studio (para aplicaciones relacionadas con C #, .Net) y Eclipse (para aplicaciones relacionadas con Java EE) en el trabajo, y si tuviera que elegir lo mejor de esos 2, sin duda elegiría Visual Studio. Las habilidades de inteligencia y refactorización en Visual Studio son notables. También tiene muchas características y uno de los mejores depuradores que existen. Xamarin está diseñado para ser desarrollado en Visual Studio para que lo pases muy bien usando Visual Studio.

Trataré de explicar mi opinión sobre cuándo usar Xamarin y cuándo no.

Si está creando una aplicación que es una aplicación comercial y no multimedia y desea que funcione en un mínimo de 2 plataformas, puede usar Xamarin.

Aquí hay una pregunta: ¿Por qué mide la aplicación comercial? Porque hay mucho código para compartir entre plataformas. Por ejemplo: llamadas api, modelos db, DTO, ViewModels, etc.

Si va a usar un marco MVVM (como MVVMCross, MVVMLight), compartirá aún más código entre plataformas. Por ejemplo: la lógica de vista se separará en una base de código … Eso significa menos tiempo y dinero gastado.

Entonces, si decidió usar el marco Xamarin, aquí también hay opciones.

Alguien dijo que hay Xamarin.Forms y que puede escribir un código para todas las plataformas … La interfaz de usuario del evento mmm tendrá una base de código. Sí, es verdad. Pero déjame contarte mi experiencia. Cuando se lanzó Xamarin.Forms, mi cliente solicitó hacer la siguiente aplicación en Formularios. Estaba feliz y comencé a codificar. Todo fue genial antes de tener diseños finales. El proyecto se volvió complicado, porque tuve que hacer renderizadores personalizados para plataformas para lograr ese diseño de interfaz de usuario realmente difícil.

Entonces, mi opinión sobre los formularios de Xamarin es que si va a crear una aplicación con componentes específicos de la plataforma básica, es 10/10. Definitivamente deberías usarlo. Pero si realmente hay un diseño personalizado y una funcionalidad específica de la plataforma del 90%, en ese caso, debe escribir renderizadores personalizados o simplemente usar Xamarin.iOS y Xamarin.Android (¡ay, también hay ventanas!).

Redactaré ejemplos de aplicaciones y mis pensamientos sobre qué tecnología utilizar. Digamos que tengo que hacer versiones de iOS y Android. (Esto es muy difícil, pero de todos modos):

1. La aplicación en la que el usuario elige la foto agrega un filtro y guarda el rollo de la cámara. – Lo escribiría en swift y java

2. Aplicación que es para vendedores de VAN. El usuario puede crear pedidos y luego sincronizarlos con el servidor, etc., y esta aplicación no tiene un diseño personalizado: lo crearía Xamarin.Forms. Será súper rápido Una base de código para UI, una base de código para interacción API. Sí. La vida es bella.

3. Aplicación que es para grabación de video, que hace la fusión y separación de videos, agrega filtros, comparte con grupos, hace amigos de contactos. En general: algunas cosas multimedia y mucho personal de negocios también. – Lo crearía usando la biblioteca Xamarin.iOS y Xamarin.Android + Core PCL.

Esa es mi opinión con respecto a la elección de Xamarin y lo escribí desde mi experiencia. No dude en hacer comentarios y sugerir sus opciones 🙂

PD Tenga en cuenta que las aplicaciones escritas en la plataforma Xamarin son aproximadamente 10 MB más grandes que las escritas en nativo. porque el marco mono ocupa algo de espacio.

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 #. El desarrollador de 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.

Para plataforma única: gemas C # (LINQ, async / await, RX.net).
El rendimiento es similar, el tamaño de la aplicación es ligeramente mayor.

Para múltiples plataformas: dinero / tiempo = dinero.
Reducción de costos mediante código compartido. Y la reducción de costos es realmente sustancial.

Aquí están las ventajas que he encontrado:

  • Un idioma. Puedo usar un lenguaje (c #) para apuntar a múltiples plataformas. Puedo usarlo para crear aplicaciones para iPhone y Android. No tengo que ir y aprender rápido, objetivo c y Java para hacer mi trabajo. Un idioma, sin cambio de contexto, es un gran problema.
  • Código compartido Existen múltiples formas de compartir código entre proyectos de iPhone y Android. Puedo usar código compartido y PCS para construir código en iPhone y Android. Esto me permite construir interfaces de usuario casi perfectas para píxeles. También puedo compartir código usando formularios xamarin para crear una aplicación. Xf tiene algunas ventajas y algunas desventajas. No le doy un respaldo general, solo una declaración de que está disponible y funciona bien en ciertos escenarios. Xamarin tiene muchas opciones para compartir código entre plataformas.
  • Usar Visual Studio para xamarin no es una experiencia increíble, pero si ha invertido en la infraestructura VS, definitivamente es una ventaja.

Crear una solución y elegir un idioma depende en gran medida del conjunto de habilidades de las personas que trabajan en la solución. Xamarin funciona muy bien para mí, espero que sea genial para ti.

La obvia es que puedes escribir la aplicación una vez en lugar de dos. Eso es enorme.

Xamarin agrega algunos gastos generales de tamaño, por lo que no es perfecto para todo. Si estuviera escribiendo una biblioteca para que la usen otros desarrolladores, me quedaría con el código nativo. Pero para escribir una aplicación multiplataforma, es una victoria fácil.

Además del ahorro de tiempo básico, existe el hecho de que C # tiene características tan excelentes. Async / await es brillante para tratar con código asincrónico, por ejemplo. El soporte de Xamarin también es maravilloso ahora que Microsoft lo respalda.

Vea muchas razones excelentes para usar Xamarin en ¿Qué tiene de bueno Xamarin?

Xamarin quick te ayuda a crear aplicaciones en las tres plataformas como Android, iOS y Window. Me gustaría recomendar que creas que ir con Xamarin para el desarrollo de aplicaciones es tu gran opción.

Dependiendo del modelo que elija y de las características de su proyecto, es posible que pueda compartir entre el 50% y el 90% del código entre los proyectos, por lo que podría reducir significativamente el tiempo que dedica a codificar. Por supuesto, hará algunas compensaciones: Xamarin es una capa adicional y espera que tenga sus propios errores y problemas como cualquier otro software.

Si te gusta C # y no quieres estudiar otros idiomas