My Journey into the Rust-o-Verse - Part 1
Heute möchte ich über etwas Persönlicheres als meine üblichen LinkedIn-Beiträge sprechen und eine dreiteilige Serie vorstellen, in der ich meine aktuelle Reise und Erkundung des Rust-o-Verse beschreibe. Seit einiger Zeit verspüre ich den Wunsch, wieder eine eher praktische Entwicklerrolle zu übernehmen. Als begeisterter Technologe habe ich den zunehmenden Trend bemerkt, dass immer mehr Software von Grund auf neu geschrieben oder auf Rust umgestellt wird. Mit all den Ambitionen und Zielen, die ein neues Jahr mit sich bringt, habe ich mir gesagt: „Wie schwer kann das schon sein?“ Und ich habe beschlossen, ein Open-Source-softwaredefiniertes Fahrzeug-Projekt (SDV) auszuwählen, zu dem ich schließlich beitragen und mir bei der bevorstehenden EclipseCon-Veranstaltung den begehrten „Eclipse Committer“-Swag verdienen werde!
Für diejenigen, die sich der Bedeutung von OSS-Automobilprojekten, die in Rust geschrieben sind, noch nicht bewusst sind, empfehle ich einen Blick auf einige der Projekte in Eclipse SDV & COVESA, die diese faszinierende „neue“ Sprache verwenden. Hier sind einige Beispiele:
- Flottenmanagement-Konzept
- Ankaios
- Kuksa Datenbroker
- SommR
- Zenoh
- OpenDuT
- Chariott
- uProtocol
- Ibeji
- Heimlich
- Geotab-Kurve
Wie Sie sehen können, ist meine intrinsische Motivation, Rust zu lernen, offensichtlich, wenn man sich die zahlreichen SDV-Projekte ansieht, an denen ich heute arbeiten kann, und ich bin zuversichtlich, dass in Zukunft noch mehr hinzukommen werden. In meiner täglichen Arbeit als FOSSbassador bin ich begeistert zu sehen, wie gut diese Projekte miteinander kompatibel sind und welche Vorteile sie durch die Verwendung von Rust haben, denn für mich ist das ein entscheidender Weg, um letztendlich eine florierende und gesunde Community aufzubauen, die auf Rust basiert.
Vor diesem Hintergrund habe ich mich entschlossen, mich auf den Fleet Management Blueprint zu konzentrieren, da dieses Projekt versucht, verschiedene Bemühungen aus mehreren Initiativen (COVESA, Eclipse, AUTOSAR) zusammenzuführen. Mir gefällt auch sehr gut, dass es sich organisch zu einer eigenständigen Open-Source-Plattform entwickelt, zu der auch andere Unternehmen beitragen und die so zu einer noch vielfältigeren Community führt.
Aus technologischer Sicht motiviert mich außerdem besonders, dass ich neugierig bin, was beispielsweise <der Ersatz von MQTT durch Zenoh> oder <die Implementierung eines Algorithmus zur Datenreduktion für das Flottenmanagement mit Curve Logging> beinhaltet und was ich dabei über Rust lernen kann.
Für alle, die mehr über den Hintergrund dieses Entwurfs erfahren möchten, hat mein Kollege Kai auf der eclipseCon eine großartige Tech-Session gehalten, in der er die Ursprünge des Projekts erläuterte und einige Beispiele für die wichtigsten Herausforderungen nannte, zu deren Lösung es beiträgt.
Loading the video requires your consent. If you agree by clicking on the Play icon, the video will load and data will be transmitted to Google as well as information will be accessed and stored by Google on your device. Google may be able to link these data or information with existing data.
Nun zurück zur eigentlichen Geschichte, die eine „rostige“ Erfahrung für mich war, da ich mich wieder in die üblichen Entwicklertools und -umgebungen einarbeiten musste, diesmal jedoch mit einer Wendung. Die einst vertraute komplexe cmake- oder Python-basierte virtuelle Umgebung wurde nun durch etwas Neues ersetzt, das mich in vielen Fällen ein wenig an meine früheren Erfahrungen als Embedded-MISRA-C-Entwickler und meine sehr kurze Reise in die „höherwertige“ Welt des Programmierens in Sprachen wie Python oder JavaScript erinnert.
Es ist fast Zeit, Cargo & crates.io auf der Bühne willkommen zu heißen... aber zuerst müssen wir Rust und andere Abhängigkeiten in unserer Linux-Umgebung installieren, und hier begann mein nicht ganz so erwartetes Abenteuer.
Zu meiner großen Überraschung stieß ich nach dem Durcharbeiten der großartigen Startdokumentation im Online-Rust-Buch auf meine erste Hürde bei der sehr naiven Verwendung meines neu entdeckten besten Freundes, dem Cargo-CMD. Also kratzte ich mich am Kopf und entschied, dass ein frisch gebrühter Espresso und eine mentale Pause vielleicht die beste Lösung für mein aktuelles Dilemma sein könnten:
„Warum schlug der Aufbau der Ladung immer wieder fehl?“
Das war der Beginn meines halbtägigen Versuchs, zahlreiche verschiedene Dinge auszuprobieren und schließlich meine temporären Puffer von Reddit und Stack Overflow zu erschöpfen. Damals wusste ich noch nicht, dass die Ausführung dieses Rust-Projekts unter Ubuntu OS einige geheime Tricks erforderte, um das von mir ausgewählte Projekt zu erstellen und auszuführen....
Ich hoffe, Ihnen hat dieser Blog bisher gefallen, und ich hoffe, Sie werden mich weiterhin auf meiner Reise begleiten, um zu erfahren, wie ich die „Hello World“-Hürden überwunden habe und was ich seit Beginn des Projekts gelernt habe. Ich freue mich auch darauf, gemeinsam mit Ihnen weiter zu erforschen, warum ich denke, dass dieses kleine Rustacean namens Ferris für die Automobilindustrie SO vielversprechend und ein Kernstück des SDV und meines zukünftigen Alltags ist!
Danke fürs Lesen von Teil 1!
„Treffen Sie mich beim nächsten BCW-Event oder bei einem der Open-Source-Community-Calls – bis bald!“
Kontakt
Sie haben eine Frage? Melden Sie sich bei uns! Wir helfen Ihnen gerne weiter.