![]() | ||||
| Startseite | Das Team | Technische Details | Features | Screenshots | FAQ | Downloads | Links | ||||
|
Technische Details
Planung und Grundidee Das Grundziel ist die Entwicklung eines stabilen, leistungsfähigen, aber auch grafisch ansprechenden Jabberclienten. Die Bedienung soll dabei intuitiv sein und an andere Chatprogramme erinnern, um Umsteigern und Normalanwendern die Benutzung zu vereinfachen.
EntwicklungsumgebungDie Modularisierung erfolgte zunächst auf dem Papier und sieht eine Unterteilung in Jabbermodul und GUI, sowie einige Wrapper vor, die eine Portierung auf andere Umgebungen vereinfachen soll. Für die Entwicklung von UJC verwenden wir die Borland ® Delphi ® 6 Personal Edition auf einer Windows ® XP Maschine mit Pentium ® 4 und 2000 MHz.
TestumgebungIn der Testumgebung verwenden wir Wildfire (Upgrade auf Openfire steht bevor) als XMPP-Server. Zum Test werden sowohl drahtlose Verbindungen (Verbindungsabbrüche), alsauch WAN- und LAN-Verbindungen benutzt.
ModularisierungUJC basiert auf diversen Modulen, die vor dem Compilieren beliebig ausgetauscht werden können. Zu nennen wären zum Beispiel diverse Wrapper für grafische Darstellungen, Soundwiedergabe, TCP-Kommunikation, Fensterdesign und Systemfunktionen, sowie das momentan ziemlich simple und langsame XML-Modul, das vor der Erstveröffentlichung erneut überarbeitet werden muss.
QuellcodeDenkbar sind auch Module, die Funktionsaufrufe lediglich an andere Bibliotheken wie das GTK+ umleiten. UJC kann dadurch sowohl als USB-Stick-Version (in nur einer ujc.exe) alsauch als anpassungsfähiges, modulares Programm verwendet werden. Der Source besteht momentan aus 42137 Codezeilen, wobei das Jabbermodul mit 1415 Zeilen den Löwenteil ausmacht (gefolgt vom Hauptprogramm mit 1086 Zeilen).
Das Herzstück: das XML-ModulEine Veröffentlichung des Codes wird mit großer Wahrscheinlichkeit erst mit steigender Popularität von UJC erfolgen, um die Entstehung von Parallelprojekten vorerst zu vermeiden. Nichts gegen ideenreiche Bessermacher, aber viele Köche verderben nunmal den Brei ;-) Solange nicht klar ist, welches Lizenzmodell für UJC zur Anwendung kommt (es wird auf jeden Fall kostenlos!), sind wir leider auf die Verwendung unseres provisorischen XML-Moduls angewiesen, das zwar seine Aufgabe gut macht, aber gerade bei größen Datenmengen sehr viel Zeit zur Verarbeitung beansprucht. Außerdem können fehlerhafte XML-Pakete im Chaos enden :-(
Das Gehirn: das JabbermodulDie Entscheidung, ob das Modul verbessert oder durch ein fertiges ausgetauscht wird, steht noch an. Unser Jabbermodul bezieht die Pakete selbst von einem TCP-Wrapper und schickt sie durch den XML-Parser, bevor sie ausgewertet werden. Das Jabbermodul stellt sämtliche Funktionen bereit, die für UJC benötigt werden - also von Nachrichtenübertragung über Dateiübertragungen bis hin zu Pings, die zur Verbindungsüberprüfung und -aufrechterhaltung benötigt werden.
SpezifikationenWir sind bestrebt UJC so kompatibel wie möglich zu machen und verwenden daher großteils bereits eingetragene XEPs, sowie natürlich die beiden RFCs, die zu XMPP gehören. Die volle Liste der bereits implementierten XEPs ist an anderer Stelle veröffentlicht.
| ||||
| ||||