MVVMCross-популярна основа для перехресної мобільної розробки за допомогою Xamarin, що дозволяє розробникам використовувати шаблон MVVM для Android, iOS та інших платформ. Однак, незважаючи на свої переваги, є кілька недоліків, які слід враховувати при використанні MVVMCross для Android та iOS -програм:
1. Складність та крива навчання: MVVMcross - це велика рамка, яка потребує часу, щоб повністю зрозуміти. Новим розробникам може бути складно зрозуміти його основи, наприклад, як передається контекст даних між компонентами [1]. Ця складність може призвести до більш чіткої кривої навчання порівняно з простішими рамками.
2. Проблеми з продуктивністю: Деякі користувачі повідомили про проблеми з продуктивністю, такі як повільний час запуску та затримки в прив'язках ListView. Ці проблеми можна віднести до MVVMcross, Xamarin або самої платформи Android, що ускладнює точну причину без профілера продуктивності [1].
3. Повідомлення про помилки та налагодження: Повідомлення про помилки Framework можуть бути більш інформативними. Замість того, щоб просто повідомити про помилки, вони можуть запропонувати потенційні рішення, які допоможуть швидше налагодити та розвивати [1].
. Це особливо актуально, якщо вони виконують багаторазові обов'язки та підтримують внутрішній стан, що ускладнює тестування методів самостійно [2]. Крім того, моделі перегляду часто стають неоднозначними для різних контролерів перегляду завдяки їх конкретним реалізацією [2].
5. Платформа, що стосуються платформи: на Android, фрагментації та стек Java можуть поставити додаткові проблеми. Наприклад, використання зображень Intel Android X86 в емуляторах може призвести до вигадки, таких як надмірні проблеми журналу або мережеві проблеми [1]. На iOS відсутність вбудованих прив'язок може ускладнити реалізацію MVVM, що призводить до надмірної залежності від контролерів перегляду або перегляду моделей завдань, з якими вони не повинні обробляти [2].
6. Застаріла документація та навчальні посібники: Існує занепокоєння щодо застарілих підручників та документації для MVVMCross. Це може ускладнити початок роботи або не відставати від змін у рамках [5].
7. Довговічність та підтримка: питання про зрілість та довговічність рамок були порушені, особливо в контексті швидко розвиваються мобільних технологій. Це може вплинути на рішення щодо використання MVVMCross для комерційних проектів [5].
В цілому, хоча MVVMCross пропонує значні переваги в розвитку міжплатформних, його складність, проблеми з продуктивністю та проблеми, що стосуються платформи, потребують ретельного розгляду, вирішуючи, чи використовувати його для додатків для Android та iOS.
Цитати:[1] https://blog.rthand.com/a-week-of-minsions-of-developing-for-ride-using-xamarin-mvvmcross/
[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-in-mu
[7] https://www.reddit.com/r/dotnet/comments/1cqqika/worth_converting_net_androidios_to_maui/
[8] https://mentormate.com/blog/6-reasons-mvvmcross-speeds-xamarin-development-personalizes-ux/
[9] https://stackoverflow.com/questions/26108486/should-i-use-mvvmcross-for-xamarin-forms-and-windows-store-app