开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》
哈喽大家好!
我们是中韩Microsoft MVP夫妇 Vicky&James^^很高兴能加入博客园和大家分享我们的技术!
自2008年以来,我们一直深耕于WPF技术,积累了丰富的经验。这些年来,随着Xamarin、MAUI、Uno-Platform、AvaloniaUI和OpenSilver等跨平台技术的不断发展,我们也将在WPF中积累的技能成功地拓展到了各种跨平台项目中。
多年前我们发布的《用WPF重现英雄联盟客户端》项目获得了大家不少支持和关注,非常感谢大家!
最近,基于这个WPF版本,我们又开发出了跨平台的UnoPlattform和WinUI 3两个版本。这两个新版本继承了WPF的XAML丰富用户体验、C#的面向对象设计以及系统化的项目结构,同时也给我们带来了新的挑战和成长。
与此同时,我们也对原有的WPF版本源码进行了全面更新。因此大家可以通过我们的源码非常清晰地比较 WPF / Uno Platform / WinUI 3这三者在项目构建和呈现上的异同。
为了统一WPF/WinUI3/Uno仓库的项目架构,我们基于.NET Standard 2.0设计了一个可在所有平台上运行的框架,无需依赖第三方库。这个框架直接实现了项目分散化、模块化、视图注入、依赖注入、单例模式和MVVM等基于XAML的项目架构所需功能。采用这种方法,我们可以在不同版本(如WPF、Uno和WinUI3)之间转换时,大大减少不必要的转换工作。模项目。我们将复杂的控件实现为CustomControls,旨在为开发人员提供丰富的学习资料。
此外,项目还包含了WPF、Uno和WinUI3的各种技术实现案例,展示了如何在实际项目中充分利用这些技术和平台的强大功能。
项目中,从小型控件到复杂视图,所有组件均基于CustomControl构建。这种方法大大增强了项目的可移植性和灵活性,使得将整个项目迁移到其他基于XAML的平台变得更加便捷和高效。
为了帮助更多人了解和学习WPF以及相关的跨平台技术,我们已经将这三个项目开源。大家可以在我们的GitHub账号中查看和下载:
别忘了点击Star和Fork,也欢迎分享给身边的小伙伴!你们的支持是我们持续开源分享的动力!️
英雄联盟客户端 (WPF)
英雄联盟客户端 (Uno-Platform)
英雄联盟客户端 (WinUI 3)
更详细的项目介绍大家可以直接在GitHub项目中查看和学习,如有任何相关疑问,也欢迎通过Discussions参与讨论。
除了源码外,我们还在积极准备相关的系统教学视频,这些视频也将很快和大家见面^^
开源项目更新|WPF/Uno Platform/WinUI 3三个版本的《英雄联盟客户端》的更多相关文章
- .NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5
.NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架.基于多个开源控件库作为UI控件选择.集成开源 UI 界面设计的 .NET ...
- Android开源项目分包方式学习(eoe、oschina、github)
总感觉Android中关于分包的文章很少,或者几乎可以说没有.但是合理地分包,又可以使整个项目模块化,减少包与包之间的依赖,让整个项目的框架更加清晰,更利于后续功能的拓展. 因为没有相关的文章,所以这 ...
- Android 上传开源项目到 jcenter 实战踩坑之路
本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
- Android开发:为什么我们从来不去感谢开源项目维护者?
今天我想谈一谈,为什么我们很少去感谢开源项目维护者: 一.这样的项目我也可以做啊 “蛤?这项目对我来说也太简单了吧.” “我一周之内就能做一个更好的版本出来.” 确实,很多人都可以在 Hackatho ...
- 这些 .Net and Core 相关的开源项目,你都知道吗?(持续更新中...)
最近更新时间2017-12-28 序列化 Json.NET http://json.codeplex.com/Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Ne ...
- .NET Core/.NET5/.NET6 开源项目汇总11:WPF组件库1
系列目录 [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...
- .NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2
系列目录 [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...
- 能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork
大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图. 一.前言 在现代软件开发中,数据可视化和可交互性越来越受到关注.为了实现这一点, ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
随机推荐
- 如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
目录 前置步骤 环境搭建 创建容器组 在系统任意位置创建一个文件夹 创建docker-compose.yaml 启动 Halo 服务 配置反向代理以及域名解析 Halo初始化页面. 更新新版本的hal ...
- Jmeter函数助手8-counter
counter函数用于线程计数,类似计数器. TRUE每个用户有自己的计数器:FALSE使用全局计数器:即线程之间是否需要共享累加计数器,TRUE否,FALSE是 存储结果的变量名(可选) 1.线程之 ...
- 一个简单的例子测试numpy和Jax的性能对比 (续)
相关: 一个简单的例子测试numpy和Jax的性能对比 numpy代码: import numpy as np import time x = np.random.random([10000, 100 ...
- 有没有使用过MindSpore的,体验怎么样啊?
看到了一个帖子: https://www.zhihu.com/question/386352303/answer/3160948468 ================================ ...
- 【题解】ABC365(A~E)
前四题30min切,然后T5死磕70min+几发小唐错,距离比赛结束还有16s交最后一发,AC了. 目录 A. Leap Year 题目描述 思路 代码 B. Second Best 题目描述 思路 ...
- Quartz.NET 的使用
先貼使用代碼: 1 using Quartz; 2 using Quartz.Impl; 3 using Quartz.Logging; 4 using System; 5 using System. ...
- vue中使用better-scroll
1.创建vue-cli3项目 指令 vue create 项目名 2.要想使用better-scroll 需要先引入 better-scroll的插件 这里采用 npm的方式 指令 npm ...
- 暑假Java自学进度总结06
一.今日所学: 1.for循环 for(初始化语句;条件判断语句;条件控制语句){ 循环体语句; } 执行流程: 1>执行初始化语句 2>执行条件判断语句,若为true则执行循环体语句,若 ...
- Win32_GDI_绘制文字路径透明窗口
效果图: 前面字体是个透明窗口 后面是桌面背景 代码实现: void MyMainDialog::TextPathWindow(LPCTSTR lpShowText) { HDC hdc = GetD ...
- 22.11.13 CCPC 广州站 记录
上来看A(树上DP),直观认为可做,前后拉着队友研究了两个小时,经过lcx,lgy两次hack正确性,最终基本得到答案思路,因为过于复杂和担心正确性问题不敢写. 反思:1.正式比赛中不应该一开始就将大 ...