Ferramentas comuns em TI: boas ou ruins?

Deseja sempre trabalhar no mesmo ambiente? Para que você não precise ir e voltar nos ambientes de desenvolvimento e ao usar ferramentas. O ideal, é claro, ainda está longe, mas o mundo da TI está se esforçando para isso. Hoje falamos sobre uma única biblioteca de API de plataforma cruzada. Inscreva-se agora!



Ao desenvolver aplicativos para iOS e Android usando o Xamarin, os desenvolvedores podem acessar qualquer API nativa usando C #. Essas ligações não apenas ajudam a usar as APIs apropriadas em C #, mas também fornecem funções poderosas dessa linguagem, como assíncrono / espera, eventos, delegados etc.

Essa é uma grande vantagem para os desenvolvedores, porque eles nunca terão que trabalhar fora do C #, independentemente de escreverem uma lógica comercial comum, interface do usuário ou acessar funções nativas. Um dos principais recursos que os programadores geralmente desejam ver ao desenvolver aplicativos de plataforma cruzada no Xamarin é a capacidade de acessar funções nativas comuns a partir de código comum sem precisar escrever suas próprias camadas de abstrações ou encontrar um plug-in gratuito criado pela comunidade.

O Xamarin.Essentials realiza o sonho de uma única API para acessar recursos como geolocalização, leituras de sensores, armazenamento seguro etc. para qualquer aplicativo criado no Xamarin!


APIs no Xamarin.Essentials


Na versão de avaliação, disponível hoje, as APIs do Xamarin.Essentials fornecem acesso a mais de 25 funções nativas de uma única biblioteca de API de plataforma cruzada, que pode ser acessada a partir do código comum, independentemente de como a interface do usuário é criada. Isso significa que você pode usar a API do Xamarin.Essentials com um único aplicativo Xamarin.Android ou um aplicativo Xamarin.Forms adaptado para trabalhar com iOS, Android e UWP. Apesar do grande número de funções, essa biblioteca é totalmente otimizada para a operação mais rápida e o menor impacto no tamanho do aplicativo, pois está protegido contra o vinculador. Isso significa que apenas as APIs e funções que você usa serão incluídas no seu aplicativo e todo o resto será excluído no momento da compilação.

A versão de avaliação da biblioteca, que usa o conjunto básico de APIs de plataforma cruzada, pode ser instalada no seu aplicativo através do NuGet:


O conjunto inicial de API foi determinado com base no feedback dos desenvolvedores do Xamarin sobre quais recursos eles gostariam de ver na biblioteca de API de plataforma cruzada. Com o tempo, expandiremos esta lista.

Introdução


A introdução à API do Xamarin.Essentials é fácil em qualquer aplicativo existente, seguindo apenas algumas etapas simples:

1. Abra um projeto existente ou crie um novo usando o modelo Aplicativo em branco no Visual Studio C # (para Android, iPhone e iPad ou plataforma cruzada).

2. Adicione o pacote Xamarin.Essentials NuGet ao projeto:

  1. Visual Studio No painel Gerenciador de Soluções, clique com o botão direito do mouse no nome da solução e selecione Gerenciar Pacotes NuGet. Encontre o Xamarin.Essentials e instale o pacote em TODOS os projetos, incluindo iOS, Android, UWP e as Bibliotecas .NET Standard.
  2. Visual Studio para Mac. No painel Solution Explorer, clique com o botão direito do mouse no nome do projeto e selecione Add> Add NuGet Packages ... Encontre o Xamarin.Essentials e instale o pacote em TODOS os projetos, incluindo iOS, Android e .NET Standard Libraries.

3. Adicione um link ao Xamarin.Essentials em qualquer uma das classes C # para fazer referência à API.

using Xamarin.Essentials; 

4. O Xamarin.Essentials requer uma pequena personalização extra para projetos do Android para obter acesso a funções especiais:

O Xamarin.Essentials deve ser inicializado usando o método OnCreate no MainLauncher ou qualquer outra atividade no projeto Android:

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

Para lidar com permissões de tempo de execução no Android, o Xamarin.Essentials deve obter qualquer OnRequestPermissionsResult. Adicione o seguinte código a todas as classes de atividade:

 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); } 

Feito! Agora você pode começar a usar a API Xamarin.Essentials em seu aplicativo. Cada API vem com documentação completa , incluindo trechos de código que você pode copiar no seu aplicativo.

Certifique-se de ler nosso Guia de introdução para obter mais informações.

Montagem da bússola


Durante um dos meus discursos no Microsoft Build 2018, mostrei como combinar os recursos das APIs Xamarin.Forms e Xamarin.Essentials para montar uma bússola entre plataformas em menos de 10 minutos. É tão simples quanto adicionar algumas imagens e uma pequena interface de usuário da bússola no aplicativo:

  <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> 

Consegui usar a API da bússola do Xamarin.Essentials no código acima para registrar eventos quando a bússola muda de posição, atualiza o texto do rótulo e gira a imagem. Tudo isso é feito com algumas linhas 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(); } } } 


Desta maneira simples, um aplicativo de bússola é criado! Você pode encontrar o código fonte completo e as imagens no GitHub.

Planos futuros


O Xamarin.Essentials foi exaustivamente testado, mas, no entanto, solicitamos que você deixe comentários durante a nossa versão de avaliação. Experimente a biblioteca em seus aplicativos e relate quaisquer problemas que encontrar ao trabalhar com o repositório Xamarin.Essentials GitHub .

Consideramos essa biblioteca como o elemento principal da plataforma Xamarin e sabemos que esse é um elemento essencial para todos os desenvolvedores e aplicativos. Portanto, integraremos o pacote NuGet do Xamarin.Essentials em cada modelo iOS, Android e Xamarin.Forms no Visual Studio e no Visual Studio para Mac para que os desenvolvedores possam acessar essas APIs desde os primeiros estágios de seus projetos.

Veja com seus próprios olhos


Você pode ver uma revisão completa do Xamarin, Xamarin.Forms e Xamarin.Essentials como parte da apresentação “Criando aplicativos móveis usando o Visual Studio e o Xamarin” no Microsoft Build 2018.



Informações Adicionais


Você pode visualizar nossa documentação para obter um guia completo sobre como começar e usar cada função do Xamarin.Essentials. Também fornecemos uma lista completa de links de API que você pode exibir na Internet para aprender sobre todos os detalhes das APIs do Xamarin.Essentials.

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


All Articles