- 12/01/2020
- 6 minutos para ler
-
- um
- s
- Y
- g
- P
-
+1
“Atwood Lei: Qualquer aplicativo que pode ser escrito em JavaScript, vai, eventualmente, ser escrito em JavaScript.,”
– Jeff Atwood
Existem duas abordagens gerais para a construção de aplicações web de hoje: aplicações web tradicionais que realizar a maior parte da lógica da aplicação no servidor, e single-page applications (SPAs) que realizar a maior parte de interface de usuário de lógica em um navegador da web, comunicar com o servidor web, principalmente usando APIs da web. Uma abordagem híbrida também é possível, sendo a mais simples hospedar uma ou mais sub-aplicações ricas SPA-like dentro de uma aplicação web tradicional maior.,
Use aplicações web tradicionais quando:
-
os requisitos do cliente da sua aplicação são simples ou mesmo apenas de leitura.
-
a sua aplicação necessita de funcionar em navegadores sem suporte a JavaScript.
-
a sua equipa não está familiarizada com as técnicas de desenvolvimento de JavaScript ou TypeScript.
Use um SPA quando:
-
Sua aplicação deve expor uma rica interface de usuário com muitas características.
-
a sua equipa está familiarizada com o desenvolvimento de JavaScript, TypeScript ou Blazor WebAssembly.,
-
Sua aplicação já deve expor uma API para outros clientes (internos ou públicos).além disso, os quadros de SPA exigem uma maior especialização em arquitectura e segurança. Eles experimentam maior churn devido a atualizações frequentes e novos frameworks do que as aplicações web tradicionais. Configurar processos automatizados de construção e implantação e utilizar opções de implantação como contêineres pode ser mais difícil com aplicações SPA do que aplicativos web tradicionais.as melhorias na experiência do utilizador tornadas possíveis pela abordagem SPA devem ser ponderadas face a estas considerações.,Blazor ASP.NET Core inclui um modelo para construir interfaces de usuário ricas, interativas e compósitas chamadas Blazor. Blazor server-side permite que os desenvolvedores construam UI com C# E Razor no servidor e que a IU seja interativamente conectada ao navegador em tempo real usando uma conexão Sinalr persistente. Blazor WebAssembly introduz outra opção para aplicativos Blazor, permitindo-lhes correr no navegador usando WebAssembly. Como é real. net rodando na WebAssembly, você pode reutilizar código e bibliotecas de partes do servidor de sua aplicação.,
Blazor oferece uma nova terceira opção para considerar ao avaliar se deve construir uma aplicação web puramente renderizada por servidor ou um SPA. Você pode construir comportamentos ricos, tipo SPA-cliente usando Blazor, sem a necessidade de desenvolvimento significativo JavaScript. As aplicações Blazor podem chamar APIs para solicitar dados ou realizar operações do lado do servidor. Eles podem interagir com JavaScript quando necessário para tirar proveito de bibliotecas e frameworks JavaScript.,
Considerar a construção de seu aplicativo da web com Blazor quando:
-
a Sua candidatura deverá expor uma interface de usuário avançada
-
a Sua equipe é muito mais confortável .NET desenvolvimento de JavaScript ou Transcrito de desenvolvimento
Se você tem uma web existente aplicação de formulários que você está pensando em migrar para .NET Núcleo, ou os mais recentes .NET, você pode querer rever gratuitamente o e-book, Blazor para Formulários da Web que os Desenvolvedores para ver se faz sentido considerar a migração para Blazor.
para mais informações sobre o Blazor, consulte começar com o Blazor.,
quando escolher aplicações web tradicionais
a secção seguinte é uma explicação mais detalhada das razões anteriormente indicadas para escolher aplicações web tradicionais.
a sua aplicação tem requisitos simples, possivelmente apenas de leitura, do lado do cliente
muitas aplicações web são essencialmente consumidas de uma forma apenas de leitura pela grande maioria dos seus utilizadores. Aplicações somente de leitura (ou principalmente de leitura) tendem a ser muito mais simples do que aquelas aplicações que mantêm e manipulam uma grande quantidade de Estado., Por exemplo, um motor de busca pode consistir de um único ponto de entrada com uma caixa de texto e uma segunda página para mostrar resultados de pesquisa. Usuários anônimos podem facilmente fazer pedidos, e há pouca necessidade de lógica do lado do cliente. Da mesma forma, uma aplicação voltada para o público de um blog ou sistema de gerenciamento de conteúdo geralmente consiste principalmente de conteúdo com pouco comportamento do lado do cliente. Tais aplicações são facilmente construídas como aplicações web tradicionais baseadas em servidores, que executam a lógica no servidor web e rendem HTML para ser exibido no navegador., O fato de que cada página única do site tem sua própria URL que pode ser marcada e indexada por motores de busca (por padrão, sem ter que adicionar esta funcionalidade como uma característica separada da aplicação) também é um benefício claro em tais cenários.
Sua aplicação precisa funcionar em navegadores sem suporte a JavaScript
aplicações Web que precisam funcionar em navegadores com suporte a JavaScript limitado ou sem suporte a JavaScript devem ser escritas usando fluxos de trabalho tradicionais de aplicativos web (ou pelo menos ser capaz de voltar a esse comportamento)., SPAs requerem JavaScript do lado do cliente para funcionar; se não estiver disponível, SPAs não são uma boa escolha.
a sua equipa não está familiarizada com as técnicas de desenvolvimento de JavaScript ou TypeScript
Se a sua equipa não estiver familiarizada com JavaScript ou TypeScript, mas estiver familiarizada com o desenvolvimento de aplicações web do lado do servidor, então eles provavelmente serão capazes de entregar uma aplicação web tradicional mais rapidamente do que um SPA., A menos que aprender a programar SPAs seja um objetivo, ou a experiência do usuário oferecida por um SPA é necessária, os aplicativos web tradicionais são uma escolha mais produtiva para as equipes que já estão familiarizados com a construção deles.
quando escolher SPAs
a secção seguinte é uma explicação mais detalhada de quando escolher um estilo de desenvolvimento de aplicações de uma única página para a sua aplicação web.,
a sua aplicação deve expor uma interface de utilizador rica com muitas funcionalidades
SPAs pode suportar uma funcionalidade cliente-side rica que não necessita de recarregar a Página à medida que os utilizadores tomam acções ou navegam entre áreas da aplicação. Os SPAs podem carregar mais rapidamente, obtendo dados em segundo plano, e as ações individuais do usuário são mais sensíveis, uma vez que as recarregações de páginas completas são raras. Os SPAs podem suportar actualizações incrementais, gravando formulários ou documentos parcialmente preenchidos sem que o utilizador tenha de carregar num botão para enviar um formulário., Os SPAs podem suportar comportamentos Ricos do lado do cliente, como o drag-and-drop, muito mais facilmente do que as aplicações tradicionais. SPAs pode ser projetado para executar em um modo desconectado, fazendo atualizações para um modelo cliente-lado que são eventualmente sincronizados de volta para o servidor uma vez que uma conexão é restabelecida. Escolha uma aplicação de estilo SPA se os requisitos do seu aplicativo incluem uma funcionalidade rica que vai além do que os formulários HTML típicos oferecem.,
com Freqüência, SPAs necessidade de implementar recursos que são criados em aplicativos web tradicionais, como a exibição de uma significativa URL na barra de endereço refletindo a operação atual (e permitindo que os usuários favorito ou deep link para esta URL para retornar a ele). Os SPAs também devem permitir que os usuários usem os botões para trás e para a frente do navegador com resultados que não os surpreenderão.
a sua equipa está familiarizada com o desenvolvimento de JavaScript e/ou TypeScript
A Escrita de SPAs requer familiaridade com as técnicas e bibliotecas de programação JavaScript e/ou TypeScript e cliente-side., Sua equipe deve ser competente em escrever JavaScript moderno usando um framework SPA como Angular.
Sua aplicação já deve expor uma API para outros clientes (internos ou públicos)
Se você já está suportando uma API web para uso por outros clientes, pode exigir menos esforço para criar uma implementação SPA que alavanca essas APIs em vez de reproduzir a lógica na forma do lado do servidor. SPAs fazer uso extensivo de APIs web para consultar e atualizar os dados à medida que os usuários interagem com a aplicação.,
quando escolher o Blazor
a secção seguinte é uma explicação mais detalhada de quando escolher o Blazor para a sua aplicação web.
a sua aplicação deve expor uma interface de utilizador Rica
Como as SPAs baseadas em JavaScript, as aplicações Blazor podem suportar um comportamento de cliente rico sem recarga de páginas. Estas aplicações são mais sensíveis aos usuários, obtendo apenas os dados (ou HTML) necessários para responder a uma dada interação do Usuário. Projetado corretamente, aplicativos Blazor do lado do servidor podem ser configurados para executar como aplicativos Blazor do lado do cliente com alterações mínimas, uma vez que esta funcionalidade é suportada.,
Sua equipe é mais confortável com o desenvolvimento.NET do que com o desenvolvimento JavaScript ou TypeScript
muitos desenvolvedores são mais produtivos com. NET e Razor do que com linguagens de cliente como JavaScript ou TypeScript. Uma vez que o lado servidor da aplicação já está sendo desenvolvido com o.NET, o uso do Blazor garante que cada desenvolvedor do. NET na equipe pode entender e potencialmente construir o comportamento do front-end da aplicação.,
tabela de decisão
a tabela de decisão seguinte resume alguns dos fatores básicos a considerar ao escolher entre uma aplicação web tradicional, uma SPA ou uma aplicação Blazor.,
de Equipe Necessários Familiaridade com JavaScript/TypeScript Mínimo de Obrigatório Mínimo de Suporte a Navegadores sem Scripts Suporte Não Suportado Suporte Mínimo de Aplicação do Lado do Cliente Comportamento Bem Adaptada um Exagero Viável Rico, Complexo de Requisitos de Interface de Utilizador Limitado Bem Adaptada Bem Adaptada -