MVVMcross là một khung MVVM đa nền tảng mạnh mẽ giúp tăng cường các dự án gốc Xamarin bằng cách cho phép chia sẻ các lớp trình bày và logic UI trên các nền tảng khác nhau. Dưới đây là một số trường hợp sử dụng phổ biến cho MVVMcross trong các dự án bản địa Xamarin:
1. Tái sử dụng mã đa nền tảng **
MVVMCROSS cho phép các nhà phát triển tối đa hóa việc tái sử dụng mã bằng cách đặt chế độ xem và logic kinh doanh trong Thư viện lớp di động (PCL). PCL này có thể được tham chiếu trên nhiều dự án dành riêng cho nền tảng, chẳng hạn như xamarin.android và xamarin.ios, đảm bảo rằng logic cốt lõi vẫn nhất quán trong khi UI có thể được tùy chỉnh cho mỗi nền tảng [1] [2].2. Thực hiện mẫu MVVM **
MVVMcross tạo điều kiện cho việc triển khai mô hình mô hình-View-ViewModel (MVVM), có lợi cho việc duy trì sự phân tách rõ ràng các mối quan tâm giữa UI và logic kinh doanh. Mẫu này giúp tạo các ứng dụng được ghép nối lỏng lẻo, giúp chúng dễ dàng hơn để kiểm tra và duy trì [3] [5].3. Liên kết dữ liệu và điều hướng **
MVVMCROSS cung cấp các khả năng liên kết dữ liệu mạnh mẽ, cho phép các chế độ xem liên kết với các chế độ xem một cách liền mạch. Tính năng này hỗ trợ các chế độ và bộ chuyển đổi liên kết khác nhau, tăng cường tính linh hoạt của UI của ứng dụng. Ngoài ra, MVVMCROSS bao gồm một hệ thống định vị giúp đơn giản hóa việc di chuyển giữa các chế độ xem khác nhau trong ứng dụng [2] [5].4. Tiêm phụ thuộc và plugin **
MVVMCROSS cung cấp một thùng chứa tiêm phụ thuộc (DI) cho phép các nhà phát triển đăng ký và giải quyết các dịch vụ dành riêng cho nền tảng từ PCL. Tính năng này rất quan trọng để tích hợp các chức năng cụ thể của nền tảng mà không cần sao chép mã. Ngoài ra, MVVMcross hỗ trợ một loạt các plugin cho các chức năng chung như hoạt động cơ sở dữ liệu, kết nối mạng và hơn thế nữa, có thể dễ dàng tích hợp vào các dự án thông qua các gói NUGET [1] [3].5. Tùy chỉnh UI dành riêng cho nền tảng **
Trong khi Xamarin.Forms hạn chế tùy chỉnh UI trên các nền tảng, MVVMcross với Xamarin Native cho phép các nhà phát triển tạo UI dành riêng cho nền tảng. Điều này đặc biệt hữu ích khi một ứng dụng yêu cầu giao diện bản địa trên mỗi nền tảng. MVVMcross đảm bảo rằng mặc dù các triển khai UI khác nhau, logic kinh doanh cơ bản vẫn được chia sẻ và nhất quán [1] [4].6. Hiệu quả kiểm tra và phát triển đơn vị **
Bằng cách tách logic kinh doanh thành PCL, MVVMcross giúp việc viết các bài kiểm tra đơn vị dễ dàng hơn cho logic cốt lõi của ứng dụng. Sự phân tách này cũng tăng tốc độ phát triển, vì những thay đổi đối với logic kinh doanh không yêu cầu sửa đổi mã UI dành riêng cho nền tảng [5].Tóm lại, MVVMcross là một công cụ đa năng cho các dự án bản địa Xamarin, cung cấp một cách tiếp cận có cấu trúc để phát triển đa nền tảng trong khi duy trì tính linh hoạt để tùy chỉnh UI cho mỗi nền tảng. Các tính năng của nó như hỗ trợ mẫu MVVM, liên kết dữ liệu, tiêm phụ thuộc và hệ sinh thái plugin rộng rãi làm cho nó trở thành một lựa chọn lý tưởng cho các ứng dụng phức tạp, đa nền tảng.
Trích dẫn:.
[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