|
|
|
|
|
by 0xCMP
1749 days ago
|
|
I planned to comment on the conclusion as well. I think these protocols often do not handle things well enough and in the end the apps out there do not implement them properly anyways. You always end up building some kind of CRUD/RPC thing that works via HTTP/WebSocket which is why things like Todoist and etc work well and are able to add the features everyone wants in the end. |
|
This turns out to be very hard to do based on CalDAV/WebDAV protocols because many clients and services implement the spec differently or only parts of it.
That's why I switched my approach and I'm writing my own backend storage layer that has my desired event system builtin on that layer (Using Kotlin/JVM for the backend, postgres for storage and MQTT for pub-sub to events). On top of that storage/api layer I'm building CalDAV/WebDAV support so external clients can connect to it.
Having my own HTTP+MQTT API makes it a lot easier to build modern clients as well. In fact because I chose Kotlin/JVM as my baseline and have already written a pure Kotlin client library I'm making a lot of progress on both desktop, android and cli tools to interact with the system.