Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Những nhược điểm chính của việc sử dụng MVVMcross cho các ứng dụng Android và iOS


Những nhược điểm chính của việc sử dụng MVVMcross cho các ứng dụng Android và iOS


MVVMcross là một khung phổ biến để phát triển di động đa nền tảng bằng cách sử dụng Xamarin, cho phép các nhà phát triển tận dụng mẫu MVVM trên Android, iOS và các nền tảng khác. Tuy nhiên, mặc dù có lợi, có một số nhược điểm cần xem xét khi sử dụng MVVMcross cho các ứng dụng Android và iOS:

1. Độ phức tạp và đường cong học tập: MVVMCROSS là một khung lớn đòi hỏi thời gian để nắm bắt hoàn toàn. Các nhà phát triển mới có thể thấy khó khăn khi hiểu các nguyên tắc cơ bản của nó, chẳng hạn như cách thức bối cảnh dữ liệu được chuyển giữa các thành phần [1]. Sự phức tạp này có thể dẫn đến một đường cong học tập dốc hơn so với các khung đơn giản hơn.

2 Những vấn đề này có thể được quy cho MVVMCROSS, XAMARIN hoặc chính nền tảng Android, gây khó khăn cho việc xác định chính xác nguyên nhân mà không có trình hồ sơ hiệu suất [1].

3. Thông báo lỗi và gỡ lỗi: Thông báo lỗi của khung có thể có nhiều thông tin hơn. Thay vì chỉ báo cáo lỗi, họ có thể đề xuất các giải pháp tiềm năng, điều này sẽ hỗ trợ gỡ lỗi và phát triển nhanh hơn [1].

4. Khả năng tái sử dụng và khả năng kiểm tra: Mặc dù MVVMcross nhằm mục đích cải thiện khả năng kiểm tra bằng cách tách logic kinh doanh khỏi chế độ xem, trong thực tế, các mô hình xem có thể trở nên đầy hơi và khó kiểm tra. Điều này đặc biệt đúng nếu họ xử lý nhiều trách nhiệm và duy trì trạng thái nội bộ, khiến cho việc kiểm tra các phương pháp độc lập [2] khó khăn. Ngoài ra, các mô hình chế độ xem thường trở thành không thể dự phòng trên các bộ điều khiển chế độ xem khác nhau do các triển khai cụ thể của chúng [2].

5. Những thách thức cụ thể của nền tảng: Trên Android, Fragmentation và Java Stack có thể đặt ra những thách thức bổ sung. Ví dụ: sử dụng hình ảnh Intel Android X86 trong các trình giả lập có thể dẫn đến các điều kỳ quặc như ghi nhật ký quá mức hoặc các vấn đề mạng [1]. Trên iOS, việc thiếu các ràng buộc tích hợp có thể làm phức tạp việc triển khai MVVM, dẫn đến sự phụ thuộc quá mức vào các bộ điều khiển xem hoặc xem các mô hình cho các tác vụ mà họ không nên xử lý [2].

6. Tài liệu và hướng dẫn lỗi thời: Đã có những lo ngại về các hướng dẫn và tài liệu lỗi thời cho MVVMcross. Điều này có thể gây khó khăn cho các nhà phát triển mới để bắt đầu hoặc theo kịp các thay đổi trong khung [5].

7. Tuổi thọ và hỗ trợ: Các câu hỏi về sự trưởng thành và tuổi thọ của khung đã được nêu ra, đặc biệt là trong bối cảnh các công nghệ di động phát triển nhanh chóng. Điều này có thể tác động đến các quyết định về việc có nên sử dụng MVVMcross cho các dự án thương mại [5].

Nhìn chung, trong khi MVVMcross cung cấp những lợi thế đáng kể trong phát triển đa nền tảng, sự phức tạp, các vấn đề về hiệu suất và các thách thức cụ thể của nền tảng cần được xem xét cẩn thận khi quyết định có nên sử dụng nó cho các ứng dụng Android và iOS hay không.

Trích dẫn:
.
[2] https://www.danielhall.io/the-problems-with-mvvm-on-ios
[3] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[5] https://xamarin21.rssing.com/chan-23562832/article1771.html
[6] https://stackoverflow.com/questions/16301045/mvvmcross-v3-is-that-wrong-to-try-to-use-behaviours-and-storyboards-in-a-mu
.
.
[9] https://stackoverflow.com/questions/26108486/should-i-use-mvvmcross-for-xamarin-forms-and-windows-store-app