9. • Xamarin.iOS hace una
compilación “Ahead Of Time”
(AOT) para producir un binario
ARM para la Apple App Store.
• Xamarin.Android aprovecha la
compilación “Just In Time (JIT)”
compilation en el dispositivo
Android.
Rendimiento
14. Escribe todo con C#
C# ahora se ejecuta en 2.6+ miles de
millones de dispositivos
Notas del editor
Xamarin es una empresa fundada en 2011 por el estadounidense Nat Friedman y el mexicano Miguel de Icaza,
ellos fueron quienes fundaron Ximian en 2000 la empresa que desarrollo el proyecto Mono que es una implementación opensource de .NET que funciona sobre Linux,
posteriormente en 2009 se libero Monotouch que es la versión de mono para iOS ahora conocido como Xamarin.iOS
En 2011 se libero la version de MonoDroid que actualmente conocemos como Xamarin.Android
Y en 2012 fue la liberación de Xamarin.Mac que nos permite crear apps para Mac
En 2016 se anuncio la compra de Xamarin por Microsoft lo cual incluyo que durante ese año se anunciara la desaparición de Xamarin Studio para PC dejando a Visual Studio como entorno de desarrollo unico para Xamarin
Si quieres conocer mas sobre la historia de Xamarin pueden visitar el sitio xamarin.com/timeline
Xamarin es una solución que se adapta al ciclo de desarrollo de apps utilizando tecnologías Microsoft
Desde contruir la aplicación utilizando Visual Studio en una PC o una MAC
Pasando por crear pruebas automaticas de nuestra app usando Xamari TestCloud,
tambien podemos automatizar las compilaciones con Visual Studio Team Services
Y finalmente podemos completar el ciclo utilizando Hockey App o en el futuro Mobile Center para distribuir nuestras versiones de beta y poder monitear el comportamiento de nuestra app en dispositivos de usuarios comunes.
Otro tema interesante es que Xamarin es Open Source, esto quiere decir que pueden acceder al código de Xamarin.Android, Xamarin.iOS y Xamarin.Forms desde Github.
Esto es una gran ventaja para nosotros porque ademas de poder aportar al producto podemos realizar correcciones especificas para nuestros desarrollos y crear nuestras propias versiones de Xamarin para uso propio o tambien nos permite tomar como base código del producto para crear nuestros propios controles o flujos entendiendo como funciona la implementación propia de Xamarin.
La idea principal de Xamarin es crear apps móviles para iOS, Android, Windows y Mac utilizando código C#, y generalmente tendremos dos capas, una capa de código compartido el cual debe funcionar en todas las plataformas sin ningun cambio y una segunda capa generalmente de interfaz de usuario aunque puede incluir interaccion con sensores o con sdks de otros proveedores que aunque desarrollemos con C# tienen una implementación diferente por plataforma,
ejemplos de la capa compartida son las comunicaciones, manejo de bases de datos locales, trabajo con formatos de datos como xml o Json. En esta pantalla vemos codigo de una clase y codigo para consumir un servicio rest, este codigo funciona en las 4 plataformas sin ningun problema y si estamos trabajando con alguna tecnologia propia del ecositema Microsoft como ASP o WPF tambien podriamos reutilizar este codigo.
Y ademas de la interfaz de usuario otros ejemplos de la segunda capa que mencione son la interacción con la camara del dispositivo, uso de un sdk para conectarse con hardware de un proveedor, interacción con Apple watch o Android Wear, entre otras funcionalidades, cabe mencionar que existen muchas funcionalidades de este tipo que ya cuentan con plugins desarrollados por. Xamarin o por otros desarrolladores que permiten que nosotros no tengamos que desarrollar tres veces al encapsular todo eso en una capa uniforme para nosotros.
Esto nos permite darle una experiancia a los usuarios acorde a la plataforma que estan utilizando
Esta imagen me gusta mucho para resumir lo que es Xamarin,
primero tenemos una capa donde podemos consumir muchos de los espacios de nombres que ya conocemos como desarrolladores .NET
Y podemos aplicar estos a apps moviles,
esto no limita el potecnial de nuestras apps porque adicionalmente tenemos soporte para los espacios de nombres propios de cada plataforma los cual podemos ocupar sin ningun problema en conjunto con los propios de .NET para tener aplicaciones con cualquier tipo de funcionalidad.
There is no compromise on performance.
Xamarin apps look and feel native because they are native.
There is no compromise on performance.
Xamarin apps look and feel native because they are native.
There is no compromise on performance.
Xamarin apps look and feel native because they are native.
There is no compromise on performance.
Xamarin apps look and feel native because they are native.
iCircuit is made by Frank Krueger, a long time Mono & Xamarin developer.
Sharing code lead to 70 to 90% code reuse across platforms speeding up development
Real-time circuit simulator and editor used to design analog and digital circuits
http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq