Skip to main content

Kundenprojekt

vitero GmbH

Entwicklung eines Desktop Clients unter Windows in C/C++, Chromium Embedded Framework (CEF 3), MSVC und WIN32 API.

CEF Desktopclient Impression

Kunde

Die Vitero GmbH bietet mit ihrer erfolgreichen E-Learning Plattform eine vielseitig einsetzbare Lösung zur Realisierung von Live Online-Kommunikation, z.B. Workshops im Unternehmen, Online-Kurse, Remote-Vorlesungen an Universitäten oder digitale Weiterbildungsangebote in Bildungseinrichtungen.

Die E-Learning Plattform wird als Web App im Browser angeboten. Zusätzlich wird ein Windows Desktop Client mit erweiterten Funktionen angeboten.

Branche

E-Learning und Online Colaboration Lösungen

Projektherausforderungen

Evaluierung des Technologie Stacks

Für die Entwicklung einer Windows-Desktop-Anwendung stehen verschiedene Technologien und Frameworks zur Verfügung, darunter beispielsweise Electron, .NET oder native Lösungen auf Basis von C/C++. Um eine geeignete technologische Grundlage für das Projekt zu identifizieren, wurden die spezifischen Anforderungen systematisch analysiert und verschiedene Lösungsansätze schrittweise evaluiert. Im Fokus standen dabei insbesondere die Aspekte Performance, Benutzerfreundlichkeit und eine möglichst nahtlose Integration in das Windows-Betriebssystem.

Nach der Entwicklung und Bewertung mehrerer Prototypen fiel die Entscheidung auf das leistungsfähige C/C++-Framework CEF 3 (Chromium Embedded Framework).

CEF stellt die Rendering- und Browser-Technologie des Chromium-Projekts als eigenständiges Framework zur Verfügung. Dadurch können Chromium-basierte Webinhalte und Webanwendungen direkt in native Desktop-Anwendungen integriert und innerhalb einer eigenen Anwendungsumgebung ausgeführt werden.

Der Windows-Desktop-Client besteht aus einer nativen, in C/C++ unter Verwendung der Win32 API entwickelten Anwendung sowie der darin eingebetteten Browser-Engine CEF 3. Innerhalb dieser Umgebung wird die Webanwendung vitero inspire ausgeführt.

Durch diese Architektur lassen sich die Vorteile moderner Webtechnologien mit den Möglichkeiten einer nativen Windows-Anwendung kombinieren. Über eine entsprechende Interprozesskommunikation kann die Webanwendung gezielt auf betriebssystemspezifische beziehungsweise native Funktionen des Windows-Clients zugreifen und diese ausführen.

C/C++ Entwicklung

Der Windows Desktop Client fungiert als native Hülle („Wrapper“) für die zugrunde liegende Webanwendung. Gegenüber der ausschließlichen Nutzung der Web App stellt der Desktop Client zusätzliche Funktionen bereit, die insbesondere durch die direkte Integration in das Windows-Betriebssystem ermöglicht werden.

CEF 3 ist in C/C++ implementiert und bildet die technische Grundlage für die Einbettung der Webanwendung in den Desktop Client. Für den Zugriff auf betriebssystemspezifische Funktionen und Ressourcen wird unter Windows die Win32 API verwendet. Sie stellt die notwendigen Schnittstellen zur Interaktion mit nativen Windows-Funktionen bereit.

Als Entwicklungsumgebung und Toolchain kommt Microsoft Visual C++ (MSVC) zum Einsatz. MSVC stellt unter Windows unter anderem den Compiler, Linker und Debugger bereit und ermöglicht damit die Entwicklung, Kompilierung und Fehleranalyse nativer C/C++-Anwendungen.

CEF Desktopclient Impression
Visual Studio C/C++
Meteor.js React Webanwendung Impression

Unsere Leistungen und Expertise

Tätigkeitsschwerpunkte

  • Fullstack SPA Web-Applikation Entwicklung mit Javascript (Meteor, React), HTML, CSS
  • Neuentwicklung eines Microsoft Windows Desktop-Clients in C/C++ für die Nutzung der Web-App mit erweitereten Funktionen
  • Objektorientierte C/C++ Entwicklung mit CMake und Visual Studio 2019 MSVC
  • Integration des C/C++ Frameworks „CEF 3“ (Chromium Embedded Framework)
  • Interprozesskommunikation (IPC) und Schnittstellenentwicklung zwischen C/C++ und JavaScript/Typescript/React (Web App)
  • Ansteuerung von USB und Bluetooth Geräten wie Lautsprecher und Webcam
  • Entwicklung von Remote Desktop Funktionen zur Fernsteuerung von Mouse und Tastatur über die eingebettete Web-App
  • Screensharing via WebRTC
  • Erstellen von Video Aufzeichnungen des Desktop-Client-Fensters mit FFMPEG
  • Entwicklung von automatisierten CI/CD Prozessen

Eingesetzte Tools und Technologien

  • Entwicklung Desktop-Applikation mit C/C++ (MSVC) Windows
  • CEF 3 Entwicklung (eingebettete Browser Render Engine)
  • WebRTC, FFMPEG, NSIS
  • Verschlüsselung sensibler Daten
  • Javascript Fullstack Entwicklung
  • React, MeteorJs, NodeJs, MongoDB
  • Frontend Entwicklung mit HTML, CSS
  • CI/CD mit Git und Jenkins

Mit anspruchsvollen Projekten kennen wir uns aus!

Sie haben ein Projekt in Planung und sind noch auf der Suche nach einem kompetenten Partner? Lassen Sie uns über Ihr Projekt sprechen.