Instant-Messaging-SDKs und -Plattformen für mobile Plattformen und Smartphones (Android, iOS, embedded Linux) – Teil 1
Der folgende Artikel gibt einen Überblick über Messaging-SDKs. Mithilfe solcher SDKs ist es möglich, Smartphone-Apps zu entwickeln, welche schwerpunktmäßig dem Austausch von Kurznachrichten dienen, oder lediglich Messagingfunktionen als ein weiteres Feature integrieren.
Links in diesem Artikel verweisen meistens auf den entsprechenden Beitrag bei Wikipedia.
Hintergrund, Motivation und ein bisschen Geschichte
Die Nutzung von Nachrichtendiensten, Messaging Services, hat innerhalb der letzten 25 Jahre stark zugenommen. Einer der ersten Messenger war ICQ1, erschienen 1996, als native Desktop-Anwendung für Windows (damals 95/ 98 und XP). Seit dem entstanden weitere Messenger, AOL Instant Messenger (AIM), Yahoo Pager, MSN / Windows Live Messenger, Skype, und Google Talk. Nach der Einführung moderner Smartphones mit hohen Rechenleistungen und Betriebssystemen wie iOS und Android (2007/2008) sind Messenger für eben diese eingeführt worden. Instant Messaging in dieser Form war seit dem auch unterwegs möglich. Die Smartphone-Apps Whats App, Signal, Telegram und WeChat sind eingeführt worden und haben beachtliche Nutzerzahlen erreicht.

Messenger-Kits und Plattformen
AndroidIM2, ein Opensource-Projekt auf Github, zeigt relativ übersichtlich den Aufbau eines minimalen Messenger-Systems. Das System besteht aus zwei Teilen: aus dem Client, also der in Java geschriebenen Android-APP, und dem Server, welcher aus einigen PHP-Skripten besteht, die in einer Apache-Umgebung laufen. Der Server-Teil sieht bis dato keine Container-Technologien oder Load-Balancing vor. Die Verbindung zwischen Client und Server ist unverschlüsselt und nutzt das HTTP-Protokoll. Requests und Responses werden im XML-Format übertragen.
Zur Bedienung hoher Nutzerzahlen wäre hier weiter zu entwickeln, und beispielsweise zu erarbeiten, wie man den Serverteil containerisieren könnte. Außerdem wäre zur Erfüllung minimaler Sicherheitsanforderungen von HTTP noch auf HTTPS zu wechseln.
Nichtsdestotrotz, mit Android Studio V3.5 lässt sich der Client-Source-Code kompilieren, nachdem das Projekt über die Import-Funktion von Android-Studio importiert wurde. Fehlende Bibliotheken lädt Android-Studio automatisch nach und die App startet dann ohne Probleme (getestet unter Android 10).
Im nächsten Teil
Im nächsten Teil werde ich weitere Bibliotheken und (Opensource-)Arbeiten zum Thema Instant-Messaging untersuchen. Diese sind:
- Mesibo / Libmesibo
- https://parseplatform.org/
- https://ionicframework.com/
- https://chatsdk.co/
- https://de.wikipedia.org/wiki/Wire_(Messenger)
- https://www.entrepreneur.com/article/239558
- https://www.entrepreneur.com/article/81050
- https://www.whoishostingthis.com/blog/2014/10/22/instant-messengers/
- https://mashable.com/2012/10/25/instant-messaging-history/?europe=true
- https://www.visualcapitalist.com/evolution-instant-messaging/
- https://wire.com/en/
- https://www.revesoft.com/
- https://chatcamp.io/features/
- https://firebase.google.com/docs/cpp/setup?platform=android
- https://github.com/chat-sdk/chat-sdk-android
- https://mongooseim.readthedocs.io/en/3.6.0/user-guide/Get-to-know-MongooseIM/
- https://docs.quickblox.com/
- https://sendbird.com/
- https://www.openstack.org/
- https://github.com/openstack/oslo.messaging
- https://ricochet.im/
- https://github.com/realtime-framework
- https://github.com/Slyce-Inc/SlyceMessaging
- https://nsq.io/
- https://www.ejabberd.im/
- https://github.com/igniterealtime/Smack
- https://messagekit.github.io/
- https://www.computerbild.de/artikel/cb-News-Software-20-Jahre-ICQ-Der-fast-vergessene_-Messenger-Veteran-16711513.html
- https://github.com/Pirngruber/AndroidIM


