Xamarin Forms  -  Apresentando o XAML Hot Reload
Hoje vamos apresentar o novo recurso disponível a partir da versão 4.1 do Xamarin Forms: XAML Hot Reload.

Se você não conhece o Xamarin Forms visite a seção Xamarin Forms do site onde vai encontrar dezenas de artigos apresentando os principais recursos dessa tecnologia.

Apresentando o XAML Hot Reload

O 'novo' recurso XAML Hot Reload for Xamarin.Forms, permite fazer alterações na interface do usuário do XAML e vê-las refletidas ao vivo, sem a necessidade de outra compilação e deploy da aplicação.

Assim o  XAML Hot Reload acelera o seu desenvolvimento e facilita a criação, a experimentação e a iteração na interface do usuário. E isso significa que você não precisa mais reconstruir seu aplicativo sempre que ajustar sua interface do usuário - ele mostra instantaneamente suas alterações no aplicativo em execução.

Quando seu aplicativo é compilado usando o XAML Hot Reload, ele funciona com todas as bibliotecas e controles de terceiros. Ele estará disponível para iOS e Android no Visual Studio 2019 e no Visual Studio 2019 para Mac. Isso funciona em todos os destinos de implantação válidos, incluindo simuladores, emuladores e dispositivos físicos.

Você não precisa fazer nada de especial para usar o Hot Reload; não há pacotes extras nem configurações especificas.  Apenas crie e faça o deploy de seu aplicativo como faria normalmente no Visual Studio usando um emulador ou dispositivo físico iOS ou Android.

Como o XAML Hot Reload usa o depurador e não uma conexão de rede, ele funciona de maneira confiável em redes corporativas complexas e em ambientes sem conectividade. Edite seu XAML e clique em Salvar. Ao recarregar, seu estado de navegação será mantido. Se você usar o padrão MVVM, o estado da interface do usuário vinculado ao seu modelo de visualização permanecerá intacto durante as recargas.

Legal , não é mesmo !!!

Nota: Quando este artigo foi escrito(novembro/2019) o XAML Hot Reload estava em public preview.

Habilitando o XAML Hot Reload

Para poder habilitar o XAML Hot Reload você precisa estar usando as versões mais recentes do Visual Studio:

Por padrão, por estar ainda em preview, o XAML Hot Reload esta desabilitado.

Estando com o ambiente corretamente configurado siga estas etapas para habilitá-lo:

Pronto ! Seu ambiente já esta preparado para usar o Hot Reload.

XAML Hot Reload : Funcionamento e limitações

Antes de começar a tentar recarregar tudo, é importante entender a funcionalidade e as limitações do XAML Hot Reload. Quando você salva as alterações em um arquivo XAML, o XAML Hot Reload entra em ação:

1 -  Primeiro, o XAML Hot Reload identifica o objeto runtime que corresponde ao objeto de nível superior do arquivo XAML que foi editado. Se a view ou página não estiver carregada no momento, a alteração será salva para mais tarde.

2- O loader XAML Xamarin.Forms é executado novamente no objeto existente, redefinindo suas propriedades e recriando seus filhos do arquivo XAML alterado.

3- O método InitializeComponent é chamado novamente no objeto para reconectar os objetos inflados recentemente a qualquer manipulador de eventos ou propriedades x:Name que você possa ter no seu código.

Naturalmente existem algumas limitações :

1- Alterações de código e no resource não são recarregadas. Você só pode recarregar as alterações no XAML. Alterações no seu código (incluindo coisas como adicionar novos manipuladores de eventos ou recursos, como imagens ou CSS) não serão recarregadas.

2- Algum estado da view pode ser perdido ao recarregar. Se você estiver modificando a aparência ou o estilo das views no código e no XAML, essas modificações não poderão ser reaplicadas após um recarregamento. Isso ocorre porque o código pode não ser executado novamente nos objetos XAML inflados recentemente.

Uma lista mais abrangente de limitações conhecidas está disponível na documentação do site. Na maioria dos casos, o XAML Hot Reload é resiliente o suficiente para lidar com as alterações não suportadas normalmente. Isso indicará XAML inválido ou outros problemas com o IntelliSense à medida que você edita seu arquivo XAML.

Com certeza novas atualizações irão melhorar a ferramenta ampliando suas capacidades e eliminando algumas de suas limitações.

"E esta é a mensagem que dele(Jesus) ouvimos, e vos anunciamos: que Deus é luz, e não há nele trevas nenhumas."
1 João 1:5

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti