哪种架构适合类似whatsapp的实时聊天应用程序?

时间:2019-07-02 10:59:31

标签: android design-patterns websocket chat

我想在Android中开发类似WhatsApp或电报的实时聊天应用程序 通用客户端应通过WebSockets甚至是服务器连接到服务器 离线或在线必须正常工作。我决定使用MVP,MVVM和MVI之类的Android体系结构,但让我感到困惑的是哪种结构适合我的应用程序

有人可以帮助我选择其中之一吗?

我的第二个问题:是否可以对所有API使用WebSockets,还是最好将WebSockets和REST API一起使用?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

对于应用程序体系结构,存在很多模式。最著名的是经典的三层体系结构,例如:

  1. MVC:模型视图控制器。
  2. MVP:Model-View-Presenter。
  3. MVVM:模型-视图-视图模型。

所有这些模式都代表着主要的相似想法-以不同的通用层分开的方式构造项目的代码。每层都有自己的责任。这就是您的项目成为模块化的原因:分离的代码部分更易于测试,并且您的应用足够灵活以进行连续更改。

强烈建议使用

MVP ,因为许多开发人员正在使用它。甚至Google也提供了Apple docs,您可以看到best practice example on Github.

答案 1 :(得分:0)

我强烈建议您使用MVVM,因为Google最近针对Android项目采用了这种方法。您可以找到很多有关它的示例。特别是LiveData和ViewModel机制在关注点分离和管理ui与数据之间的关系方面具有很多优势。