Herramientas comunes en TI: ¿buenas o malas?

¿Te gustaría trabajar siempre en el mismo entorno? Para que no tenga que saltar de un lado a otro en entornos de desarrollo y al usar herramientas. El ideal, por supuesto, aún está lejos, pero el mundo de TI se esfuerza por lograrlo. Hoy hablamos de una única biblioteca API multiplataforma. Únete ahora!



Al desarrollar aplicaciones para iOS y Android con Xamarin, los desarrolladores pueden acceder a cualquier API nativa con C #. Estos enlaces no solo ayudan a usar las API apropiadas en C #, sino que también proporcionan funciones potentes de este lenguaje, como asíncrono / espera, eventos, delegados, etc.

Esta es una gran ventaja para los desarrolladores porque nunca tendrán que trabajar fuera de C #, independientemente de si escriben una lógica comercial común, una interfaz de usuario o acceden a funciones nativas. Una de las características clave que los programadores a menudo desean ver al desarrollar aplicaciones multiplataforma en Xamarin es la capacidad de acceder a funciones nativas comunes desde un código común sin tener que escribir sus propias capas de abstracciones o encontrar un complemento gratuito creado por la comunidad.

¡Xamarin.Essentials hace realidad el sueño de una API única para acceder a funciones como geolocalización, lecturas de sensores, almacenamiento seguro, etc., para cualquier aplicación creada en Xamarin!


API en Xamarin.


En la versión de evaluación, disponible hoy, las API de Xamarin.Essentials proporcionan acceso a más de 25 funciones nativas desde una única biblioteca API multiplataforma, a la que se puede acceder desde el código común, independientemente de cómo se cree la interfaz de usuario. Esto significa que puede usar la API Xamarin.Essentials con una sola aplicación Xamarin.Android o una aplicación Xamarin.Forms adaptada para trabajar con iOS, Android y UWP. A pesar de la gran cantidad de funciones, esta biblioteca está totalmente optimizada para la operación más rápida y un impacto mínimo en el tamaño de la aplicación, ya que está protegida del enlazador. Esto significa que solo las API y funciones que utiliza se incluirán en su aplicación, y todo lo demás se eliminará en el momento de la compilación.

La versión de evaluación de la biblioteca, que utiliza el conjunto básico de API multiplataforma, se puede instalar en su aplicación a través de NuGet:


El conjunto inicial de API se determinó en función de los comentarios de los desarrolladores de Xamarin sobre las características que les gustaría ver en la biblioteca de API multiplataforma. Con el tiempo, ampliaremos esta lista.

Empezando


Comenzar con la API Xamarin.Essentials es fácil en cualquier aplicación existente siguiendo solo unos simples pasos:

1. Abra un proyecto existente o cree uno nuevo usando la plantilla de aplicación en blanco en Visual Studio C # (para Android, iPhone y iPad o multiplataforma).

2. Agregue el paquete Xamarin.Essentials NuGet al proyecto:

  1. Visual Studio En el panel Explorador de soluciones, haga clic con el botón derecho en el nombre de la solución y seleccione Administrar paquetes NuGet. Encuentre Xamarin.Essentials e instale el paquete en TODOS los proyectos, incluidos iOS, Android, UWP y .NET Standard Libraries.
  2. Visual Studio para Mac. En el panel Explorador de soluciones, haga clic con el botón derecho en el nombre del proyecto y seleccione Agregar> Agregar paquetes NuGet ... Encuentre Xamarin.Essentials e instale el paquete en TODOS los proyectos, incluidas las bibliotecas estándar de iOS, Android y .NET.

3. Agregue un enlace a Xamarin.Essentials en cualquiera de las clases de C # para hacer referencia a la API.

using Xamarin.Essentials; 

4. Xamarin.Essentials requiere un poco de personalización adicional para proyectos de Android con el fin de obtener acceso a funciones especiales:

Xamarin.Essentials debe inicializarse utilizando el método OnCreate dentro del MainLauncher o cualquier otra Actividad en el proyecto de Android:

 Xamarin.Essentials.Platform.Init(this, bundle); 

Para manejar los permisos de tiempo de ejecución en Android, Xamarin.Essentials debe obtener cualquier OnRequestPermissionsResult. Agregue el siguiente código a todas las clases de actividad:

 public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults) { Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults); base.OnRequestPermissionsResult(requestCode, permissions, grantResults); } 

Hecho Ahora puede comenzar a usar la API Xamarin.Essentials en su aplicación. Cada API viene con documentación completa , incluidos fragmentos de código que puede copiar en su aplicación.

Asegúrese de leer nuestra Guía de inicio para obtener más información.

Brújula


Durante uno de mis discursos en Microsoft Build 2018, mostré cómo combinar las capacidades de las API Xamarin.Forms y Xamarin.Essentials para armar una brújula multiplataforma en menos de 10 minutos. Es tan simple como agregar algunas imágenes y una pequeña interfaz de usuario de brújula en la aplicación:

  <Grid> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Image HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Source="compass.png"/> <Image HorizontalOptions="Center" VerticalOptions="Center" Source="arrow.png" x:Name="ImageArrow"/> <Label Grid.Row="1" x:Name="LabelInfo" VerticalOptions="Center" HorizontalOptions="Center" /> </Grid> 

Pude usar la API de brújula de Xamarin.Essentials en el código anterior para registrar eventos cuando la brújula cambia de posición, actualiza el texto de la etiqueta y gira la imagen. Todo esto se hace con unas pocas líneas de código:

  using Xamarin.Forms; using Xamarin.Essentials; namespace MyCompass { public partial class MainPage : ContentPage { public MainPage() { InitializeComponent(); // Register for reading changes Compass.ReadingChanged += Compass_ReadingChanged; } void Compass_ReadingChanged(CompassChangedEventArgs e) { LabelInfo.Text = $"Heading: {e.Reading.HeadingMagneticNorth}"; ImageArrow.Rotation = e.Reading.HeadingMagneticNorth; } protected override void OnAppearing() { base.OnAppearing(); Compass.Start(SensorSpeed.Ui); } protected override void OnDisappearing() { base.OnDisappearing(); Compass.Stop(); } } } 


¡De esta manera simple, se crea una aplicación de brújula! Puede encontrar el código fuente completo y las imágenes en GitHub.

Planes futuros


Xamarin.Essentials ha sido probado exhaustivamente, pero le pedimos que deje comentarios durante nuestra versión de evaluación. Pruebe la biblioteca en sus aplicaciones e informe cualquier problema que encuentre mientras trabaja con el repositorio Xamarin.Essentials GitHub .

Consideramos esta biblioteca como el elemento principal de la plataforma Xamarin y sabemos que este es un componente importante para todos los desarrolladores y aplicaciones. Por lo tanto, integraremos el paquete Xamarin.Essentials NuGet en cada plantilla de iOS, Android y Xamarin.Forms en Visual Studio y Visual Studio para Mac para que los desarrolladores puedan acceder a estas API desde las primeras etapas de sus proyectos.

Mira con tus propios ojos


Puede ver una revisión completa de Xamarin, Xamarin.Forms y Xamarin.Essentials como parte de la presentación "Creación de aplicaciones móviles con Visual Studio y Xamarin" en Microsoft Build 2018.



Información adicional


Puede ver nuestra documentación para obtener una guía completa sobre cómo comenzar y usar cada función Xamarin.Essentials. También proporcionamos una lista completa de enlaces de API que puede ver en Internet para conocer todos los detalles de las API de Xamarin.Essentials.

Source: https://habr.com/ru/post/es415021/


All Articles