android - 哪种架构适合whatsapp等实时聊天应用?
问题描述
我想在 Android 中开发一个实时聊天应用程序,例如 WhatsApp 或电报,用于通用客户端应该通过 WebSockets 连接到服务器,甚至离线或在线都必须正常工作。我决定使用像 MVP、MVVM 和 MVI 这样的 Android 架构,但我很困惑哪一个适合我的应用程序
谁能帮我选择其中之一?
我的第二个问题:是否可以将 WebSockets 用于所有 API,或者最好将 WebSockets 和 REST API 一起使用?
谢谢你的帮助
解决方案
应用架构有很多模式。最著名的是经典的三层架构,例如:
- MVC:模型-视图-控制器。
- MVP:模型-视图-演示者。
- MVVM:模型-视图-视图模型。
所有这些模式都代表了一个主要的类似想法——以一种由不同的通用层分隔的方式来构建项目的代码。每一层都有自己的责任。这就是您的项目变得模块化的原因:分离的代码部分更具可测试性,并且您的应用程序足够灵活,可以进行持续更改。
强烈推荐MVP,因为现在很多开发人员都在使用它。甚至,谷歌也在Github 上提供了它的最佳实践示例。您可以在此处查看完整文档。
推荐阅读
- python - 如何在python中使用前缀字段更改AFINN字段
- algorithm - 使用反向替换计算算法的复杂度
- blazor - 将 EditFrom 拆分为多个组件
- node.js - 如何在 AWS sdk nodejs 中更改 aws 配置文件
- google-cloud-platform - 在 GCP cloudbuild.yaml 中指定与“名称”不同的“执行函数”
- javascript - JavaScript add 和 removeEventListeners 带参数的回调
- gitlab - 未能加载代码气候报告,但报告存在
- python - 开始使用 mypy / 忽略外部库
- python - Python Selenium - 如何单击非按钮元素
- c# - C# 只允许一个类调用不同类的属性设置器(或者让类知道它是否存储在另一个类的数组中)