Apparently, this should be possible now (and, for apps, the result would be as "usable" as Electron) thanks to WebIDL. For example, Webkit's code to support Javascript access of browser objects is generated from a WebIDL spec. Generating support for <your_language>'s access to Webkit's browser objects is "just work".
Actually, https://tauri.app/ ...
Enough of this tangent now!
Would the Delta Chat e-mail client or the Monocles Chat XMPP client help? They both support webapps-in-chat (WebXDC), and a calendar is one of the many simple apps already created. https://webxdc.org/