Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Каковы основные недостатки использования MVVMcross для приложений Android и iOS


Каковы основные недостатки использования MVVMcross для приложений Android и iOS


MVVMcross-это популярная структура для кроссплатформенной мобильной разработки с использованием Xamarin, позволяющая разработчикам использовать шаблон MVVM для Android, iOS и других платформ. Однако, несмотря на свои преимущества, есть несколько недостатков, которые следует учитывать при использовании MVVMcross для приложений Android и iOS:

1. Сложность и кривая обучения: MVVMcross - это большая структура, которая требует времени для полного понимания. Новым разработчикам может быть сложно понять его основы, например, как контекст данных передается между компонентами [1]. Эта сложность может привести к более крутой кривой обучения по сравнению с более простыми рамками.

2. Проблемы с производительностью: некоторые пользователи сообщают о проблемах с производительностью, таких как медленное время запуска и задержки в привязках ListView. Эти проблемы могут быть связаны с MVVMcross, Xamarin или самой платформой Android, что затрудняет точность точной причины без профилировщика производительности [1].

3. Сообщения об ошибках и отладка: сообщения об ошибках Framework могут быть более информативными. Вместо того, чтобы просто сообщать об ошибках, они могут предложить потенциальные решения, которые помогут быстрее отладки и развития [1].

4. Повторность и тестируемость: в то время как MVVMcross стремится улучшить тестируемость путем отделения бизнес -логики от представления, на практике модели просмотра могут стать раздутыми и трудно проверить. Это особенно верно, если они выполняют множество обязанностей и поддерживают внутреннее состояние, что затрудняет тестирование методов независимо [2]. Кроме того, модели View часто становятся необратимыми для различных контроллеров представления из-за их конкретных реализаций [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-impressions-of-developing-for-android-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-to-use-behaviours-and storybards in-a-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