JSConf JP

Webメール開発を大幅に変えたJMAPというゲームチェンジャー

SessionTrack BJapanese

【概要】 従来、Webメールの開発には、IMAPとSMTPが利用されてきました。これらのプロトコルはWeb標準の通信(Fetch/XHR/WebSocket)と親和性がないため、双方ともブラウザから利用することができません。結果として、サーバーサイドでIMAPおよびSMTPを利用するためのAPI、各プロトコルの独自クライアント、独自データ構造用のパーサーなどを必要とするため、IMAPとSMTPを用いたWebメールの開発は困難です。

2019年、JMAP(JSON Meta Application Protocol)に関するプロトコルがRFC 8620およびRFC 8621で標準化されました。JMAPは、メール、カレンダー、アドレス帳などのデータをJSONで効率的に管理するためのデータ同期プロトコルです。従来のIMAPやメール送信の仕組みと比較すると、JMAPはHTTP上で動作し、構造化されたメールデータをより高速に取り扱うことができるため、JMAPはWebメール開発において利便性の高いプロトコルです。

2026年、JMAPを用いたWebメール開発に関する情報は見当たらず、より多くの実践知が共有されるべきだと考えています。JMAPにはHTTP/JSONでメールを管理できる一方で、大量のメールをブラウザ上で快適に操作するための、データの同期設計、状態管理、変更検知などJMAP固有の課題が存在するからです。またAI時代においては、構造化したメールデータとAIを有効活用したユーザー体験も必要になるでしょう。

そこで、本セッションではさくらインターネット研究所におけるJMAPを利用したWebメール開発の実践知をベースに、JMAPに関する基本情報を始めとして、WebSocketによるリアルタイムのデータ同期、IndexedDBを活用したキャッシュ戦略やオフライン対応、構造化データを活用したAI機能との親和性など、JMAPがwebメール開発に与えた多大な変化についてお話します。

【伝えたいこと】 ・ JMAPによってWebメール開発はどう変わったのか ・ Webメール開発はRFCとの戦いである

【参加者が学べること】 ・ JMAPに関する基本情報 ・ JMAP over WebSocketを用いたリアルタイムのメールデータ同期 ・ IndexedDBを用いたキャッシュ戦略やオフライン対応 ・ メールの構造化データとAI機能との親和性

【過去の発表】 https://speakerdeck.com/tascript