5 Fragen zum Einsatz der Programmiersprache Rust bei OpenTalk
![OpenTalk](/sites/opentalk/files/styles/original_image/public/2024-02/Blog%20Bild%20Logo.png?itok=fzsw8sYN)
Entdecken Sie unsere neue Serie '5 Fragen zu', in der wir unsere Expert:innen zu wichtigen Themen rund um OpenTalk, Open Source Software, digitaler Souveränität und aktuellen Branchentrends befragen.
Daniél Kerkmann arbeitet als Software Engineer bei OpenTalk und ist ein leidenschaftlicher Anhänger der Programmiersprache Rust. Seine Begeisterung für diese Sprache motiviert ihn dazu, in idiomatischen Mustern zu denken und durch den Einsatz neuer Technologien innovative Lösungsansätze zu entwickeln. Er beantwortet uns 5 Fragen zu Rust:
Warum setzt OpenTalk auf die Programmiersprache Rust?
Bei OpenTalk setzen wir gleich aus mehreren Gründen auf Rust. Es ist nicht nur extrem sicher und schnell, sondern es erkennt Fehler bereits auf Compiler-Ebene, die in anderen Sprachen erst zur Laufzeit auftreten würden. Ein klassisches Beispiel ist der Memory Leak, der in Sprachen wie C++ oft ein Problem darstellt. In Rust wurde dieses Problem durch das Konzept des "Ownership" von Daten auf Sprachebene gelöst. Das heißt, Rust bindet Daten und Ressourcen an einen Kontext und gibt sie frei, sobald dieser vom Programm verlassen wird. Im Gegensatz zu Sprachen wie C++ müssen sich Entwickler:innen also keine Gedanken mehr über Speicherlecks machen, was die Sicherheit der Software erheblich erhöht. Java löst dieses Problem zwar durch einen Garbage Collector, welcher zyklisch prüft, welcher Speicher nicht mehr benötigt wird, allerdings ist dieser Vorgang mit einem großen Ressourcenaufwand verbunden. Hier überzeugt Rust mit einem Ressourcen- und damit Energie schonenderen Vorgehen. Rust wurde zudem achtmal in Folge auf Stack Overflow zur beliebtesten Programmiersprache von Entwicklern gekürt, was ihre Beliebtheit und Anerkennung in der Entwicklergemeinschaft unterstreicht.
Welchen Einfluss hat Rust auf die technische Architektur bei OpenTalk?
Rust hat natürlich auch einen Einfluss auf die technische Architektur unserer Anwendungen. Es zwingt uns, "idiomatisch" zu denken und unterstützt uns dabei, sauberen und sicheren Code zu schreiben. Obwohl die Architektur der Gesamtanwendung nicht unbedingt von der Programmiersprache abhängt, beeinflusst Rust definitiv die interne Architektur unserer Services. Entwickler:innen müssen alte Denkmuster überwinden und sich an die Besonderheiten von Rust anpassen, was letztendlich zu robusteren und besser strukturierten Anwendungen führt.
Wie sieht es mit Rust und der Media-Kodierung bei OpenTalk aus?
Was die Media-Kodierung betrifft, ist Rust leider noch nicht weit verbreitet. Obwohl GStreamer das dominierende Framework ist, setzen wir intern auf einen hybriden Stack aus Rust und GStreamer. Während Rust uns dabei hilft, sicheren und schnellen Code zu schreiben, stoßen wir bei der Integration mit GStreamer auf Herausforderungen. Die Komplexität und Dynamik von GStreamer führen manchmal zu unerwarteten Laufzeitfehlern, die Rust allein nicht verhindern kann. Dennoch arbeiten wir daran, mehr Media-Funktionen in Rust zu implementieren, um langfristig unabhängiger von GStreamer zu werden. Außerdem gibt es auch im Gstreamer Rust-Bestrebungen und viele neue Module werden bereits in Rust geschrieben.
Welche Unternehmensvorteile bietet die Verwendung von Rust bei OpenTalk?
Die Verwendung von Rust bietet OpenTalk eine Reihe von Unternehmensvorteilen. Durch die Reduzierung von Bugs und die Möglichkeit, Code radikal zu überarbeiten, sparen wir Zeit, Ressourcen und sorgen für einen gleichbleibenden sauberen Code. Die Stabilität von Rust sorgt außerdem für zuverlässige Anwendungen, was für eine Videokonferenzlösung wie OpenTalk entscheidend ist. Insgesamt ist Rust eine Programmiersprache, die uns dabei hilft, sicherere, schnellere und stabile Software zu entwickeln. Ihre einzigartigen Eigenschaften machen sie zur idealen Wahl für OpenTalk und tragen dazu bei, unsere Plattform kontinuierlich zu verbessern und zu erweitern.
Welche Möglichkeiten stehen mir zur Verfügung, wenn ich Interesse an Rust habe und mich über Entwicklungen bei OpenTalk informieren möchte?
Falls Sie sich für die Programmiersprache Rust interessieren empfiehlt sich ein Blick in „The Rust Programming Language“. Zudem sind wir auch immer wieder auf der Suche nach neuen Kolleg:innen in unterschiedlichen Bereichen, die Interesse an Rust haben oder bereits echte Profis sind. Hier lohnt sich ein Blick auf unsere Job-Seite.
Der Code von OpenTalk ist unter der EUPL (European Public License) auf Open CoDE veröffentlicht. Mittelfristig erhoffen wir uns daher auch eine aktive Mitarbeit der Community. Ergänzungen rund um OpenTalk oder vielleicht auch Integrationen mit anderen Lösungen, Module/Plugins, Patches oder auch Themes könnten ein sehr wertvoller Beitrag der Community sein. Weitere Informationen zur Community sind unter https://opentalk.eu/de/open-source-community auffindbar.
Weitere Beiträge
OpenTalk auf dem 3. Vergaberechtstag MV
Am 19. September 2024 findet der 3. Vergaberechtstag Mecklenburg-Vorpommern in Rostock statt. OpenTalk ist mit einem Vortrag zu Open Source, digitaler Souveränität und Vergabeverfahren dabei.
OpenTalk auf den Internet Security Days 2024
Peer Heinlein, Geschäftsführer von OpenTalk und der Heinlein Gruppe, beleuchtet in seinem Vortrag die Vorgaben und Anforderungen der NIS-2-Richtlinie und was diese für die Praxis bedeuten.