MVVMCROSS เป็นเฟรมเวิร์ก MVVM ข้ามแพลตฟอร์มที่ทรงพลังซึ่งให้ประโยชน์หลายประการสำหรับการพัฒนาแอพพลิเคชั่นข้ามแพลตฟอร์มโดยเฉพาะอย่างยิ่งเมื่อใช้กับซามาริน นี่คือข้อดีที่สำคัญบางประการของการใช้ MVVMCROSS:
รูปแบบ MVVM และการใช้รหัสซ้ำ
MVVMCROSS ช่วยให้นักพัฒนาสามารถใช้รูปแบบ Model-View-ViewModel (MVVM) ซึ่งเป็นประโยชน์ในการแยกตรรกะแอปพลิเคชันออกจากส่วนต่อประสานผู้ใช้ การแยกนี้ช่วยให้สามารถใช้ตรรกะทางธุรกิจได้ใหม่ในแพลตฟอร์มที่แตกต่างกันเช่น iOS, Android และ Windows โดยการวาง ViewModels ในไลบรารีคลาสแบบพกพา (PCL) หรือ. NET Standard Library [1] [2] วิธีการนี้ช่วยเพิ่มการใช้รหัสซ้ำอย่างมีนัยสำคัญเนื่องจาก ViewModel เดียวกันสามารถใช้งานได้ในหลายแพลตฟอร์มโดยแต่ละแพลตฟอร์มใช้ UI ดั้งเดิมการเชื่อมข้อมูล
MVVMCROSS รองรับการเชื่อมโยงข้อมูลซึ่งเป็นสิ่งสำคัญสำหรับรูปแบบ MVVM การเชื่อมโยงข้อมูลช่วยให้องค์ประกอบ UI ได้รับการอัปเดตโดยอัตโนมัติเมื่อการเปลี่ยนแปลงข้อมูลพื้นฐานลดความจำเป็นในการอัปเดตด้วยตนเองและรหัสหม้อไอน้ำ [3] [5] คุณลักษณะนี้จะช่วยรักษาความกังวลที่สะอาดระหว่าง UI และตรรกะทางธุรกิจการฉีดพึ่งพาและการผกผันของการควบคุม
MVVMCROSS รวมถึงคอนเทนเนอร์การผกผันในตัว (IOC) ที่รองรับการฉีดพึ่งพา สิ่งนี้ช่วยให้นักพัฒนาสามารถจัดการการพึ่งพาระหว่างส่วนประกอบและบริการได้อย่างง่ายดาย ด้วยการใช้การฉีดคอนสตรัคเตอร์ ViewModels สามารถรับบริการเฉพาะแพลตฟอร์มโดยไม่จำเป็นต้องทราบรายละเอียดการใช้งานทำให้ง่ายต่อการเขียนรหัสข้ามแพลตฟอร์ม [2] [5]ปลั๊กอินและฟังก์ชั่นเฉพาะแพลตฟอร์ม
MVVMCROSS นำเสนอสถาปัตยกรรมปลั๊กอินที่ช่วยให้นักพัฒนาสามารถสร้างและใช้คุณสมบัติเฉพาะแพลตฟอร์มโดยไม่ต้องทำซ้ำรหัส ปลั๊กอินเหล่านี้สามารถติดตั้งได้อย่างง่ายดายผ่าน NUGET และให้ฟังก์ชันการทำงานเช่นการเข้าถึงกล้อง, GPS หรือการดำเนินการฐานข้อมูลซึ่งมีการใช้งานแตกต่างกันในแต่ละแพลตฟอร์ม [1] [2] วิธีการนี้ช่วยลดความซับซ้อนของการรวมบริการเฉพาะแพลตฟอร์มเข้ากับแอปพลิเคชันข้ามแพลตฟอร์มความสามารถในการทดสอบ
หนึ่งในประโยชน์ที่สำคัญของการใช้ MVVMCROSS คือความสามารถในการทดสอบที่ดีขึ้นของ ViewModels เนื่องจาก ViewModels มีตรรกะทางธุรกิจและถูกแยกออกจาก UI พวกเขาสามารถทดสอบได้อย่างง่ายดายโดยไม่ขึ้นกับรหัส UI เฉพาะแพลตฟอร์ม [2] [5] สิ่งนี้ทำให้ง่ายต่อการเขียนการทดสอบหน่วยสำหรับตรรกะแอปพลิเคชันการนำทางและดูผู้นำเสนอ
MVVMCROSS ให้บริการระบบนำทาง ViewModel-First-First ซึ่งรวมถึง ViewPresenters ส่วนประกอบเหล่านี้ช่วยจัดการวิธีการนำเสนอมุมมองบนแพลตฟอร์มที่แตกต่างกันช่วยให้มีความยืดหยุ่นมากขึ้นในการนำเสนอและการนำเสนอ UI [8]ความยืดหยุ่นและความยืดหยุ่น
MVVMCROSS รองรับทั้งแนวทางการพัฒนา Xamarin Native และ Xamarin.Forms นำเสนอความยืดหยุ่นในการเลือกวิธีการใช้เลเยอร์ UI [9] นอกจากนี้ธรรมชาติของแหล่งโอเพ่นซอร์สและชุมชนที่ใช้งานได้มั่นใจว่าสามารถขยายและปรับแต่งเพื่อตอบสนองความต้องการของโครงการเฉพาะโดยรวมแล้ว MVVMCROSS ช่วยเพิ่มการพัฒนาข้ามแพลตฟอร์มโดยการส่งเสริมการใช้รหัสซ้ำการใช้งานการใช้งานเฉพาะแพลตฟอร์มที่ทำให้การใช้งานซ้ำและการปรับปรุงการบำรุงรักษาและการทดสอบความสามารถในการทดสอบ
การอ้างอิง:[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://www.mvvmcross.com/documentation/fundamentals/data-binding
[4] https://stackoverflow.com/questions/32220007/what-does-mvvmcross-do-that-xamarin-doesnt-already
[5] https://www.cms.lk/mvvmcross-a-cross-platform-mobile-platform-for-xamarin/
[6] https://www.velvetech.com/blog/5-reasons-use-mobile-cross-platform-development/
[7] https://www.toptal.com/app/xamarin-mvvmcross-skiasharp-cross-platform
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[9] https://www.mvvmcross.com/documentation/getting-started/getting-started