Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Як MVVMCROSS покращує повторне використання коду в програмах міжплатформ


Як MVVMCROSS покращує повторне використання коду в програмах міжплатформ


MVVMCross значно покращує повторне використання коду в міжплатформних додатках, використовуючи архітектурну схему модель-View-ViewModel (MVVM). Ось як це досягає:

1. Відокремлення проблем: MVVMcross сприяє чіткому розділенню проблем, поділивши додаток на дві основні частини: ядро ​​та інтерфейс інтерфейсу. Основний проект, як правило, портативна бібліотека класу (PCL) або стандартна бібліотека .NET, містить усі ViewModels, моделі та бізнес -логіку. Це дозволяє отримати максимальне повторне використання коду на різних платформах, оскільки логіка бізнесу від'єднана з конкретного коду платформи [1] [2] [7].

2. ViewModels в основному проекті: Розміщуючи ViewModels в основному проекті, MVVMCross дозволяє розробникам ділитися цими компонентами на різних платформах. Це означає, що логіка обробки взаємодій користувачів, маніпулювання даними та навігації можна повторно використовувати без модифікації на різних платформах, таких як iOS, Android та Windows [1] [3] [9].

3. Зв'язування даних: MVVMCross підтримує прив'язку даних, яка автоматично оновлює інтерфейс користувача, коли зміни відбуваються в ViewModel. Ця функція має вирішальне значення для підтримки узгодженості на платформах та зменшує потребу в оновленні користувача вручну, подальше вдосконалення повторного використання коду [4] [5].

4. Введення залежності та плагіни: MVVMcross включає в себе можливості архітектури та введення залежності (DI). Ці функції дозволяють розробникам реалізовувати функціональні можливості, що стосуються платформи, таким чином, щоб їх можна було легко отримати та повторно використати з основного проекту. Це означає, що хоча шар інтерфейсу повинен бути специфічним для платформи, багато основних функціональних можливостей все ще можна поділити [3] [9].

5. Представники навігації та перегляду: MVVMCross забезпечує потужну навігаційну систему ViewModel-First, яка дозволяє оркеструвати навігацію додатків від основного проекту. Це означає, що потік взаємодій користувачів та екранних переходів можна керувати центрально, зменшуючи потребу в коді навігації, що стосується платформи [7].

6. Ефективна структура проекту: MVVMcross заохочує структурований підхід до організації проекту, з чітким розділенням між кодом платформи-агностики в основному та конкретному коді платформі в проектах інтерфейсу. Ця структура полегшує легке обслуговування та розширення крос-платформних додатків [2] [9].

Загалом, MVVMCross покращує повторне використання коду, централізуючи логіку бізнесу, використовуючи прив'язку даних та надаючи інструменти для управління функціональними можливостями, що стосуються платформи. Цей підхід значно зменшує кількість дублюваного коду та прискорює розробку міжплатформних додатків.

Цитати:
[1] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[2] https://www.toptal.com/xamarin/cross-platform-apps-with-xamarin
[3] https://www.suneco.nl/blogs/boost-your-xamarin-native-projects-with-mvvmcross/
[4] https://tiefenauer.github.io/blog/mobile-app-development-with-xamarin-and-mvvmcross-part-introduction/
[5] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[6] https://diglib.tugraz.at/download.php?id=576a78335451d&location=browse
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://www.reddit.com/r/swift/comments/yrqlhu/is_crossplatform_the_future_of_mobile_development/
[9] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[10] https://stackoverflow.com/questions/22409697/maximizing-ui-code-reuse-with-xamarin-mvvmcross