Extend Aims, implementation strategies

This commit is contained in:
contrapunctus 2021-12-19 00:57:09 +05:30
parent 304cd824f8
commit edb711e727
1 changed files with 21 additions and 3 deletions

View File

@ -1,8 +1,26 @@
#+TITLE:XMPP Client Library
Aims
1. Do not restrict the kind of UI library users can make
2. Make it easy to implement a new XML element
* Aims
1. XMPP Advanced Client and AV Calling compliance
2. Must be possible to use to create clients on all platforms
3. Do not restrict the kind of UI library users can make
4. Make it easy to implement a new XML element
* Strategies
1. native Common Lisp library
+ much work, from what I hear
+ EQL5-Android client for Android, iOS, and desktop
+ McCLIM for desktop, web (Broadway), Emacs ([[http://twitter.com/lukego/status/1387747747864973312][CLIME]]), and TUI (ncurses backend)
- most of those backends are WIP, and I'm not aware of McCLIM having Windows or Wayland support...
2. [C] CFFI + [[https://github.com/strophe/libstrophe][libstrophe]]
+ libstrophe calls itself "minimalist"...might be about as much work as #1 to write the required features
3. [Python] [[https://github.com/pinterface/burgled-batteries][burgled-batteries]]/[[https://github.com/bendudson/py4cl][py4cl]]/[[https://github.com/metawilm/cl-python][clpython]] + slixmpp/aioxmpp/nbxmpp
+ Will this work on Android and iOS?
4. (C++) Clasp/ECL + Swiften
+ Will this work on Android and iOS?
5. [Java] ABCL + Smack
+ Will this work on Android and iOS? ABCL does not yet have Dalvik/ART support...
6. [JavaScript] Parenscript + strophe.js/xmpp.js + ReactNative
* Resources
1. [[https://xmpp.org/rfcs/rfc6120.html][Extensible Messaging and Presence Protocol (XMPP): Core]]