新型电子邮件协议JMAP
【Jobeen】
    什么是JMAP
    MAP是一个传输无关的,无状态基于JSON用于同步的邮件客户端与邮件服务器的API。它的目的是作为一个IMAP的替代。该规范是基于目前使用的FastMail的web应用程序的API。它的目的是要与在IMAP的数据模型相兼容,以便它可以当前支持IMAP服务器上容易地实现,但减少了数据的使用,可以更高效的同步,所以比IMAP更高效。
    REST-like API
    JMAP是REST-like API和常用的"RESTful"想似,但不完全一样。它是无状态的,可高度缓存,支持透明的中介传输,并提供了一??个统一的接口来操作不同的资源。但是它不使用HTTP方法来实现这一点。 当你有一个高延迟连接(如手机),HTTP REST-based协议需要一个额外的往返可以对性能产生巨大的影响。当你有一个顺序依赖的API调用,这是个很大的问题,你需要确保一个API完成了,其他才能运行(例如,当你改变的邮件的状态,则需要获取mailbox)。在JMAP协议,这可以在一个单一的往返请求来完成。一个HTTP REST-based为基础的版本将需要两个完整的往返进行同样的操作。
    所述JMAP协议是传输无关,并且可以容易地运输过的WebSocket,以及HTTP协议。
    文本传输
    二进制协议可能更紧凑,更快速地解析编码。但是,历史经验表明基于文本的协议更容易调试,并通过使用现有广泛使用的编码格式(JSON),我们能够更容易的让开发人员使用此协议。不需要写新的自定义,容易出错的解析器。在速度上的差异很可能是很小的,特别是如果你用GZIP传输和使用的WebSockets而不是HTTP。
    想调用JMAP,需要知道什么
    首先,你应该加入JMAP邮件列表。欢迎反馈:感觉任何东西是不精确的,不完整的,或者可以简单地用另一种方式做的,或你有更好的想法或意见,发送给我们。如果你做任何与JMAP相关的事情,也欢迎加入我们的邮件列表. 规范本身托管在GitHub上。如果您发现错误,随时可以提交pull请求。
    要实现它,需要知道什么
    在官网有很多资源来帮助你。我建议先从开发者引导,以熟悉JMAP规范如何工作。然后再看文档其它部分,规范是你的圣经,开发建议是你的朋友。
    构建一个JMAP客户端,需要做什么
    阅读客户端向导文档很详细的介绍了如何开发一个客户端,最后你还需要一个JMAP服务器端来测试你的客户端。