Целью MVVM является полная изоляция между бизнес-логикой, пользовательским интерфейсом и моделями данных.
Итак, учитывая ваш сценарий, вы бы создали представление для Android, скорее всего, в формате AXML. Любая логика, которую вы обычно делаете в деятельности Android, будет выполняться в ViewModel, в общем коде.
Затем вы создадите клиентское подключение REST API в общем коде, например, в папке служб. Так как это функциональность, которая не должна зависеть от платформы Все платформы могут использовать это как есть.
Из ViewModel вы можете затем вызвать REST API и заполнить ваши модели, которые будут вызываться из представлений, т.е. действие будет иметь ссылку на ViewModel и любые модели, которые содержит ViewModel.
Когда дело доходит до вашего сценария NFC, вы будете писать методы NFC в ViewModel, а затем будете использовать что-то вроде Служба зависимостей , чтобы определить платформу, которая затем будет запускать логику NFC, записанную в каждом из них. проект платформы.
Это означает, что когда вы представляете iOS или другие платформы, вы можете повторно использовать эту Модель и ViewModel, которая затем вызовет логику NFC, написанную в проекте iOS.