【问题标题】:Which architecture is suitable for realtime chat application like whatsapp?哪种架构适合whatsapp等实时聊天应用?
【发布时间】:2019-07-02 10:59:31
【问题描述】:

我想在 Android 中开发一个实时聊天应用程序,例如 WhatsApp 或电报 对于通用客户端应该通过 WebSockets 连接到服务器,甚至 离线或在线必须正常工作。我决定使用像 MVP、MVVM 和 MVI 这样的 Android 架构,但我很困惑哪一种适合我的应用程序

谁能帮我选一个?

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

感谢您的帮助

【问题讨论】:

  • 使用 RX 检查 MVVM。

标签: android design-patterns websocket chat


【解决方案1】:

应用架构有很多模式。最著名的是经典的三层架构,例如:

  1. MVC:模型-视图-控制器。
  2. MVP:模型-视图-演示者。
  3. MVVM:模型-视图-视图模型。

所有这些模式都代表了一个主要的类似想法——以一种由不同的通用层分隔的方式来构建项目的代码。每一层都有自己的责任。这就是您的项目变得模块化的原因:分离的代码部分更易于测试,并且您的应用足够灵活,可以进行持续更改。

强烈推荐

MVP,因为现在很多开发者都在使用它。甚至,谷歌也提供了它的best practice example on Github.你可以看到full document here.

【讨论】:

  • 你觉得mvi怎么样?
  • MVI 主要用于响应式应用程序。
  • MVVM 是 2019 年 Google 推荐的方法,不是 MVP,当然也不是 MVC。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 2015-06-28
    • 2018-10-20
    • 1970-01-01
    • 2014-11-03
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多