This repository provides UnoPlatform Desktop Cross-Platform Application Development Sample Projects for WPF Developers. It includes various UnoPlatform sample projects and helps you learn about transitioning from WPF to UnoPlatform and architectural strategies.
This repository provides architectural strategies and sample code useful for WPF developers when developing desktop cross-platform applications using UnoPlatform. It includes various UnoPlatform sample projects and helps you learn core technologies and patterns needed when transitioning from WPF to UnoPlatform.
We have been researching and gaining experience with WPF technology since 2008, and during that time, various XAML-based cross-platform technologies such as Xamarin, MAUI, UnoPlatform, AvaloniaUI, and OpenSilver have evolved. This has opened up possibilities to extend WPF-accumulated technology to cross-platform.
This repository focuses on core architectural technologies such as Dependency Injection (DI), project distribution and modularization, and MVVM pattern application. It also details how to implement the same project design regardless of platform using the .NET Standard 2.0-based Jamesnet.Core framework, which works uniformly across various platforms including WPF, UnoPlatform, and WinUI 3.
This is a high-quality reproduction project of the League of Legends client using UnoPlatform. This project includes examples of various technical implementations in UnoPlatform and demonstrates a broad technical approach to distributed design in large-scale projects.
League of Legends Client (Uno-Platform) GitHub Repository
This is a UnoPlatform desktop project architecture strategy for WPF developers, presented at the .NET Meetup seminar on September 26, 2024.
This sample project provides step-by-step details on developing a bicycle rental management application using UnoPlatform. It is designed to help WPF developers gain a deep understanding of UnoPlatform architecture and development methods, and provide practical help in converting existing WPF projects to cross-platform.
All framework source code is included in the repository.
- Jamesnet.Core: Cross-platform core library based on .NET Standard 2.0
- Jamesnet.Uno: UI framework optimized for UnoPlatform
These two libraries can be used identically in both WPF and UnoPlatform, and include all core functions needed for large-scale project architecture design.
- Dependency Injection (DI): Implementing architecture that reduces coupling between objects and increases testability and scalability
- Project Distribution and Modularization: Reducing code complexity, improving team collaboration, increasing code reusability
- MVVM Pattern Application: Improving code cohesion and maintainability by separating views and business logic
- Platform-Independent Design: Operating identically on various platforms using the .NET Standard 2.0-based Jamesnet.Core framework
-
Large-Scale Project Architecture
- Modularization and distributed system design
- Loose coupling through dependency injection
- Plugin-based extensible structure
-
Advanced UnoPlatform Technologies
- Various CustomControl implementations
- Real-world MVVM pattern application cases
- Platform-independent design
-
Performance Optimization
- Efficient resource management and memory usage
- Asynchronous programming pattern application
- Rendering optimization techniques
-
UI/UX Design
- Technology learning for sophisticated UI reproduction
- Custom animations and transition effects
- Dynamic theme system
-
Framework Design
- Event-based communication system
- State management pattern implementation
- Extensible navigation system
- .NET 8.0
- UnoPlatform
- Jamesnet.Core (.NET Standard 2.0)
- Jamesnet.Uno
- Visual Studio 2022 or higher
- .NET 8.0 SDK
- UnoPlatform project templates installed
git clone https://github.com/jamesnetgrouup/samples-uno.git
- Visual Studio
- Visual Studio Code
- JetBrains Rider
- Set startup project
- Press F5 or click run button
This repository provides valuable insights for WPF developers:
- Complex UI Reproduction: Learning techniques to reproduce sophisticated user interfaces
- Custom Control Development: Understanding the process of building UnoPlatform custom controls
- Practical MVVM: Examining real implementation cases of MVVM pattern in complex applications
- Cross-Platform Architecture Design: Learning platform-independent project design methods
- Performance Optimization: Learning optimization strategies for large-scale applications
We welcome contributions to the UnoPlatform sample projects! Please submit issues, create pull requests, or suggest improvements.
This project is distributed under the MIT license. See the LICENSE file for details.
- Website: https://jamesnet.dev
- Email: [email protected], [email protected]
We hope this repository helps WPF developers open new horizons in cross-platform application development using UnoPlatform!