¿Qué es la XAMARINA? ¿Es un marco? O compilador? ¿O es solo un traductor de código?

Recuerde: mucho ha cambiado desde hoy 31/03/2016

Xamarin es una empresa detrás del proyecto mono y más. El proyecto Mono es una implementación .net en plataformas que no son de Windows. Xamarin ahora es propiedad de Microsoft.

mono framework consta de (como .net framework):

  • tiempo de ejecución mono (CLR Common Language Runtime ~ JVM)
  • Bibliotecas de clase base de BCL .net (conjunto de bibliotecas administradas Langugage de infraestructura común CIL) para cadena, archivo IO, red, … lo que sea
  • conjunto de utilidades de línea de comandos (compiladores, enlazadores, firma de código, generadores de proxy de jabón …)
  • IDE llamado MonoDevelop – Visual Studio en Linux y MacOSX

Entonces, las cosas anteriores son como .net y estas cosas fueron de código abierto bajo GPL, hoy MIT.

En los últimos 5-6 años, el equipo de Xamarin creó tiempo de ejecución modificado y herramientas para iOS y Android que se integraron en MonoDevelop y este IDE se llamaba Xamarin.Studio. Las herramientas se aprovechan en iOS y Android toolchain, lo que utilizan Object-C / Swift y los desarrolladores de Android.

Para iOS, se agregó el concepto de AoT (compilación anticipada) porque iOS (Apple) no permitía el código interpretado (VM como JVM). AoT es equivalente a ART (tiempo de ejecución avanzado en ANdroid) donde el bytecode (dex) se precompila durante la compilación en nativo y no se interpreta en Dalvik VM (JVM).

Bridge es solo una nomenclatura: esta es una capa delgada (en términos de Xamarin, enlaces) que permite llamadas de C # a c / c ++ / objectivo-c / java, capa de interoperabilidad. En java esto se llama JNI y en .net PInvoke. Nada nuevo. Las herramientas y la base de conocimiento y la sinergia del equipo lo hicieron posible.

¿Es marco? Sí.

¿Es compilador? Sí. Conjunto de compiladores.

¿Es traductor de código? Jein (Ja und nein en alemán) tiene algunas herramientas que hacen algo similar, pero no es AST to AST traductor (transpiler).

Podría ir más profundo, pero esto es suficiente para empezar.

Xamarin tiene varias características.

Marco de referencia. Utiliza el marco mono de código abierto, que es una implementación del marco .net en múltiples sistemas operativos que no son Windows.

Idioma. Han creado / usado los compiladores mono para c # yf # y los usaron para compilar aplicaciones escritas para ios, android y algunas otras plataformas.

Enlaces de marco. Ios, Android y otros tienen API nativas que los desarrolladores usan para llamar. Xamarin ha creado enlaces de marco para todos los c # / f # para llamar a estas API.

Ide plugins. Puede usar xamarin studio o visual studio para crear aplicaciones simplemente presionando la secuencia de teclas de compilación y ejecución. Obtiene advertencias y errores de tiempo de compilación como cualquier otra secuencia de compilación.

Diseño de superficies. Han creado superficies de diseño ios y android para xamarin studio y visual studio.

Estoy seguro de que hay otras cosas que he olvidado que hacen.

Xamain no es una plataforma nueva, más de 15,000 compañías confían en Xamarin. llegó a la escena por primera vez en 2011, fundada por la compañía de software con sede en San Francisco, California, propiedad de Microsoft, que también creó Mono, Mono para Android y MonoTouch.

Xamarin tiene características y ofertas distintas, como una plataforma avanzada de desarrollo de aplicaciones móviles multiplataforma, que apenas está disponible en los marcos existentes en el mercado cuando se cuestiona el acceso nativo y las experiencias de los usuarios nativos.

Aquí hay algunos beneficios:

  1. Capacidad de integración API perfecta
  2. Fácil colaboración y compartir
  3. Ventajas de codificación de C #
  4. Fácil disponibilidad de desarrolladores
  5. Apoya la singularidad de la plataforma
  6. Desarrollo rápido
  7. Económico

He encontrado un blog maravilloso sobre este tema, para obtener más detalles sobre esta tecnología, visite aquí “9 Razones para elegir Xamarin para el desarrollo de aplicaciones móviles”.

A2A. Me estoy yendo de un poco de investigación web. Parece que es un compilador cruzado para plataformas iOS y Android, y traduce llamadas API a través de una biblioteca puente. También parece que tiene su propio IDE para Mac y Windows, aunque puede integrarse en Visual Studio. No veo un IDE para Linux.

Parece que la idea es que puedes desarrollar una aplicación. para Windows Phone, iOS y Android de Microsoft, usando exactamente la misma base de código para todos ellos, siempre que esté usando C #.

A2A. Xamarin te permite escribir aplicaciones multiplataforma usando C # y .NET. Proviene de un mundo donde Miguel de Icaza portó .NET a Linux, llamándolo Mono. El liderazgo del proyecto Mono terminó en Novell, pero luego Novell despidió al equipo, y de Icaza y Nat Friedman comenzaron Xamarin en 2011.

Parece que si vienes de un mundo de C # y Microsoft .NET, esta podría ser una forma plausible de desarrollar aplicaciones multiplataforma. (No vivo en ese mundo, así que no sé mucho más).

Es una herramienta para desarrollar aplicaciones multiplataforma utilizando un solo lenguaje -C #. Puede compartir código y UI (usando Xamarin.forms) para crear aplicaciones en plataformas iOS, Android y Windows.

Xamarin no es framework o no es un compilador o no es un traductor de código. Xamarin es una compañía de software con sede en San Francisco, California, creada en mayo de 2011. Xamarin ha introducido marcos maravillosos para desarrollar aplicaciones móviles (Mono Framwork, Xamain.Android, Xamarin.iOS y Xamarin.Forms) y muchas otras herramientas como Xamarin Test Cloud, Xamarin Profiler, Xamarin Insite, etc., con la ayuda de estos desarrolladores de Frameworks C # pueden desarrollar aplicaciones móviles (Android, iOS, Windows).

Xamarin es un marco para desarrollar una aplicación móvil multiplataforma usando C #.

Existen varios marcos que ofrecen desarrollo de aplicaciones multiplataforma para desarrolladores de xamarin. Por lo general, usan HTML y JavaScript. Usando estos marcos, las aplicaciones se desarrollan como un sitio web para una aplicación móvil que usa bibliotecas JS, luego el sitio web está empaquetado en un contenedor que da la sensación de una aplicación nativa. Hay algunas desventajas de este marco: primero, no podrá acceder a elementos nativos de la interfaz de usuario. En segundo lugar, la aplicación se ejecuta lentamente y no da la sensación de una aplicación nativa.

Xamarin es diferente porque ofrece un solo lenguaje C # y tiempo de ejecución que funciona en tres plataformas móviles (Android, iOS y Windows). De Xamarin obtenemos una aplicación móvil que se ve y se siente completamente nativa. Aquí escribimos una base de código C # que tendrá acceso a todas las funciones que están disponibles para el SDK nativo.

Es un marco.

No es un compilador cruzado ni su traductor de código. Vincula las bibliotecas Java de Android en C #, lo que le permite utilizar esas bibliotecas de Android desde C #.

Editar: Gracias Miljenko Cvjetko por la corrección en la encuadernación.