.NET Kernkomponenten zur Verwaltung von Skype-Konversationen

Wir haben plattformübergreifende Komponenten mit Hilfe des .NET Core Frameworks implementiert, um Skype-Textnachrichten und Gespräche zu importieren.

Herausforderung

Wir arbeiten weiter an SkyHistory, einem Chatverlauf-Manager für Skype, der hilft, Nachrichten zu speichern, Chats zu filtern und die Konversationen nach Datum zu suchen. Die Strebung danach, die Funktionalität des plattformübergreifenden Kerns des Produkts zu erweitern, führte SCAND zur Entwicklung von den plattformübergreifenden Komponenten für das Importieren von Textnachrichten und Konversationen in Skype.

Es wird verwiesen auf:

  • SQLite Wrapper, der den Zugriff auf Skype und die Verwaltung von den lokalen Datenbanken unterstützt.
  • FileSystemWatcher, um alle Änderungen in der Kontodatenbank in Skype zu überprüfen und die Komponente Conversation Manager über die Aktualisierung der lokalen Datenbank zu benachrichtigen.

Um die Ziele der Entwicklung zu erreichen, verließ sich unser Team auf:

  • Ein Plattformübergreifendes .NET Core Framework;
  • CoreFX.NET Core-Basisbibliotheken;
  • Das Kombinieren der .NET Core-Komponenten mit der Electron-UI-Bibliothek.

Herangehen

Das .NET Core-Framework wurde für die Implementierung von einer Reihe von plattformübergreifenden Kernkomponenten aus mehreren Gründen ausgewählt. Vor allem ist .NET Core ein plattformübergreifender Open-Source-Ersatz von dem Microsoft .NET Framework, der für Windows, macOS und Linux funktionieren kann. Das Framework besteht aus der CoreCLR, einer plattformübergreifenden Implementierung von CLR. Es kommt mit einem zeiteffizienten Compiler namens RyuJIT. Auch die CoreFX-Bibliotheken sind hier enthalten, und ihre Funktionalität stimmt teilweise mit der Funktionalität von den Basisbibliotheken überein.

Um die Funktionen von SQLite Wrapper anzuwenden, haben wir den in C++ geschriebenen SQLite ODBC-Treiber in .NET Core Data.SQLite eingebunden. Dies dient für die Kompatibilität und plattformübergreifende Arbeit. Genau diese Komponente kommt als ein Teil der UI-Anwendung basierend auf dem Electron-Framework und dient dazu, Listen von Benutzern und Gruppen oder Nachrichten innerhalb eines festgelegten Zeitraums zu erhalten.

Beschreibung

Zu den wichtigsten plattformspezifischen Kernkomponenten und ihren Rollen:

FileSystemWatcher überwacht die Benachrichtigungen über System-Änderungen der Datei und löst Ereignisse bei Änderungen in der Kontodatenbank von Skype aus. Die Klasse FileSystemWatcher nimmt den Verzeichnis-/Dateinamen als Parameter an und kann deshalb problemlos als eine Bibliothek in beliebigen Anwendungen von Drittanbietern verwendet werden.

Hauptmerkmale

Während der Arbeit am plattformübergreifenden Kern haben wir erfolgreich Folgendes bereitgestellt:

  • Die plattformübergreifende Komponente FileSystemWatcher
  • Die plattformübergreifende Komponente SQLite Wrapper
  • .NET Core-Komponenten und die Electron-UI-Bibliothek
  •  NuGet-Paket-Manager
  • Eigenständige Bereitstellung (Self-contained deployment)

Ergebnis

Die plattformübergreifenden Komponenten FileSystemWatcher und SQLite Wrapper können bei Bedarf in beliebigen Anwendungen verwendet werden.

Die von unserem Team entwickelten Komponenten können gut für alle Plattformen, die Microsoft Skype unterstützen, wie z.B. Windows, Linux und macOS, funktionieren. Wir haben es geschafft, die .NET Core- und Electron-UI-Anwendungen effizient zu kombinieren.

Benötigen Sie Unterstützung bei einem ähnlichen Projekt?