อีกวิธีหนึ่งในการอธิบายความแตกต่างอาจเกิดจากตัวอย่างในโลกแห่งความเป็นจริงเพราะมนุษย์ส่วนใหญ่จะใช้เครื่องมือและกรอบงานที่มีอยู่ (Xamarin, Unity และอื่น ๆ ) ในการทำงาน
ดังนั้นด้วย. NET Framework คุณมีเครื่องมือ. NET ทั้งหมดที่จะทำงานด้วย แต่คุณสามารถกำหนดเป้าหมายเฉพาะแอปพลิเคชัน Windows (UWP, Winforms, ASP.NET และอื่น ๆ ) ตั้งแต่. NET Framework ถูกปิดแหล่งที่มามีไม่มากที่จะทำเกี่ยวกับมัน
ด้วย. NET Core คุณมีเครื่องมือน้อยลง แต่คุณสามารถกำหนดเป้าหมายแพลตฟอร์มเดสก์ท็อปหลัก (Windows, Linux, Mac) สิ่งนี้มีประโยชน์เป็นพิเศษในแอปพลิเคชัน ASP.NET Core เนื่องจากคุณสามารถโฮสต์ Asp.net ใน Linux (ราคาโฮสติ้งราคาถูก) ตอนนี้. NET Core เปิดแหล่งที่มาเป็นไปได้ในทางเทคนิคในการพัฒนาห้องสมุดสำหรับแพลตฟอร์มอื่น ๆ แต่เนื่องจากไม่มีกรอบที่สนับสนุนฉันไม่คิดว่าเป็นความคิดที่ดี
ด้วย. NET Standard คุณจะมีเครื่องมือน้อยลง แต่คุณสามารถกำหนดเป้าหมายแพลตฟอร์มส่วนใหญ่ / ทั้งหมดได้ คุณสามารถกำหนดเป้าหมายมือถือด้วย Xamarin และคุณสามารถกำหนดเป้าหมายเกมคอนโซลด้วย Mono / Unity อัปเดต: นอกจากนี้ยังเป็นไปได้ที่จะกำหนดเป้าหมายเว็บไคลเอ็นต์ด้วยแพลตฟอร์ม UNO และ Blazor (แม้ว่าทั้งสองจะเป็นแบบทดสอบตอนนี้)
ในแอปพลิเคชันในโลกแห่งความเป็นจริงคุณอาจจำเป็นต้องใช้ทั้งหมด ตัวอย่างเช่นฉันพัฒนาแอพพลิเคชั่นจุดขายที่มีสถาปัตยกรรมดังต่อไปนี้:
แชร์ทั้งเซิร์ฟเวอร์และไคลเอนต์:
- ไลบรารี. NET Standard ที่จัดการกับโมเดลของแอ็พพลิเคชันของฉัน
- ไลบรารี. NET Standard ที่จัดการการตรวจสอบความถูกต้องของข้อมูลที่ส่งโดยไคลเอนต์
เนื่องจากเป็นไลบรารี. NET Standard จึงสามารถใช้ในโครงการอื่น (ไคลเอนต์และเซิร์ฟเวอร์)
นอกจากนี้ยังมีข้อได้เปรียบที่ดีของการมีการตรวจสอบความถูกต้องในไลบรารีมาตรฐาน. NET เนื่องจากฉันสามารถมั่นใจได้ว่าการตรวจสอบความถูกต้องแบบเดียวกันนั้นใช้กับเซิร์ฟเวอร์และไคลเอนต์ จำเป็นต้องใช้เซิร์ฟเวอร์ในขณะที่ลูกค้าเป็นทางเลือกและมีประโยชน์ในการลดทราฟฟิก
ฝั่งเซิร์ฟเวอร์ (Web API):
เนื่องจากได้รับการพัฒนาใน. NET Core ฉันสามารถโฮสต์แอปพลิเคชันบนเซิร์ฟเวอร์ Linux
ฝั่งไคลเอ็นต์ (MVVM พร้อม WPF + Xamarin.Forms Android / IOS):
ไลบรารี. NET Standard ที่จัดการการเชื่อมต่อไคลเอ็นต์ API
ไลบรารี. NET Standard ที่จัดการกับ ViewModels Logic ใช้ในทุกมุมมอง
แอ็พพลิเคชัน. NET Framework WPF ที่จัดการมุมมอง WPF สำหรับแอ็พพลิเคชัน windows อัปเดต: แอปพลิเคชั่น WPF สามารถเป็น. NET core ได้ในขณะนี้แม้ว่าจะใช้ได้เฉพาะกับ windows ในปัจจุบันเท่านั้น AvaloniaUI เป็นทางเลือกที่ดีสำหรับการสร้างแอพพลิเคชั่น Desktop GUI สำหรับแพลตฟอร์มเดสก์ท็อปอื่น ๆ
ไลบรารี. NET Standard ที่จัดการมุมมอง Xamarin Forms
โครงการ Xamarin Android และ Xamarin IOS
ดังนั้นคุณจะเห็นได้ว่ามีข้อได้เปรียบอย่างมากที่นี่ในฝั่งไคลเอ็นต์ของแอปพลิเคชันเนื่องจากฉันสามารถนำทั้งไลบรารี. NET Standard (Client API และ ViewModels) มาใช้ใหม่และเพียงแค่สร้างมุมมองโดยไม่มีเหตุผลสำหรับแอปพลิเคชัน WPF, Xamarin และ IOS