使用移动框架从服务器接收更新



我正在尝试制作一个移动应用程序,我发现ionic框架看起来很酷。

REST似乎是一种常见的做事方式,我对这个协议一点也不理解。服务器如何通知他有数据要发送。如果我们有一个文本应用程序,服务器如何通知应用程序(没有推送通知,或者可能是强制性的?)另一个客户端向您发送了消息?

REST似乎只适用于来自客户端的请求。这是否意味着我必须每X毫秒发送一次更新请求才能有一个响应的应用程序?我必须使用websocket吗?我还看到了彗星,这是一个很好的休息方式吗?

REST体系结构并没有真正解决"发布/订阅"(pub/sub)范式。它比那个粗糙得多。

pub/sub的主要问题是技术性的,尤其是在今天。在一个完全连接的互联网中,所有东西都在已知的位置一直在线,那么基本的REST架构就可以工作了。简单地说,客户端和服务器的角色来回交换(即服务器在需要发送通知时成为客户端)。

但那不是真实的世界。

现实世界是,虽然我们有很多联网的设备,但我们没有很多已知的位置。你的手机一直在移动,谁知道它在任何时候都在哪个IP地址。DNS没有帮助,因为你的手机可能没有以任何特定的已知名称注册。然后是基础设施问题,绝大多数客户都被锁在可以发送消息但无法接收消息的地方,即使我们知道他们是谁和在哪里。

因此,REST并没有简单地探究这一领域,因为它通常会违反一些关键属性。

一个是URL消失了。由于我们不知道你在哪里,也不知道你是谁,我们无法说出你的名字。因此,人们绕过它的一种方式是通过长期的联系。您的客户端连接到服务器并保留其连接,以便服务器可以进行回话。但这是一种隐含的有状态连接。REST趋向于无状态,并且在体系结构级别上是有效的无连接的。

因此,在这种环境中,REST不是一个合适的体系结构,因为机制无法支持一些基本规则。

相关内容

  • 没有找到相关文章

最新更新