Skip to content

JamesnetGroup/leagueoflegends-opensilver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

League of Legends Client (OpenSilver)

English 中文 한국어

This is a high-quality reproduction project of the League of Legends client using OpenSilver 3.1. The project showcases the power of XAML-based development in the browser, demonstrating how traditional desktop application architecture can be effectively translated to web environments.

License: MIT .NET OpenSilver Stars Forks Issues

Live OpenSilver

🌐 Live OpenSilver - View the project directly in your browser!

League of Legends XAML-Based Series:

League of Legends Client (WPF)
League of Legends Client (OpenSilver)
League of Legends Client (Uno-Platform)
League of Legends Client (UWP)
League of Legends Client (WinUI 3)

Project Introduction

Our journey with XAML-based technologies began with WPF in 2008, and we've consistently demonstrated how powerful architectural patterns can transcend platform boundaries. The success of our WPF-based League of Legends client project has proven that well-structured XAML applications can be effectively adapted to various platforms - from WinUI 3 and UWP to cross-platform solutions like Uno Platform. Now, with OpenSilver 3.1, we're taking this same architectural excellence to the web.

This OpenSilver version represents more than just a port - it's a testament to the versatility of our architectural approach. By leveraging the same patterns that made our WPF version successful, we've created a web-based implementation that maintains the rich user experience and complex functionality of the original, while taking advantage of OpenSilver's modern web capabilities.

What makes this project particularly significant is how it demonstrates the portability of well-designed XAML applications. The same modular architecture, CustomControls, and state management patterns that worked effectively in our desktop applications have been seamlessly translated to the web environment. This successful transition showcases how developers can leverage their existing XAML and C# expertise to create sophisticated web applications without sacrificing the architectural principles that make desktop applications robust and maintainable.

The Jamesnet.Core framework, based on .NET Standard 2.0, continues to serve as our foundation, proving its versatility by working seamlessly across WPF, Uno Platform, and now OpenSilver. This consistency in our core framework demonstrates how well-designed architecture can adapt to new platforms while maintaining its fundamental strengths.

This OpenSilver implementation opens new possibilities for web-based XAML applications, showing that the gap between desktop and web development can be bridged while maintaining the high standards of application architecture we've established in our other platform implementations.

Core Technology Stack

The repository includes all framework source code.

  • Jamesnet.Core: Cross-platform core library based on .NET Standard 2.0
  • OpenSilver 3.1: Modern Silverlight-compatible framework for web
  • Jamesnet.OpenSilver: Web-optimized window management and UI framework

Key Features and Implementations

  1. Web-Optimized Architecture

    • Modular and distributed system design adapted for web
    • Browser-friendly state management
    • Web-specific performance optimizations
  2. Advanced OpenSilver Techniques

    • Web-compatible CustomControls implementation
    • Browser-optimized state management
    • Web-specific rendering optimizations
  3. Performance Optimization

    • Browser memory management
    • Web-specific asynchronous patterns
    • Network-aware resource loading
  4. UI/UX Design

    • Web-compatible Geometry Path implementations
    • Browser-optimized animations
    • Responsive design adaptations
  5. Framework Design

    • Web-compatible event system
    • Browser-state management patterns
    • Web-oriented navigation system

This project comprehensively showcases advanced design patterns and techniques based on Jamesnet.Core and Jamesnet.OpenSilver while maximizing the powerful features of browser-based XAML development. By providing real-world application cases of various technologies and patterns necessary for large-scale web application development, it serves as rich learning material for developers looking to bridge the gap between desktop and web development.

We hope this project will inspire developers in the XAML ecosystem and serve as a best practice for sophisticated web application development using OpenSilver. Furthermore, we expect that through this project, we can demonstrate how well-architected XAML applications can seamlessly transition between platforms - from desktop applications built with WPF to web applications powered by OpenSilver, opening new horizons for modern web development while maintaining the robust architecture and rich user experience that XAML is known for.

Technology Stack

  • .NET 9.0
  • OpenSilver 3.1
  • Jamesnet.Core
  • Jamesnet.OpenSilver

Getting Started

Prerequisites

  • Visual Studio 2022 or later
  • .NET 9.0 SDK
  • OpenSilver 3.1 SDK
  • Jamesnet.OpenSilver NuGet package

Installation and Execution

1. Clone the repository:

git clone https://github.com/jamesnetgroup/leagueoflegends-opensilver

2. Open the solution

  • Visual Studio
  • Visual Studio Code
  • JetBrains Rider

3. Build and Run

  • Set the startup project
  • Press F5 or click the Run button
  • Windows 11 recommended

Learning Opportunities

This project offers valuable insights for WPF developers:

  1. Complex UI Recreation: Learn techniques for recreating sophisticated user interfaces
  2. Custom Control Development: Understand the process of building custom WPF controls
  3. MVVM in Practice: See real-world implementation of MVVM pattern in a complex application
  4. Geometry Path Usage: Master the use of Geometry Path for intricate UI designs
  5. Performance Optimization: Learn strategies for optimizing large-scale WPF applications

Contributing

Contributions to the League of Legends Client (WPF) project are welcome! Feel free to submit issues, create pull requests, or suggest improvements.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Experience the power of OpenSilver in bringing complex game interfaces to the web with this League of Legends client recreation!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published