A Microsoft fornece uma ferramenta para desenvolver aplicativos nativos Android e iOS em linguagens de programação como .NET ou C #.
O objetivo do Microsoft Technology Associate é facilitar que os desenvolvedores ponto-net utilizem o potencial do mais recente kit de ferramentas Blazor para a criação de aplicativos da web ou aplicativos nativos iOS / Android. A Microsoft anunciou uma 'construção Blazor' experimental para Blazor, que é um recurso da plataforma ASP.NET que permite aos desenvolvedores criar aplicativos da web interativos e interface de usuário com a ajuda de C # em vez de JavaScript. Essa vinculação dos componentes permite que eles criem aplicativos móveis nativos usando .NET ou C # para Android ou iOS com ajuda de programação web familiar.
No ano de 2019, a Microsoft apresentou uma solução usando a mesma tecnologia em que desenvolveu um aplicativo desktop Flutter, voltado para celular e escrito em dardo, mas com a ajuda de Blazor e .NET. O Microsoft Blazor é uma estrutura experimental de interface de usuário da web do ASP.NET que visa trazer aplicativos em todos os navegadores por meio do WebAssembly. Ele permite que os desenvolvedores criem verdadeiros aplicativos full-stack e compartilhem código entre clientes e servidores sem qualquer necessidade de plug-ins ou transpilação. A Microsoft está experimentando a plataforma para atender aos requisitos dos desenvolvedores que estão familiarizados com os fundamentos da programação da Web e padrões para a criação de aplicativos nativos. Neste artigo, vamos explorar como o Microsoft Blazor está revolucionando os serviços de desenvolvimento de sites em .NET.
Por que o Blazor é o novo hype?
O Blazor da Microsoft é a mais recente estrutura de interface de usuário do lado do cliente derivada da comunidade ASP.NET. O aspecto de maior venda dessa plataforma é sua capacidade de desenvolver experiências ricas de interface de IU da web com a ajuda de CSS, HTML ou C # em vez de JavaScript. Tem tudo o que a maioria dos desenvolvedores sonham há tanto tempo. Como desenvolvedor ou associado do site da Microsoft, se você tem se mantido atualizado com os novos desenvolvimentos no campo do ASP.NET nos últimos anos, certamente já ouviu falar do Blazor. A estrutura JavaScript tem sido a medida de fato desde seu início para o desenvolvimento front-end da web e os desenvolvedores nunca pareceram ficar felizes com ela. E houve muitos transpile e superconjuntos que surgiram nos últimos dois anos, como Dart, CoffeeScript, Elm, Scala, etc., a fim de melhorar a plataforma JavaScript e torná-la mais sustentável. No entanto, o Blazor já começou o processo, pois tem o potencial de ser uma plataforma de programação eficiente e altamente produtiva além de seu design original e prova ser um contemporâneo direto para as estruturas de desenvolvimento de aplicativos de página única do JavaScript. Os principais objetivos desta estrutura são-
Criação de aplicativos da web / interface do usuário ricos e interativos com a ajuda de C # em vez de JavaScript
Compartilhe ou colete lógica de aplicativo do lado do servidor ou do cliente desenvolvida no .NET framework
Renderização de CSS e HTML da interface do usuário para suporte ao navegador, que inclui navegadores móveis
Integrando as plataformas de hospedagem mais recentes, como Docker e muito mais.
A estrutura Blazor é uma solução de desenvolvimento de aplicativo de página única que permite aos usuários construir uma interface de usuário da web interativa com a ajuda de C # em vez de JavaScript. Inspirado em estruturas JavaScript como Angular, Vue ou React, ele usa conceitos semelhantes para desenvolver soluções interativas. Qualquer aplicativo Blazor é desenvolvido a partir dos componentes reutilizáveis do Razor, ou seja, sintaxe de marcação para C # e HTML. Com o Blazor, a Microsoft compartilha vários experimentos em andamento e os perfura com os principais aplicativos de desktop com a ajuda do Web Window. Mas os mais recentes para o desenvolvimento de aplicativos móveis nativos são onde a programação do Blazor é combinada com os controles do Xamarin.
Leia o blog - A Microsoft está avançando seu trabalho para direcionar o desenvolvimento de aplicativos móveis com o Blazor
O que torna o Blazor uma plataforma flexível para a melhor empresa de desenvolvimento da Web?
O Blazor é arquitetura, pois tem a separação entre como as alterações são processadas e como ele calcula os modelos de componente da interface do usuário ou as alterações do aplicativo. Este recurso diferencia esta plataforma de seus contemporâneos, ou seja, outras estruturas de desenvolvimento de interface de usuário, como ReactJS, Angular ou React Native, que só podem desenvolver tecnologias da web baseadas em interfaces de usuário. Ao utilizar vários renderizadores para desenvolver soluções, o Blazor não só é capaz de desenvolver os componentes baseados na web, mas também pode desenvolver interfaces de usuário móveis nativas. Além disso, não requer que os componentes sejam desenvolvidos de forma diferente, portanto, os componentes desenvolvidos para renderizadores da web não podem ser usados junto com outros renderizadores móveis nativos. Mas o modelo de programação permanece o mesmo, o que significa que, uma vez que os desenvolvedores se familiarizem com este modelo, podem facilmente criar interfaces de usuário com a ajuda de qualquer renderizador. Os componentes de seu modelo de aplicativo são-
WebAssembly Renderer
Renderização Remota
Renderizador de elétrons
Mobile Blazor Binding Renderer
Modelo de hospedagem - o modelo de AP do Blazor em seu núcleo é responsável por calcular e manter as alterações da interface do usuário nos serviços de desenvolvimento ASP.NET. No entanto, os desenvolvedores também podem usar outros renderizadores para controlar a exibição e as atualizações. Esses modelos de renderizador de aplicativo são geralmente chamados de modelos de hospedagem e, no momento do desenvolvimento, geralmente há quatro modelos no Blazor. Eles são-
Blazor Server
BlazorWebAssembly
Blazor Electron
Blazor Bindings
Desses modelos, o Blazor Server é o único modelo categorizado como a produção com suporte durante o tempo de escrita, enquanto Blazor Bindings e Electron são marcados como modelos com suporte experimental.
Microsoft Technology Associate: Recursos do Blazor
Já foi anunciado que o ano de 2020 seria definitivamente um ápice para o Blazor da Microsoft e em breve ele se tornará mainstream. A plataforma é genuinamente simples e fácil de usar, pois combina a conveniência do Razor (navegador + Razor) com os conceitos ASP.NET. O Blazor também simplificou os padrões incríveis nas estruturas JavaScript populares, como React ou Angular, além de aproveitar os modelos oferecidos pelas convenções Dotnet ou Razor. Blazor é uma plataforma incrível que facilita a criação de interfaces de usuário web interativas do lado do cliente com a ajuda da estrutura ASP.NET. Com a ajuda da plataforma Blazor, os desenvolvedores podem reutilizar bibliotecas e códigos de qualquer segmento de aplicativos do lado do servidor. Como também usa a estrutura ASP.NET para desenvolver aplicativos interativos do lado do cliente, ele se baseia no já poderoso conjunto de estruturas e bibliotecas. Alguns dos recursos úteis desta plataforma que a fazem se destacar são-
Ele tem muitos componentes de interface de usuário predefinidos para que os desenvolvedores possam começar a criar aplicativos incríveis com facilidade. Este recurso é muito apreciado por todas as empresas ou organizações de desenvolvimento web personalizado
Este pacote não requer tecnologia ou recursos JavaScript. Em vez disso, as tarefas podem ser realizadas facilmente usando C #. Isso é para melhorar a produtividade geral dos desenvolvedores ou organizações
ele tem suporte integrado para autenticar os componentes de desenvolvimento de aplicativos para o .NET framework
Os desenvolvedores podem chamar recursos de JavaScript da metodologia ASP.NET com a ajuda de uma função chamada 'interoperabilidade de JavaScript'
Todos os desenvolvedores de sites da Microsoft consideram o Blazor atraente porque é desenvolvido pela comunidade ASP.NET como uma estrutura para a criação de aplicativos do lado do cliente em execução no WebAssembly. Ele oferece os benefícios de uma estrutura de aplicativo de página única moderna e rica usando a tecnologia ASP.NET ponta a ponta. Além disso, a ideia dessa estrutura pode potencialmente combinar as eficiências do C #, e o Razor é um projeto da web do lado do cliente que pode ser executado completamente no navegador. Ele tem todos os recursos necessários para a criação de uma estrutura web moderna, alguns dos quais estão listados abaixo-
Modelo para desenvolver uma interface de usuário combinável
Carregamento em tempo real do navegador durante a fase de desenvolvimento do aplicativo
Usando os recursos de desenvolvimento da web mais recentes
Injeção de dependência
Capacidade de rodar em navegadores antigos
Depuração ASP.NET completa
Segmentos desenvolvidos da plataforma de desenvolvimento web aberta sem a necessidade de plug-ins
Rich Intelligence e ferramentas de desenvolvimento de IU
Renderização do lado do servidor
Leia o blog - Qual é a diferença entre C #, .NET, ASP.NET, Microsoft.NET e Visual Studio?
Como o Microsoft Blazor se compara ao desenvolvimento da Web interativo em ASP.NET
Qualquer ASP.NET regular processa a interface do usuário como um bloco de strings. Blazor, por outro lado, desenvolveu ou renderizou uma árvore, mas não uma corda. Este framework é uma representação de um Document Object Model, o que significa que ele mantém os componentes na memória enquanto o Blazor mantém a representação. Quaisquer alterações ou modificações feitas nesses componentes podem acionar uma atualização da interface do usuário para os mesmos elementos do Document Object Model. Há uma grande diferença entre esses dois processos de renderização de strings. Em particular, a melhor empresa de desenvolvimento web usa códigos Blazor e não pode acessar os códigos de modelo de objeto de documento diretamente. Essa limitação funciona de maneira diferente para ASP.NET core e Razor, pois eles dependem da estrutura JavaScript para obter acesso completo aos elementos da interface do usuário de aplicativos interativos.
O resort Blazor renderiza as árvores para voltar à representação do Document Object Model (DOM) anterior e procurar por partes específicas do mesmo modelo. Posteriormente, essa estrutura os atualiza, edita ou exclui de acordo. A estrutura simplifica as alterações feitas no modelo de documento ou manipula a árvore de renderização para executar as alterações. Esse mecanismo é algo que permite que a linguagem C # trabalhe na renderização de aplicativos interativos do lado do cliente. Os prós do Blazor do lado do cliente são-
Para os serviços de desenvolvimento de sites , o Blazor permite que os desenvolvedores executem diretamente o código ASP.NET no navegador. Este framework também quebra o monopólio do framework JavaScript em uma plataforma full-stack, pois devido à sua assistência, os profissionais .NET não precisam se tornar poliglotas de programação. Eles também podem desenvolver soluções inteiras sem escrever códigos em JavaScript
Os códigos da IU do Blazor são compilados no ASP.NET como uma linguagem intermediária e isso significa que a estrutura tem o mesmo potencial que o código JavaScript. Seu modelo de compilação também pode criar uma grande diferença para soluções da web de navegadores orientados para o desempenho.
Os desenvolvedores podem validar facilmente o código entre o servidor ou os aplicativos do lado do cliente. Por exemplo, considere que uma plataforma de serviços de desenvolvimento ASP.NET tem a lógica de validação que pode ser aplicada ao back-end e também ao navegador. O Blazor permitiu que eles criassem uma biblioteca de classes no padrão ASP.NET e a compartilhassem entre os aplicativos do lado do servidor ou do lado do cliente. Além disso, quaisquer alterações na lógica de validação serão aplicadas automaticamente a cada uma dessas plataformas.
Blazor Server
Este modelo é um dos modelos oficialmente suportados no momento e, com sua ajuda, os aplicativos podem ser executados facilmente no servidor, mas não no navegador. O Blazor Server usa a conexão SignalR para transmitir as atualizações da interface do usuário do servidor para o navegador. Este modelo de hospedagem de servidor está atualmente na opção com suporte de estado de produção para o desenvolvimento básico da Microsoft. Sob esse modelo, os aplicativos orientados à plataforma são executados no servidor e no topo do tempo de execução do ASP.NET. Quando os desenvolvedores ou usuários carregam este aplicativo, primeiro é feito o download de um pequeno arquivo JavaScript que estabelece uma conexão bidirecional em tempo real com o servidor (conexão SignalR). Qualquer interação entre um usuário e o aplicativo é instantaneamente transmitida de volta ao servidor correspondente com a conexão para o processamento do servidor. Assim que o processamento do servidor for concluído, as atualizações e alterações da interface do usuário serão transmitidas de volta para o mesmo cliente e aplicadas ao Document Object Model. A Microsoft desenvolveu um algoritmo de alto desempenho para calcular diferenças e transferi-las em um formato binário compacto. Ao contrário da maioria dos outros aplicativos da web interativos que geralmente assumem uma abordagem sem estado, os modelos de aplicativos de servidor Blazor mantêm o mesmo estado em todo o servidor.
Para a comunidade de desenvolvedores, é necessário repensar a abordagem em alguns casos, mas, em geral, eles podem usar conceitos semelhantes aos usados em aplicativos ASP.NET principais. A maior vantagem desse modelo é que você não precisa desenvolver outra interface de programação de aplicativo para a comunicação entre o servidor e o cliente. Isso ocorre porque todos os aspectos são executados no servidor para que uma empresa ou desenvolvedor de desenvolvimento da Web personalizado possa chamar diretamente essas funções de acordo com sua lógica. Devido aos processos computacionais no servidor, as soluções de web interativas do Blazor Server representam um ajuste perfeito para dispositivos de baixo custo ou thin clients.
BlazorWebAssembly
É um grande negócio para os modelos de hospedagem obterem mais, mas por boas razões. Este modelo oferece competição direta para o desenvolvimento de aplicativos interativos em JavaScript, como React, VueJS ou Angular. Usando o WebAssembly, os desenvolvedores podem escrever facilmente a lógica e os códigos da interface do usuário com a ajuda de C # em vez de JavaScript. Quando a Microsoft anunciou o Blazor inicialmente, era inteiramente sobre os modelos WebAssembly. Este modelo permitiu que um aplicativo carregasse primeiro no formato de tempo de execução e, depois disso, carregasse todo o assembly do aplicativo junto com suas dependências. As dependências de BlazorWebAssembly incluem a estrutura, System.dll, etc., mas o tempo de execução está no formato binário e outros assemblies estão no mesmo formato para que os desenvolvedores possam usá-lo no desenvolvimento de aplicativo ASP.NET usual.
O Blazor WebAssembly utiliza o código do interpretador para executar ou carregar um aplicativo e, neste modo, o interpretador pode executar uma interface de usuário do aplicativo interativa. A única parte desse processo que é combinada no modo WebAssembly é seu tempo de execução mono. Sua principal vantagem é o desempenho e a compensação com os arquivos grandes ou volumosos. Algumas das vantagens do WebAssembly no Blazor são-
ele compila os arquivos estáticos, o que significa que não há requisitos para os desenvolvedores considerarem o tempo de execução do ASP.NET no servidor
A maioria das tarefas no Blazor são transferidas do servidor para seus clientes
Os aplicativos também podem ser executados no modo ou estado offline
Facilita o compartilhamento de código onde os componentes C # podem ser compartilhados efetivamente entre o servidor e os clientes
Geralmente, em aplicativos ASP.NET, um compilador just-in-time é utilizado, mas recentemente não tem suporte do WebAssembly. No entanto, ele pode ser adicionado em sua versão futura do padrão, mas por enquanto, outro é usado para executar o código ASP.NET. A plataforma associada da Microsoft está trabalhando em planos e em uma compilação Ahead Of Time (AOT) para compilar aplicativos ou montagens de estrutura diretamente no WebAssembly. Esta compilação resulta em um tempo de desenvolvimento de aplicativo interativo eficaz e provará ser orientado para o desempenho em termos de tempo de execução.
The Bottom Line
Neste momento em que já existe muita atenção e discussão em torno da entrada do Blazor no desenvolvimento .NET, os desenvolvedores têm muitas opções. Neste artigo, examinamos a introdução e os conceitos básicos do Blazor, Sever, WebAssembly, etc. da Microsoft. Também discutimos como essa estrutura é implantada atualmente para o desenvolvimento de aplicativos web interativos na plataforma ASP.NET. O Blazor é uma plataforma empolgante e tem um amplo espaço para melhorias, especialmente em termos de desenvolvimento e ferramentas.
Além disso, WebAssembly é sua tecnologia principal que a maioria das empresas de desenvolvimento de aplicativos ou desenvolvedores front-end não pode simplesmente ignorar. Esta é uma excelente plataforma para profissionais ASP.NET que lhes permite tirar proveito dela para se tornarem desenvolvedores full-stack sem ter que aprender linguagens de programação adicionais. Essa plataforma fornece clareza quando se trata de desenvolver uma interface de usuário para um único modelo de programação e pode ser aprendida facilmente junto com a aplicação dos componentes da estrutura em qualquer lugar.