MVVMCROSS เป็นเฟรมเวิร์ก MVVM ข้ามแพลตฟอร์มที่ทรงพลังซึ่งช่วยเพิ่มโครงการ Xamarin Native โดยเปิดใช้งานการแบ่งปันเลเยอร์การนำเสนอและตรรกะ UI ในแพลตฟอร์มที่แตกต่างกัน นี่คือกรณีการใช้งานทั่วไปสำหรับ MVVMCROSS ในโครงการ Xamarin Native:
1. การใช้รหัสข้ามแพลตฟอร์มซ้ำ **
MVVMCROSS ช่วยให้นักพัฒนาสามารถนำรหัสกลับมาใช้ใหม่ได้สูงสุดโดยการวาง ViewModels และตรรกะทางธุรกิจในไลบรารีคลาสแบบพกพา (PCL) PCL นี้สามารถอ้างอิงได้ในหลายโครงการเฉพาะแพลตฟอร์มเช่น Xamarin.android และ Xamarin.ios เพื่อให้มั่นใจว่าตรรกะหลักยังคงสอดคล้องกันในขณะที่ UI สามารถปรับแต่งได้สำหรับแต่ละแพลตฟอร์ม [1] [2]2. การใช้รูปแบบ MVVM **
MVVMCROSS อำนวยความสะดวกในการใช้งานรูปแบบ Model-View-ViewModel (MVVM) ซึ่งเป็นประโยชน์ในการรักษาความกังวลที่ชัดเจนระหว่าง UI และตรรกะทางธุรกิจ รูปแบบนี้ช่วยในการสร้างแอพพลิเคชั่นคู่กันอย่างหลวม ๆ ทำให้ง่ายต่อการทดสอบและบำรุงรักษา [3] [5]3. การเชื่อมโยงข้อมูลและการนำทาง **
MVVMCROSS ให้ความสามารถในการเชื่อมโยงข้อมูลที่มีประสิทธิภาพช่วยให้มุมมองเชื่อมโยงกับ ViewModels ได้อย่างราบรื่น คุณลักษณะนี้รองรับโหมดการเชื่อมโยงและตัวแปลงต่างๆเพิ่มความยืดหยุ่นของ UI ของแอปพลิเคชัน นอกจากนี้ MVVMCROSS ยังมีระบบนำทางที่ทำให้การเคลื่อนที่ระหว่างมุมมองที่แตกต่างกันภายในแอพง่ายขึ้น [2] [5]4. การฉีดและปลั๊กอินการพึ่งพา **
MVVMCROSS เสนอคอนเทนเนอร์การฉีดพึ่งพา (DI) ที่ช่วยให้นักพัฒนาสามารถลงทะเบียนและแก้ไขบริการเฉพาะแพลตฟอร์มจาก PCL คุณลักษณะนี้มีความสำคัญสำหรับการรวมฟังก์ชันเฉพาะแพลตฟอร์มโดยไม่ต้องทำซ้ำรหัส ยิ่งไปกว่านั้น MVVMCROSS ยังรองรับปลั๊กอินที่หลากหลายสำหรับฟังก์ชันทั่วไปเช่นการดำเนินการฐานข้อมูลการเชื่อมต่อเครือข่ายและอื่น ๆ ซึ่งสามารถรวมเข้ากับโครงการผ่านแพ็คเกจ NUGET ได้อย่างง่ายดาย [1] [3]5. การปรับแต่ง UI เฉพาะแพลตฟอร์ม **
ในขณะที่ Xamarin.Forms จำกัด การปรับแต่ง UI ข้ามแพลตฟอร์ม MVVMCROSS กับ Xamarin Native ช่วยให้นักพัฒนาสามารถสร้าง UIs เฉพาะแพลตฟอร์ม สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อแอปพลิเคชันต้องการรูปลักษณ์และความรู้สึกแบบดั้งเดิมในแต่ละแพลตฟอร์ม MVVMCROSS ทำให้มั่นใจได้ว่าแม้จะมีการใช้งาน UI ที่แตกต่างกัน แต่ตรรกะทางธุรกิจพื้นฐานยังคงใช้ร่วมกันและสอดคล้องกัน [1] [4]6. การทดสอบหน่วยและประสิทธิภาพการพัฒนา **
ด้วยการแยกตรรกะทางธุรกิจออกเป็น PCL MVVMCROSS ทำให้ง่ายต่อการเขียนการทดสอบหน่วยสำหรับตรรกะหลักของแอปพลิเคชัน การแยกนี้ยังช่วยเพิ่มความเร็วในการพัฒนาเนื่องจากการเปลี่ยนแปลงตรรกะทางธุรกิจไม่จำเป็นต้องมีการแก้ไขรหัส UI เฉพาะแพลตฟอร์ม [5]โดยสรุป MVVMCROSS เป็นเครื่องมือที่หลากหลายสำหรับโครงการดั้งเดิมของ Xamarin ซึ่งนำเสนอวิธีการที่มีโครงสร้างในการพัฒนาข้ามแพลตฟอร์มในขณะที่ยังคงความยืดหยุ่นในการปรับแต่ง UIs สำหรับแต่ละแพลตฟอร์ม คุณสมบัติของมันเช่นการสนับสนุนรูปแบบ MVVM การเชื่อมโยงข้อมูลการฉีดพึ่งพาและระบบนิเวศปลั๊กอินที่กว้างขวางทำให้เป็นตัวเลือกที่เหมาะสำหรับการใช้งานที่ซับซ้อนข้ามแพลตฟอร์ม
การอ้างอิง:[1] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[4] https://canbilgin.wordpress.com/tag/mvvmcross/
[5] https://www.mvvmcross.com/documentation/getting-started/getting-started
[6] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarin-forms-version
[7] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-already
[8] https://stackoverflow.com/questions/38450264/xamarin-forms-vs-xamarin-mvvmcross