นี่เป็นโปรเจ็กต์การทำซ้ำคุณภาพสูงของไคลเอนต์ League of Legends โดยใช้ WPF โครงการนี้ประกอบด้วยการใช้งานด้านเทคนิคต่างๆ ของ WPF และสาธิตวิธีการทางเทคนิคแบบกว้างๆ ในการออกแบบแบบกระจายของโครงการขนาดใหญ่
ไคลเอนต์ League of Legends (WPF)
ไคลเอนต์ League of Legends (แพลตฟอร์ม Uno)
ไคลเอนต์ League of Legends (WinUI 3)
เราได้ค้นคว้าและได้รับประสบการณ์เกี่ยวกับเทคโนโลยี WPF มาตั้งแต่ปี 2551 ในช่วงหลายปีที่ผ่านมา เทคโนโลยีข้ามแพลตฟอร์มที่ใช้ XAML ต่างๆ เช่น Xamarin, MAUI, Uno-Platform, AvaloniaUI และ OpenSilver ได้พัฒนาไป ทำให้เกิดความเป็นไปได้ในการขยายเทคนิคที่สะสมมา ใน WPF สู่การพัฒนาข้ามแพลตฟอร์ม
League of Legends WPF เวอร์ชันที่เรากำลังเปิดตัวนี้สร้างขึ้นบนรากฐานของ UX ที่สมบูรณ์บน XAML, การออกแบบเชิงวัตถุของ C# และโครงสร้างโปรเจ็กต์ที่เป็นระบบ เพิ่มคุณสมบัติอันทรงพลังของ WPF ให้สูงสุดในขณะที่พิจารณาศักยภาพในการขยายไปสู่แพลตฟอร์มที่ใช้ XAML อื่นๆ ในอนาคต
โครงการนี้สาธิตวิธีการดำเนินโครงการขนาดใหญ่ใน WPF ด้วยการใช้การควบคุมที่ซับซ้อนเป็น CustomControls เรามุ่งหวังที่จะมอบสื่อการเรียนรู้ที่หลากหลายให้กับนักพัฒนา นอกจากนี้ยังรวมถึงกรณีการใช้งานด้านเทคนิคต่างๆ ของ WPF ซึ่งแสดงวิธีใช้คุณสมบัติอันทรงพลังของ WPF ในโครงการจริง
โดยเฉพาะอย่างยิ่ง โครงการนี้นำเสนอแนวทางกว้างๆ ในการออกแบบแบบกระจายของแอปพลิเคชันขนาดใหญ่ โดยจะแสดงวิธีจัดโครงสร้างและจัดการแอปพลิเคชันที่ซับซ้อนผ่านโครงสร้างแบบโมดูลาร์ การจัดการสถานะที่มีประสิทธิภาพ และสถาปัตยกรรมที่ปรับขนาดได้
ไลบรารีเฟรมเวิร์ก Jamesnet.Core ได้รับการออกแบบโดยใช้ .NET Standard 2.0 เพื่อให้ทำงานเหมือนกันใน WPF และ Uno ไลบรารีนี้จัดทำเป็น Jamesnet.Window สำหรับ WPF และ Jamesnet.Uno สำหรับ Uno-Platform
โปรเจ็กต์นี้อ้างอิงซอร์สโค้ดจริงของ Jamesnet.Core และ Jamesnet.Window โดยตรง ซึ่งช่วยให้คุณเรียนรู้เกี่ยวกับวิธีการออกแบบของเฟรมเวิร์กที่ใช้ XAML
ผ่านโปรเจ็กต์นี้ เรามุ่งหวังที่จะแสดงคุณสมบัติอันทรงพลังของ WPF ในขณะเดียวกันก็นำเสนอความเป็นไปได้ของการขยายไปยังแพลตฟอร์มที่ใช้ XAML ต่างๆ เช่น Uno-Platform, MAUI, AvaloniaUI, OpenSilver และ WinUI3 ในอนาคต ซึ่งจะเปิดขอบเขตใหม่สำหรับข้ามแพลตฟอร์ม การพัฒนา.
พื้นที่เก็บข้อมูลประกอบด้วยซอร์สโค้ดของเฟรมเวิร์กทั้งหมด
ไลบรารีทั้งสองนี้สามารถใช้งานได้เหมือนกันทั้งใน WPF และ Uno-Platform และรวมฟังก์ชันหลักทั้งหมดที่จำเป็นสำหรับการออกแบบสถาปัตยกรรมของโครงการขนาดใหญ่
สถาปัตยกรรมโครงการขนาดใหญ่
เทคนิค WPF ขั้นสูง
การเพิ่มประสิทธิภาพการทำงาน
การออกแบบ UI/UX
การออกแบบกรอบงาน
โปรเจ็กต์นี้นำเสนอรูปแบบและเทคนิคการออกแบบขั้นสูงอย่างครอบคลุมโดยใช้ Jamesnet.Core และ Jamesnet.Window ในขณะที่เพิ่มคุณสมบัติอันทรงพลังของ WPF ให้สูงสุด ด้วยการจัดเตรียมกรณีการใช้งานจริงของเทคโนโลยีและรูปแบบต่างๆ ที่จำเป็นสำหรับการพัฒนาแอปพลิเคชันขนาดใหญ่ แอปพลิเคชันนี้จะทำหน้าที่เป็นสื่อการเรียนรู้ที่สมบูรณ์สำหรับนักพัฒนา WPF
เราหวังว่าโครงการนี้จะสร้างแรงบันดาลใจให้กับนักพัฒนา WPF และทำหน้าที่เป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการพัฒนาแอปพลิเคชันเดสก์ท็อปขนาดใหญ่ นอกจากนี้ เราคาดหวังว่าผ่านโครงการนี้ เราจะสามารถสำรวจกลยุทธ์การแบ่งปันโค้ดระหว่าง WPF และ Uno-Platform และความเป็นไปได้ใหม่ ๆ ในการพัฒนาข้ามแพลตฟอร์ม
เรากำลังวางแผนเวอร์ชันสำหรับแพลตฟอร์มใหม่ เช่น MAUI, WinUI 3, AvaloniaUI และ OpenSilver ในอนาคต
git clone https://github.com/jamesnet214/leagueoflegends.git
โครงการนี้นำเสนอข้อมูลเชิงลึกอันมีค่าสำหรับนักพัฒนา WPF:
ยินดีต้อนรับการมีส่วนร่วมในโครงการ League of Legends Client (WPF)! รู้สึกอิสระที่จะส่งปัญหา สร้างคำขอดึงข้อมูล หรือเสนอแนะการปรับปรุง
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT - ดูรายละเอียดในไฟล์ใบอนุญาต
สัมผัสพลังของ WPF ในการสร้างอินเทอร์เฟซเกมที่ซับซ้อนขึ้นมาใหม่ด้วยการสร้างไคลเอนต์ League of Legends!