Какая архитектура подходит для приложения чата в реальном времени, например WhatsApp? - PullRequest
0 голосов
/ 02 июля 2019

Я хочу разработать приложение для чата в реальном времени в Android, такое как WhatsApp или телеграмма для универсального клиента, который должен подключаться к серверу через WebSockets, и даже в автономном режиме или онлайн должен работать нормально.Я решил использовать архитектуру Android, такую ​​как MVP, MVVM и MVI, но я не понимаю, какая из них подходит для моего приложения

Может ли кто-нибудь помочь мне выбрать один из них?

И мойВторой вопрос: можно ли использовать WebSockets для всех API или лучше использовать вместе WebSockets и REST API?

Спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Я настоятельно рекомендую вам использовать MVVM, потому что Google недавно применил этот подход для проектов Android.Вы можете найти много примеров об этом.В частности, механизмы LiveData и ViewModel имеют много преимуществ с точки зрения разделения интересов и управления отношениями между пользовательским интерфейсом и данными.

0 голосов
/ 02 июля 2019

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

  1. MVC: Model-View-Controller.
  2. MVP: Model-View-Presenter.
  3. MVVM: модель-вид-вид-модель.

Все эти шаблоны представляют основную сходную идею - структурировать код вашего проекта таким образом, чтобы он был разделен различными общими слоями. Каждый слой имеет свою ответственность. Вот почему ваш проект становится модульным: отдельные части кода более тестируемы, а ваше приложение достаточно гибкое для непрерывных изменений.

MVP настоятельно рекомендуется, потому что многие разработчики используют его сейчас. Даже Google также предоставляет свой пример наилучшей практики на Github. Полный текст документа можно посмотреть здесь.

...