This is a high-quality reproduction project of the League of Legends client using WPF. The project includes various technical implementations of WPF and demonstrates a broad technical approach to the distributed design of large-scale projects.
League of Legends Client (WPF)
League of Legends Client (Uno-Platform)
League of Legends Client (WinUI 3)
We have been researching and gaining experience with WPF technology since 2008. Over the years, various XAML-based cross-platform technologies such as Xamarin, MAUI, Uno-Platform, AvaloniaUI, and OpenSilver have evolved, opening up possibilities to extend the techniques accumulated in WPF to cross-platform development.
This League of Legends WPF version we are releasing is built on the foundation of XAML-based rich UX, C#'s object-oriented design, and a systematic project structure. It maximizes the powerful features of WPF while considering the potential for future expansion to other XAML-based platforms.
This project demonstrates how to implement large-scale projects in WPF. By implementing complex controls as CustomControls, we aim to provide developers with rich learning materials. It also includes various technical implementation cases of WPF, showing how to utilize WPF's powerful features in real projects.
In particular, this project presents a broad approach to the distributed design of large-scale applications. It shows how to structure and manage complex applications through modularized structures, efficient state management, and scalable architecture.
The Jamesnet.Core framework library is designed based on .NET Standard 2.0 to work identically in WPF and Uno. This library is provided as Jamesnet.Window for WPF and Jamesnet.Uno for Uno-Platform.
This project directly references the actual source code of Jamesnet.Core and Jamesnet.Window, allowing you to learn about the design methods of XAML-based frameworks.
Through this project, we aim to showcase the powerful features of WPF while presenting the possibility of expansion to various XAML-based platforms such as Uno-Platform, MAUI, AvaloniaUI, OpenSilver, and WinUI3 in the future, opening new horizons for cross-platform development.
The repository includes all framework source code.
These two libraries can be used identically in both WPF and Uno-Platform, and include all core functionalities necessary for the architectural design of large-scale projects.
Large-scale Project Architecture
Advanced WPF Techniques
Performance Optimization
UI/UX Design
Framework Design
This project comprehensively showcases advanced design patterns and techniques based on Jamesnet.Core and Jamesnet.Window while maximizing the powerful features of WPF. By providing real-world application cases of various technologies and patterns necessary for large-scale application development, it will serve as rich learning material for WPF developers.
We hope this project will inspire WPF developers and serve as a best practice for large-scale desktop application development. Furthermore, we expect that through this project, we can explore code sharing strategies between WPF and Uno-Platform and new possibilities in cross-platform development.
We are planning versions for new platforms such as MAUI, WinUI 3, AvaloniaUI, and OpenSilver in the future.
git clone https://github.com/jamesnet214/leagueoflegends.git
This project offers valuable insights for WPF developers:
Contributions to the League of Legends Client (WPF) project are welcome! Feel free to submit issues, create pull requests, or suggest improvements.
This project is licensed under the MIT License - see the LICENSE file for details.
Experience the power of WPF in recreating complex game interfaces with this League of Legends client recreation!