Este é um projeto de reprodução de alta qualidade do cliente League of Legends usando WPF. O projeto inclui diversas implementações técnicas do WPF e demonstra uma abordagem técnica ampla para o design distribuído de projetos de grande escala.
Cliente League of Legends (WPF)
Cliente League of Legends (Uno-plataforma)
Cliente League of Legends (WinUI 3)
Temos pesquisado e adquirido experiência com a tecnologia WPF desde 2008. Ao longo dos anos, diversas tecnologias multiplataforma baseadas em XAML, como Xamarin, MAUI, Uno-Platform, AvaloniaUI e OpenSilver, evoluíram, abrindo possibilidades para ampliar as técnicas acumuladas. no WPF para desenvolvimento multiplataforma.
Esta versão WPF do League of Legends que estamos lançando é construída com base em UX rico baseado em XAML, design orientado a objetos em C# e uma estrutura de projeto sistemática. Ele maximiza os recursos poderosos do WPF ao mesmo tempo em que considera o potencial de expansão futura para outras plataformas baseadas em XAML.
Este projeto demonstra como implementar projetos de grande escala no WPF. Ao implementar controles complexos como CustomControls, pretendemos fornecer aos desenvolvedores materiais de aprendizagem ricos. Também inclui vários casos de implementação técnica do WPF, mostrando como utilizar os poderosos recursos do WPF em projetos reais.
Em particular, este projeto apresenta uma abordagem ampla para o design distribuído de aplicações de grande escala. Ele mostra como estruturar e gerenciar aplicações complexas por meio de estruturas modularizadas, gerenciamento eficiente de estado e arquitetura escalável.
A biblioteca da estrutura Jamesnet.Core foi projetada com base no .NET Standard 2.0 para funcionar de forma idêntica no WPF e no Uno. Esta biblioteca é fornecida como Jamesnet.Window para WPF e Jamesnet.Uno para Uno-Platform.
Este projeto faz referência direta ao código-fonte real de Jamesnet.Core e Jamesnet.Window, permitindo que você aprenda sobre os métodos de design de estruturas baseadas em XAML.
Através deste projeto, pretendemos mostrar os poderosos recursos do WPF e ao mesmo tempo apresentar a possibilidade de expansão para várias plataformas baseadas em XAML, como Uno-Platform, MAUI, AvaloniaUI, OpenSilver e WinUI3 no futuro, abrindo novos horizontes para plataformas cruzadas. desenvolvimento.
O repositório inclui todo o código-fonte da estrutura.
Essas duas bibliotecas podem ser usadas de forma idêntica tanto no WPF quanto no Uno-Platform e incluem todas as funcionalidades básicas necessárias para o design arquitetônico de projetos de grande escala.
Arquitetura de projetos em grande escala
Técnicas avançadas de WPF
Otimização de desempenho
Design de UI/UX
Projeto de Estrutura
Este projeto apresenta de forma abrangente padrões e técnicas de design avançadas baseadas em Jamesnet.Core e Jamesnet.Window, ao mesmo tempo que maximiza os recursos poderosos do WPF. Ao fornecer casos de aplicação reais de diversas tecnologias e padrões necessários para o desenvolvimento de aplicações em larga escala, ele servirá como um rico material de aprendizagem para desenvolvedores de WPF.
Esperamos que este projeto inspire os desenvolvedores WPF e sirva como uma prática recomendada para o desenvolvimento de aplicativos de desktop em larga escala. Além disso, esperamos que através deste projeto possamos explorar estratégias de compartilhamento de código entre WPF e Uno-Platform e novas possibilidades no desenvolvimento multiplataforma.
Estamos planejando versões para novas plataformas como MAUI, WinUI 3, AvaloniaUI e OpenSilver no futuro.
git clone https://github.com/jamesnet214/leagueoflegends.git
Este projeto oferece insights valiosos para desenvolvedores WPF:
Contribuições para o projeto League of Legends Client (WPF) são bem-vindas! Sinta-se à vontade para enviar problemas, criar solicitações pull ou sugerir melhorias.
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.
Experimente o poder do WPF na recriação de interfaces de jogos complexas com esta recriação cliente de League of Legends!