Código de exemplo para demonstrar como o código pode ser compartilhado desde o front -end até o back -end com C# e .NET.
Este projeto inclui:
| Projeto | Descrição |
|---|---|
| Pokemoneverywhere.blazor | Aplicativo da Web Blazor que mostra os dados de Pokémon recuperados vindos do projeto da API da Web |
| Pokemoneverywhere.blazor.shared | Biblioteca de classe Razor (RCL) compartilhada entre todos os projetos habilitados para Blazor (Blazor, Blazor Hybrid com .Net Maui, WPF e Winforms) |
| Pokemoneverywhere.blazorhybrid | Projeto híbrido Blazor construído no .Net Maui que você pode executar no Android, iOS, Windows e MacOS |
| Pokemoneverywhere.Console | .NET Console Application que mostra os dados do Pokémon provenientes do projeto da API da Web em uma tabela |
| Pokemoneverywhere.Maui | .NET Maui Aplicativo "nativo" que mostra os dados do Pokémon provenientes do projeto da API da Web em um aplicativo nativo de Android, iOS, Windows e MacOS |
| Pokemoneverywhere | Biblioteca de classes que é compartilhada com todos os outros projetos . Inclui os modelos e serviços Pokémon para recuperar dados |
| Pokemoneverywhere.vue (não em solução) | Um projeto da Web Vue que está hospedado no projeto VueHybrid |
| Pokemoneverywhere.vuehybrid | .NET Maui Client Project que usa um HybridWebView para carregar um aplicativo Vue que mostra os dados do Pokémon provenientes do projeto da API da Web |
| Pokemoneverywhere.webapi | Projeto de API da Web de back -end que recupera os dados de uma fonte externa e o serve aos clientes |
| Pokemoneverywhere.wpf | Projeto WPF Client que mostra como recuperar os dados em um WPF DataGrid e usando o Blazor Hybrid |
| Pokemoneverywhere.winforms | Projeto WinForms Client que mostra como recuperar os dados em um WinForms DataGridView e usando o Blazor Hybrid |
Verifique se o projeto webapi está em execução para servir os dados.
Você pode fazer isso executando dotnet run --project PokemonEverywhere.WebApi/PokemonEverywhere.WebApi.csproj --launch-profile "https"
Se a conexão com o endpoint HTTPS fornecer erros sobre o certificado sendo inválido, pare o servidor e execute dotnet dev-certs https --trust . Isso pode solicitar sua senha. Em seguida, execute o comando acima novamente para executar o servidor.
Opcionalmente, você pode configurar um devtunnel para conectar -se ao servidor a partir de um emulador/simulador.
Para fazer isso, instale o devtunnels e execute devtunnel host -a -p 7055 . A porta 7055 é o padrão neste projeto, se você optar por usar outra coisa, atualize a porta. Navegue até o URL gerado uma vez de um navegador para reconhecer a mensagem de aviso, a partir de então você pode se conectar à URL dos projetos de aplicativos do cliente.
Todos os projetos devem ser capazes de executar qualquer editor de IDE ou código ou linha de comando.
Por exemplo, para executar o projeto do cliente Blazor a partir do uso da linha de comando
dotnet run --project PokemonEverywhere.Blazor/PokemonEverywhere.Blazor.csproj --launch-profile " https "Ou para executar .Net Maui no Windows a partir do uso da linha de comando
dotnet build PokemonEverywhere.Maui/PokemonEverywhere.Maui.csproj -t:Run -f net8.0-windows10.0.19041.0No Visual Studio, defina seu projeto favorito como o projeto de inicialização e comece a ser executado!
Antes de executar o projeto Vuehybrid, certifique -se de instalar o NPM e a partir do Pokemonywhere.
npm i
npm run build