Maybaygiare.org

Blog Network

Lo Bueno y Lo Malo de Xamarin Desarrollo Móvil

CONTENIDO

Tiempo de lectura: 16 minutos

Al considerar el desarrollo de aplicaciones iOS o Android, la mayoría de nosotros pensamos en Objective-C vs Swift, y Java en primer lugar. Al ser consideradas pilas tecnológicas nativas, son herramientas de desarrollo móvil de uso más frecuente cuando se trata de desarrollo de aplicaciones para iOS y Android. Sin embargo, hay más formas de crear aplicaciones móviles eficientes y fáciles de usar. Y Xamarin es uno de ellos. En este artículo, realizamos una revisión en profundidad de Xamarin y la comparamos con las soluciones de desarrollo móvil nativas y multiplataforma del mercado. Si conoces los conceptos básicos, considera saltar a las secciones que te interesan.

¿Qué Es Xamarin?

Es imposible ignorar Xamarin cuando se habla de los enfoques clave para el desarrollo de aplicaciones móviles. Xamarin es una herramienta utilizada para el desarrollo de aplicaciones móviles multiplataforma que permite a los ingenieros compartir hasta el 90% del código en las principales plataformas. Al ser una herramienta relativamente nueva, se basa en la pila de tecnología de Microsoft y ya tiene una comunidad de más de 1,4 millones de desarrolladores.

La plataforma fue construida por los desarrolladores detrás de Mono, una plataforma de desarrollo de código abierto basada en.NET Framework, dirigida por Miguel de Icaza y presentada por primera vez en 2001. La compañía Xamarin fue fundada el 16 de mayo de 2011.

Sin embargo, a diferencia de su predecesor, Xamarin fue creado como un proyecto comercial hasta que la compañía fue adquirida por Microsoft en 2016. Xamarin se convirtió en un popular producto multiplataforma para el desarrollo de aplicaciones móviles dentro del ecosistema de Microsoft. Esta adquisición rompió la barrera financiera para usar Xamarin. A medida que Microsoft creó el SDK de Xamarin de código abierto, se convirtió en parte del entorno de desarrollo Integrado de Xamarin Visual Studio (a continuación analizamos los mejores IDE para el desarrollo de Xamarin). ¿Cuáles son las principales características de Xamarin?

Lenguaje C#. Xamarin utiliza un único lenguaje, C#, para crear aplicaciones para todas las plataformas móviles. A diferencia de las soluciones interpretadas, como Appcelerator Titanium, Xamarin se compila de forma nativa, lo que lo convierte en una opción de referencia para crear aplicaciones de alto rendimiento con apariencia nativa.

Basado en.NET framework. C# es un lenguaje maduro con una tipificación segura fuerte que evita que el código tenga un comportamiento inesperado. Como C# es uno de los lenguajes de.NET framework, se puede usar con una serie de características útiles de. NET, como Lambdas, LINQ y programación asíncrona (async/await).

Técnicamente hablando, Xamarin utiliza bibliotecas nativas y de C# envueltas en el .Capa de red para el desarrollo de aplicaciones multiplataforma. Estas aplicaciones a menudo se comparan con las nativas para plataformas de desarrollo móvil iOS y Android en términos de rendimiento y experiencia de usuario. Además, Xamarin puede aprovechar todos los accesos nativos y a la API más reciente para utilizar las capacidades subyacentes de la plataforma en aplicaciones de Xamarin, como ARKit en ventanas múltiples para iOS o Android.

Plataforma Xamarin

Si bien el código relacionado con la lógica de negocio, el acceso a bases de datos y la comunicación de red se puede compartir en todas las plataformas, Xamarin le permite crear una capa de código de interfaz de usuario específica de la plataforma. Por lo tanto, las aplicaciones multiplataforma de Xamarin se ven 100% nativas en cualquier dispositivo, proporcionando una mejor experiencia de usuario, en comparación con las aplicaciones híbridas genéricas.

Compilación. La plataforma tiene dos productos principales: Xamarin.iOS y Xamarin.Androide. En el caso de iOS, el código fuente se compila directamente en código ensamblador ARM nativo (compilación anticipada), mientras que las aplicaciones Android Xamarin se compilan primero en un lenguaje intermedio y luego en código ensamblador nativo en tiempo de ejecución (compilación Justo a tiempo). Sin embargo, en ambos casos, el proceso está automatizado y adaptado para manejar problemas como la asignación de memoria, la recolección de elementos no utilizados y la interoperabilidad de la plataforma de forma predeterminada.

Xamarin.Forma. Xamarin.Forms es un producto independiente diseñado para crear prototipos o aplicaciones móviles que comparten hasta el 100% del código en iOS y Android.

Xamarin.Mac. Además, los ingenieros pueden usar Xamarin.Mac para crear aplicaciones para Mac OS. Estos y algunos otros productos de la pila de Xamarin se discutirán en un momento.

Sdk de Plataforma. Xamarin proporciona acceso a SDK específicos de la plataforma (Cocoa Touch para SDK de iOS y Android) a través de una sencilla sintaxis de C#.

Enlaces de código específicos de la plataforma. En la mayoría de los casos, los ingenieros podrán manejar el desarrollo manteniendo el aspecto nativo de las plataformas respectivas dentro del entorno Xamarin. Sin embargo, Xamarin le permite llamar al código de plataforma existente (por ejemplo, Swift para iOS) si debe reutilizar algunos módulos o realizar algunas funciones específicas de la plataforma, como el escaneo de códigos de barras, la integración con PayPal o Google Analytics.

Soporte de wearables. Xamarin es compatible con la creación de aplicaciones para dispositivos Apple y Android Watch. Los ingenieros pueden usar Visual Studio tanto para Mac como para Windows para crear aplicaciones iOS de Apple Watch. Además, Xamarin es totalmente compatible con Android Wear.

Estructura del proyecto Xamarin. Se espera que la mayor parte del trabajo relacionado con Xamarin se ejecute a través de un equipo de desarrollo Windows con Visual Studio y Xamarin instalados. Las aplicaciones se pueden depurar directamente desde el escritorio o en dispositivos y emuladores. Si planea desarrollar aplicaciones de iOS en Windows, también es posible, ya que Visual Studio se conecta al diseñador de guiones gráficos de iOS y al simulador de iOS. También está Visual Studio para Mac, que permite ejecutar un simulador en el Mac o directamente en un iPhone conectado. La depuración se ejecuta a través de Visual Studio.

Xamarin project structure

Xamarin project structure. Image source: Developer Support Blog

To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:

Main Xamarin Documentation Hub

Xamarin.Android Documentation

Xamarin.iOS Documentation

Xamarin.Documentación de formularios

Visual Studio para Xamarin

Xamarin Studio App Center

Foro de la comunidad de Xamarin

Al igual que cualquier otra tecnología, Xamarin tiene sus propios beneficios e inconvenientes, que han sido objeto de una acalorada discusión recientemente. Para tomar una decisión informada sobre Xamarin vs desarrollo nativo, sopesemos todos los pros y los contras del desarrollo de aplicaciones con Xamarin. Si realmente tiene prisa, le recomendamos que vea este video que proporciona una descripción general de alto nivel de las fortalezas y debilidades de la plataforma Xamarin en menos de 6 minutos.

Si desea descender a los detalles, sigue leyendo.

Pros de usar Xamarin para el desarrollo

Hay buenas razones por las que Xamarin es utilizado por numerosas empresas, incluidas Trello, Slack y GitHub.

One Una pila de tecnología para Codificar para todas las plataformas

Xamarin utiliza C # complementado con. net framework para crear aplicaciones para cualquier plataforma móvil. Por lo tanto, puede compartir un promedio del 80-90 por ciento del código entre plataformas, lo que acelera el ciclo de ingeniería. Xamarin tampoco requiere cambiar entre los entornos de desarrollo: puede crear todas sus aplicaciones de Xamarin en Visual Studio o Visual Studio Code. Las herramientas de desarrollo multiplataforma se proporcionan como parte integrada del IDE sin costo adicional.

Performance Rendimiento cercano al nativo

A diferencia de las soluciones híbridas tradicionales basadas en tecnologías web, una aplicación multiplataforma creada con Xamarin puede clasificarse como nativa. A medida que se desarrolla la plataforma, el rendimiento de Xamarin se mejora constantemente para que coincida plenamente con los estándares de desarrollo nativo, con Microsoft dando consejos sobre técnicas de optimización. Visual Studio también ofrece una solución completa para crear, probar y rastrear el rendimiento de la aplicación: Visual Studio App Center le permite ejecutar pruebas de interfaz de usuario automatizadas e identificar problemas antes del lanzamiento. Sin embargo, este servicio se proporciona por un suplemento.

Anteriormente, probamos y comparamos el rendimiento de Xamarin y las aplicaciones nativas. Los resultados podrían estar un poco anticuados; sin embargo, demuestran claramente el nivel decente de rendimiento de las aplicaciones Xamarin.

Experiences Experiencias de usuario nativas

Xamarin le permite crear experiencias impecables utilizando elementos de interfaz de usuario específicos de la plataforma. También es posible crear aplicaciones multiplataforma para iOS, Android o Windows con Xamarin.Herramienta de formularios, que convierte los componentes de la interfaz de usuario de la aplicación en elementos de interfaz específicos de la plataforma en tiempo de ejecución. Como el uso de Xamarin.Forms aumenta significativamente la velocidad de desarrollo de aplicaciones, es una gran opción para proyectos orientados a negocios. Sin embargo, puede haber una ligera disminución en el rendimiento debido a la capa de abstracción adicional. Para una interfaz de usuario de aplicación personalizada y un mayor rendimiento, aún puede usar Xamarin.iOS y Xamarin.Android por separado para garantizar excelentes resultados.

Tradicionalmente, no se cree que Xamarin sea la mejor opción para aplicaciones con gráficos pesados. Dicho esto, hay una serie de bibliotecas como OpenGL ES y frameworks como SkiaSharp y Urho que hacen posible el desarrollo de aplicaciones con una interfaz de usuario personalizada rica, animaciones complejas o juegos incluso en Xamarin.

Support Soporte completo de hardware

Con Xamarin, su solución obtiene funcionalidad de aplicación de nivel nativo. Elimina todos los problemas de compatibilidad de hardware, utilizando complementos y API específicas, para trabajar con la funcionalidad de dispositivos comunes en todas las plataformas. Junto con el acceso a las API específicas de la plataforma, Xamarin admite la vinculación con bibliotecas nativas. Esto permite una mejor personalización y funcionalidad de nivel nativo con poca sobrecarga.

Technology Tecnología de Código abierto con un Sólido Soporte Corporativo

Después de que Microsoft adquiriera la compañía en febrero de 2016, las políticas de licencias de Xamarin experimentaron cambios radicales. El SDK de Xamarin, que incluye tiempo de ejecución, bibliotecas y herramientas de línea de comandos, se ha convertido en código abierto y está disponible para todos bajo la licencia MIT como parte de Visual Studio. Al eliminar la barrera principal, el costo de la licencia, Microsoft allanó el camino para un mayor crecimiento de la plataforma. Además, dirigido por Microsoft, y apoyado por Unity, JetBrains y Red Hat, the .NET Foundation en general y Xamarin específicamente se ha convertido en una pila tecnológica confiable y poderosa.

Maintenance Mantenimiento simplificado

Gracias a su aplicación multiplataforma, Xamarin facilita el mantenimiento y las actualizaciones. Simplemente puede implementar los cambios o actualizaciones en el archivo de origen y se aplicarán a las aplicaciones iOS y Android. Por lo tanto, le ayuda a ahorrar tiempo y dinero mientras mantiene sus aplicaciones actualizadas.

Ecosystem Ecosistema de desarrollo completo

Xamarin viene en un paquete con un conjunto de herramientas de desarrollo completo, incluido su propio IDE. En abril de 2018, muchas herramientas de desarrollo de Xamarin, anteriormente conocidas como características separadas, pasaron a formar parte del Centro de aplicaciones de Visual Studio. Se incluye la plataforma en sí (SDK de Xamarin), pruebas (anteriormente Xamarin Test Cloud), distribución y análisis (anteriormente Xamarin.Insights), y muchas más. Dado que el kit de herramientas sigue siendo gratuito, no es necesario invertir en herramientas adicionales ni integrar aplicaciones de terceros para crear, probar e implementar sus aplicaciones Xamarin.

X Xamarin.Formularios: un marco para crear diseños de interfaz de usuario nativos

Xamarin sugiere a los desarrolladores crear aplicaciones móviles de dos maneras. El primero es usar Xamarin.iOS y Xamarin.Android, que apareció antes y que originalmente se consideraban más capaces. Usando Xamarin.Formas es el segundo enfoque. Es una versión más avanzada que permite la creación rápida de prototipos o la producción de aplicaciones con menos funcionalidad específica de la plataforma. Por eso es Xamarin.Forms es la mejor opción para aplicaciones en las que el uso compartido de código es más importante que la interfaz de usuario personalizada. Le permitiría reutilizar hasta el 99% del código, lo que significa que podrá crear una única interfaz y compartirla entre plataformas sin diseñar para cada plataforma individualmente. También puede crear aplicaciones en las que algunas partes de sus interfaces de usuario estén hechas con Xamarin.Los formularios y los demás se diseñan utilizando el kit de herramientas de interfaz de usuario nativo.

Como Xamarin.Formas desarrolladas a lo largo de los años, se convirtió en una herramienta universal y adquirió una comunidad vibrante que le presta atención. Por ejemplo, algunos proveedores de tecnología contribuyen con sus bibliotecas, como la interfaz de usuario de Telerik, que enriquecen las capacidades de ingeniería y proporcionan componentes de interfaz de usuario preconfigurados.

X Xamarin.Forma la recarga en caliente de XAML

Como Xamarin.Formularios está dirigido a un desarrollo rápido y sin fricción, Microsoft sugiere el uso de una herramienta de recarga en caliente XAML. Acelera el desarrollo al permitirle cambiar XAML durante la depuración y ver inmediatamente esos cambios en la aplicación en ejecución, sin necesidad de detenerlo y reconstruirlo. Además, se mantendrán el estado de navegación y los datos, para que pueda iterar rápidamente en su interfaz de usuario. De esta manera, XAML Hot Reload permite una reconstrucción e implementación más rápidas de sus aplicaciones para validar los cambios en la interfaz de usuario.

Building Creación de aplicaciones para Mac con Xamarin.Herramienta Mac

Xamarin.Mac permite desarrollar aplicaciones Mac completamente nativas utilizando C # y. NET. Se integra con las mismas bibliotecas que se utilizan para desarrollar en Objective-C con Xcode. Usando Xamarin.Mac combinado con Xamarin.iOS y Xamarin.Android, los desarrolladores pueden compartir hasta el 90% del código nativo en Android, iOS y Mac OS. Además, Xamarin.Mac se integra con Xcode, por lo que un desarrollador puede usar el Creador de interfaces de Xcode para crear las interfaces de usuario de una aplicación.

Resources Recursos de aprendizaje de Xamarin

Microsoft Learn es un portal educativo en línea que ayuda a las personas a desarrollar habilidades técnicas relacionadas con los productos de Microsoft, incluido Xamarin. La plataforma ofrece cursos tanto para principiantes como para ingenieros experimentados, lo que permite a los estudiantes prepararse para las certificaciones de Microsoft. Los recursos educativos incluyen aprendizaje autoguiado gratuito, clases en línea en vivo, conferencias en la oficina y conferencias para invitados.

support Compatibilidad con Xamarin de televisores, wearables e IoT

El marco Xamarin, gracias a su Xamarin.Formularios, permite construir versiones portátiles para muchas plataformas. Además de iOS, Android, teléfonos con Windows y Mac, puede desarrollar aplicaciones para Tizen, un sistema operativo utilizado en algunos dispositivos Samsung, para dispositivos portátiles, televisores e IoT. Además de eso, Xamarin.iOS permite crear aplicaciones para tvOS para Apple y watchOS.

Xamarin Contras a Considerar

sin Embargo, todavía hay algunos inconvenientes que puede proyectar una sombra sobre la plataforma. Entonces, ¿por qué no usar Xamarin?

Θ Soporte ligeramente retrasado para las últimas Actualizaciones de la Plataforma

Esto depende completamente del equipo de desarrolladores de Xamarin. Es imposible que las herramientas de terceros proporcionen soporte inmediato para las últimas versiones de iOS y Android, ya que lleva algún tiempo implementar los cambios y/o introducir nuevos complementos, etc

Θ Acceso limitado a Bibliotecas de código abierto

El desarrollo nativo hace un uso extensivo de las tecnologías de código abierto. Con Xamarin, debe utilizar los elementos proporcionados por la plataforma y algunos recursos de código abierto. NET, tanto para desarrolladores como para consumidores. Si bien la elección no es tan rica como para el desarrollo de aplicaciones móviles para Android e iOS, puede usar paquetes NuGet que ahora contienen todo lo que estaba en los Componentes retirados de Xamarin.

Θ Alto costo para uso Profesional y Empresarial

Aunque Xamarin es una plataforma de código abierto gratuita para desarrolladores individuales, el marco puede costar un centavo para las necesidades empresariales. Gastará mucho en comprar una licencia para Visual Studio. Por ejemplo, Visual Studio Professional con el conjunto básico de herramientas de desarrollo cuesta 1 1,199 para el primer año y 7 799 para la renovación. Al mismo tiempo, una empresa de Visual Studio, que permite experimentar con herramientas adicionales, costará 5.999 dólares el primer año y 2.569 dólares la renovación. Las características para ambos que cubrimos a continuación.

Θ Reserva de talentos de Xamarin y Restricciones de la Comunidad

Obviamente, la comunidad de Xamarin es significativamente más pequeña que las de iOS o Android nativos. También es más pequeña que las comunidades React y Ionic. Por lo tanto, encontrar un desarrollador experimentado de Xamarin podría ser un desafío.

De acuerdo con la encuesta de desbordamiento de pila de 2020, solo 5.el 8 por ciento utilizó el marco Xamarin a partir de 2020, en comparación con el 11,5 por ciento de React Native y el 7,2 por ciento de Flutter.

Uso de la Xamarin como en comparación con otros marcos. Fuente de la imagen: Desbordamiento de pila

A pesar de que el número de ingenieros de Xamarin no se compara con las comunidades nativas de iOS o Android, la plataforma proporciona un amplio soporte a sus desarrolladores. Como se mencionó anteriormente, Microsoft Learn ofrece recursos y capacitación práctica para aquellos que son nuevos en esta tecnología. Con este soporte, la curva de aprendizaje para un ingeniero experimentado de C#/. Net es mínima.

Otro problema que experimentan algunos desarrolladores es la fragmentación y la falta de estándares en los recursos de aprendizaje y desarrollo, incluidos los documentos. Esto afecta la calidad del soporte que va a obtener.

Θ Conocimiento Básico de Idiomas Nativos

Al usar Xamarin.iOS y Xamarin.Android para crear aplicaciones móviles con un aspecto verdaderamente nativo, aún tendrá que escribir una capa de código específica de la plataforma utilizando las API nativas de cada plataforma. Por lo tanto, aunque no es obligatorio como solía ser, sería útil tener al menos un conocimiento básico de tecnologías nativas (Java/Kotlin para Android y Objective-C/Swift para iOS) para poder comprender y aprovechar al máximo la documentación específica de la plataforma. También, Xamarin.La biblioteca Essentials proporciona varias API multiplataforma y se puede usar para acceder a funciones nativas. Sin embargo, esto no se aplica a Xamarin.Forma.

Θ Tamaño de aplicación más grande

Dependiendo de su tipo y complejidad, las aplicaciones Xamarin suelen ser más grandes que las nativas (estas últimas pueden tener la mitad del tamaño de una aplicación Xamarin). Una simple aplicación «hola, mundo» para Android puede ocupar hasta 16 MB, gran parte de ella utilizada por las bibliotecas asociadas, el contenido, el tiempo de ejecución Mono y los ensamblados de Biblioteca de Clases Base (BCL).

aplicación xamarin tamaño

aplicación Xamarin tamaño. Fuente de la imagen: desarrollador.xamarin.com

Por lo tanto, las aplicaciones Xamarin generalmente necesitan optimización adicional, como enlaces para eliminar el código no utilizado de las bibliotecas incluidas y mantener el tamaño del archivo de la aplicación razonable.

Θxamarina.Los formularios Pronto Dejarán de existir

En mayo de 2020, se celebró la conferencia anual de Microsoft Build. Entre otras noticias, se anunció que Xamarin.Forms se fusionará con.NET y evolucionará en un nuevo marco multiplataforma llamado. NET Multi-platform App UI, o MAUI. MAUI tendrá toda la interfaz de usuario nativa y proporcionará acceso a todas las API nativas.

También, como parte del gradual .Unificación de redes, Xamarin.Android y Xamarin.iOS eventualmente se convertirá en parte de.NET 6 como. NET para iOS y. NET para Android y se actualizará para que coincida con otras cargas de trabajo de. NET. La línea de tiempo para eso aún no se conoce, así que manténgase atento a las actualizaciones futuras.

Mientras tanto, el Xamarin.La migración de formularios debería tener lugar en noviembre de 2021. Una vez que se lance MAUI, Xamarin será compatible durante otros 12 meses. Por lo tanto, si en este momento está trabajando con Xamarin o si planea crear nuevas aplicaciones de Xamarin, vale la pena vigilar las fechas y buscar guías de Microsoft para una transición suave.

Θ Problemas de compatibilidad con Bibliotecas y Herramientas de terceros

Puede haber algunos problemas al integrar recursos de terceros con su aplicación Xamarin. Si bien la mayoría de las herramientas y bibliotecas ofrecen soporte completo para tecnologías nativas, es posible que el soporte de Xamarin no lo proporcione un proveedor. Aunque Xamarin tiene su propia tienda de componentes, siempre existe la posibilidad de que necesite una capacidad o integración específica dentro de su aplicación que no sea proporcionada por la plataforma. Por lo tanto, para aprovechar otros paquetes de terceros, debe usar envoltorios.

Xamarin Visual Studio IDE

Si tiene la sensación de que Xamarin es adecuado para usted, le interesará conocer los principales IDE de Xamarin que se pueden usar y cómo se comparan entre sí.

Visual Studio (VS) es un entorno de desarrollo integrado de Microsoft, o IDE, que se utiliza para crear, depurar y publicar aplicaciones en todas las plataformas y dispositivos. Hay tres versiones principales de Visual Studio para Xamarin: Visual Studio Community, Visual Studio Professional y Visual Studio Enterprise. Los factores clave para elegir una versión aceptable son la experiencia de los desarrolladores (estudiantes o ingenieros profesionales) y el tamaño de su equipo. Los programadores pueden desarrollar software para Web, móvil, servidor y escritorio con todas las versiones. Obtenga más información sobre Visual Studio en nuestro artículo sobre las herramientas utilizadas para el desarrollo de.NET.

La última versión es Visual Studio 2019. En comparación con VS 2017, contiene numerosas mejoras que aceleran el desarrollo de aplicaciones, desde la colaboración en tiempo real con Visual Studio Live Share hasta la nueva ventana de inicio de Visual Studio. Además, admite DPI por monitor y capacidades de depuración mejoradas.

La carga de trabajo de Xamarin ahora se ha reducido en aproximadamente 3 veces con respecto a las versiones anteriores, lo que significa que se ha reducido de 23 GB a 7 GB. Reduce drásticamente el impacto en el disco y acelera la instalación. Además, la nueva versión hizo mejoras considerables para el SDK de Android y la administración de emuladores. También hizo grandes esfuerzos para fortalecer la creación de UI. Esto incluye Xamarin.Mejoras de formularios con IntelliCode para XAML, mejoras de AXML para Android, envío actualizado de Xamarin para iOS y muchas otras características.

Visual Studio Community es una buena opción para estudiantes, proyectos de código abierto, pequeños equipos de desarrollo con hasta 5 usuarios. El paquete de la comunidad también es bueno para los equipos que son nuevos en Visual Studio. Esta versión es de uso gratuito.

Visual Studio Professional es un conjunto de herramientas y servicios creados para desarrolladores profesionales, equipos pequeños y uso empresarial. Esta versión proporciona potentes funciones para comprender rápidamente su código: mostrar referencias de código, cambios en su código, mostrar quién modificó por última vez un método o descubrir si se están aprobando pruebas. La versión profesional incluye Azure DevOps, que es una colección de características como herramientas ágiles de planificación y pruebas de proyectos, canalizaciones de CI/CD, soluciones de informes y más. El precio anual de esta versión es de $ 1,199.

Visual Studio Enterprise tiene herramientas y servicios de soporte más potentes. Permiten gestionar procesos más complejos entre el desarrollo y las operaciones de TI; realizar un seguimiento de la calidad con herramientas de prueba manuales y automatizadas; obtener acceso a la formación profesional y a todo el ecosistema de ingeniería y pruebas de Microsoft. La versión Enterprise también tiene soporte prioritario, ofertas de socios y mucho más. El precio anual de Enterprise Studio es de 5 5,999.

Para uso empresarial, también recomendamos consultar el Centro de aplicaciones de Visual Studio. Es una herramienta que organiza el flujo de trabajo de desarrollo de aplicaciones en diferentes tecnologías móviles, incluida Xamarin. Aquí, los equipos de ingeniería que trabajan en varias aplicaciones pueden unir su conjunto de herramientas. Automatiza el empaquetado de aplicaciones a través de GitHub o Bitbucket, proporciona integración para diferentes servicios de prueba, habilita la distribución de aplicaciones de correo electrónico para pruebas, hace seguimiento de fallas y análisis.

Visual Studio Code, o Código VS, se clasificó como el entorno de desarrollo más popular en 2019, con el 50,7% de los desarrolladores que informaron de usarlo. VS Code es un editor de código abierto ligero y gratuito que proporciona todas las herramientas principales necesarias para un ciclo simple de edición, creación y depuración de código, pero carece de las capacidades de los IDE con todas las funciones que permiten administrar flujos de trabajo más complejos. Se ejecuta en Mac, Linux y Windows, y admite operaciones de desarrollo básicas como la ejecución de tareas, la solución de problemas y el control de versiones. También tiene IntelliSense para el desarrollo asistido por IA, funciona con GitHub y tiene un rico ecosistema de extensiones. VS Code es rápido, fácil de usar, altamente configurable y puede ser una buena opción si necesita algo liviano, pero con una buena funcionalidad

Visual Studio Online, o GitHub Cloudspaces, es un entorno de desarrollo basado en navegador que admite VS 2019 y VS Code. Ahora solo está disponible en versión beta y tiene una funcionalidad limitada

Cambiar de Android Studio o Xcode a Visual Studio

Si tu equipo de desarrollo considera la transición de Android Studio (AS) o Xcode a Visual Studio, la curva de aprendizaje no será tan pronunciada. Las comparaciones entre características muestran que los IDE son muy similares en términos de flujos de desarrollo con pocos matices para cada uno de los entornos.

De Android Studio a Visual Studio. Mientras que el soporte oficial de Android Studio se centra en los lenguajes Java, C/C++, Kotlin y XML, VS es compatible con todos los lenguajes de programación principales, incluidos los de AS. Esto se debe al amplio espectro de plataformas a las que atiende IDE. VS proporciona más libertad de ingeniería y permite trabajar con diferentes proyectos desde un mismo entorno. Si ha estado utilizando la plataforma en la nube de Google integrada con AS para ejecutar máquinas virtuales o simplemente administrar proyectos, Google también tiene la amabilidad de proporcionar su extensión de plataforma en la nube para VS. Básicamente, puede usar el ecosistema de nube de Microsoft y la nube de Google directamente desde VS. Visual Studio se puede instalar en todas las plataformas principales: Windows, Android, Mac OS y Linux.

De Xcode a Visual Studio. Xcode IDE, similar a VS, admite código fuente para todos los lenguajes de programación principales. Por lo tanto, no habrá ninguna sorpresa después de la transición. Una vez más, si ha estado vinculado a Mac OS mientras usa Xcode, el hardware de Apple no es necesario para VS. Para aquellos que usan CloudKit para almacenamiento en el lado del servidor, Visual Studio y Xamarin permiten una integración simple de CloudKit. El principal inconveniente de usar VS en comparación con Xcode es su precio: Tanto Android Studio como Xcode son gratuitos, mientras que VS requiere una tarifa de suscripción bastante alta.

De acuerdo con las estimaciones de los desarrolladores, Visual Studio y Android Studio, ambos, tienen principalmente el mismo nivel de facilidad de uso y calidad de soporte. Comparando los mismos índices con VS y Xcode, podemos decir que las estimaciones VS son un poco mejores. Además, Visual Studio es más popular entre las empresas (>1000 empleados), mientras que alrededor del 50 por ciento de los usuarios de Android Studio y Xcode son pequeñas empresas (50 o menos empleados).

Teniendo en cuenta las clasificaciones de Strategy Analytics en entornos de desarrollo móvil, Xcode alcanzó la clasificación más alta en capacidades de prueba, al igual que Visual Studio. Android Studio se quedó atrás. Las puntuaciones totales fueron: Xcode-22; Visual Studio -21; y Android Studio -13.

Considerando otras opciones: Xamarin vs Desarrollo Híbrido vs iOS/Android Nativo vs Otros Marcos Multiplataforma

Recientemente, muchos desarrolladores tienden a estar de acuerdo en que Xamarin puede considerarse una herramienta de desarrollo «nativa». De hecho, existe la opinión de que «cualquier cosa que se pueda hacer en una aplicación iOS usando Objective-C o Swift, y cualquier cosa que se pueda hacer en una aplicación Android usando Java, se puede hacer en C# usando Xamarin.»

Sin embargo, hay muchas trampas en el debate nativo vs Xamarin. Veamos cómo se compara Xamarin con las herramientas de desarrollo nativas y las plataformas de desarrollo híbridas (Ionic, PhoneGap/Cordova).

Xamarin vs Desarrollo nativo vs híbrido

Xamarin vs desarrollo híbrido vs nativo en pocas palabras

Aunque las herramientas de desarrollo móvil híbrido están evolucionando rápidamente, todavía carecen del rendimiento y las capacidades nativas que Xamarin ofrece a aproximadamente el mismo costo. Sin embargo, el menor tiempo de comercialización sigue siendo su principal ventaja.

En cuanto a elegir entre Xamarin o iOS/Android nativo, debe tener en cuenta el tiempo y el presupuesto disponibles (el desarrollo nativo suele ser más caro y lleva más tiempo) y el tipo de aplicación. Si necesita un rendimiento de gama alta y una interfaz de usuario perfectamente ajustada, vale la pena optar por aplicaciones nativas.

A medida que surgen y se desarrollan más marcos multiplataforma, se hace más difícil para Xamarin mantener su posición en el mercado. Hoy en día, una serie de marcos ya han superado a Xamarin en términos de popularidad y rendimiento. React Native fue elegida la mejor opción de 2020, seguida de cerca por Flutter.

de la Cruz-plataforma móvil de marcos de uso de la dinámica. Fuente: Statista

Cada marco de aplicaciones multiplataforma presenta una funcionalidad y estructura diferentes. Para obtener una mejor imagen, consulte nuestros artículos de comparación: Xamarin vs Flutter y Xamarin vs React Native vs Ionic vs NativeScript. Este último, por ejemplo, a pesar de ser menos popular, sería especialmente valioso para aquellos desarrolladores que usan Angular framework, ya que están estrechamente interconectados.

Consejo

Al comparar los pros y los contras, los inconvenientes enumerados generalmente se consideran un daño colateral. La mayoría de los propietarios de negocios eligen la plataforma de desarrollo de aplicaciones móviles Xamarin, ya que reduce el tiempo de comercialización y el costo de ingeniería, al compartir el código y usar una sola pila de tecnología. Sin embargo, el propósito de la aplicación y su público objetivo podrían ser un factor aún más importante a considerar.

Según la experiencia de nuestro equipo, el mejor caso de uso para Xamarin son las soluciones móviles empresariales. Con una interfaz de usuario estándar que cubre el 90 por ciento de los proyectos, toda la lógica principal del producto se puede compartir fácilmente entre las plataformas. Por lo tanto, la personalización de la plataforma solo requerirá del 5 al 10 por ciento del esfuerzo de ingeniería.

En el caso de aplicaciones orientadas al consumidor con una interfaz de usuario pesada, la cantidad de código compartido disminuye drásticamente. Por lo tanto, el desarrollo multiplataforma de Xamarin pierde su mayor beneficio y podría igualar en tiempo y costo a las soluciones nativas.

Este artículo es parte de nuestra serie» Lo bueno y lo malo». Si está interesado en el desarrollo web, eche un vistazo a nuestra publicación de blog sobre

Lo Bueno y Lo Malo del Desarrollo Angular

Lo Bueno y lo Malo del Desarrollo de Pila Completa de JavaScript

Lo Bueno y lo Malo de Node.desarrollo de Aplicaciones Web js

Lo Bueno y lo Malo de ReactJS y React Native

Lo Bueno y lo Malo del Lenguaje de Programación Swift

Lo Bueno y lo Malo de la Herramienta de Automatización de Pruebas Selenium

Lo Bueno y lo Malo del Desarrollo de Aplicaciones Android

Lo Bueno y lo Malo de.Desarrollo de Redes

Lo Bueno y lo Malo de la Herramienta de Automatización de Pruebas GUI de Ranorex

Lo Bueno y Lo Malo del Desarrollo de Aplicaciones de Flutter

Deja una respuesta

Tu dirección de correo electrónico no será publicada.