Ymir – Eine Definitionssprache zum Generieren von Boilerplate-Code in der Webentwicklung


Lukas Hufnagel und Paul Hufnagel

Präsentation
09. May 2023, 10:00 Uhr, Raum 3.216
Betreuer
Prof. Dr. Hoai Viet Nguyen
Kooperationspartner
TH Köln
Stichworte
Definitionssprach, Codegenerierung, Modularität, Flexibilität, REST-APIs
Bildrechte
Lukas Hufnagel

Abstract

Die Webentwicklung gewinnt immer mehr an Bedeutung und kann zur Erstellung von Desktop-Anwendungen, mobilen Anwendungen und sogar ganzen Plattformen genutzt werden. Die Mehrzahl der Webprojekte besteht aus Frontend- und Backend-Komponenten. Das Backend wird häufig über RESTful APIs angebunden. JavaScript wird sowohl in Frontend- als auch in Backend-Umgebungen häufig eingesetzt.

Die Verwendung beliebter Webframeworks wie Express oder NestJS kann sich als schwierig erweisen, da sie das Schreiben von redundantem und sich wiederholendem Code erfordern. Dies erhöht die Entwicklungs- und Wartungskosten und erschwert das Hinzufügen neuer Routen. Routes werden oft validiert, um sicherzustellen, dass alle Parameter gesetzt wurden, oder es müssen Authentifizierungsschritte hinzugefügt werden, um den Zugriff auf bestimmte Ressourcen zu beschränken.

Ymir ist ein neuer Compiler, der die Entwicklung von Webanwendungen beschleunigt. Diese Sprache basiert auf einer deklarativen Syntax namens YmirScript, die es Entwicklern ermöglicht, REST-Schnittstellen auf leicht verständliche Weise zu deklarieren. Außerdem bietet sie vorkonfigurierte Validierungen, Authentifizierungen und andere Optimierungen. Mit Ymir können Entwickler sowohl JavaScript-Code als auch andere Programmiersprachen generieren. Dieses modulare Framework bietet Entwicklern eine dynamische Flexibilität, die es ihnen ermöglicht, die volle Kontrolle über die Ausgabedateien zu haben. Dank dieses flexiblen Ansatzes kann Ymir theoretisch für die Codegenerierung in beliebigen Programmiersprachen verwendet werden, sofern die erforderlichen Anpassungen im Voraus vorgenommen werden.

Insgesamt stellen Ymir und seine Skriptsprache YmirScript eine innovative und wissenschaftlich fundierte Lösung dar, die darauf abzielt, die Effizienz und Wartbarkeit von Webprojekten zu verbessern. Sie ermöglicht es Entwicklern, sich auf die Kernfunktionen eines Projekts zu konzentrieren und gleichzeitig redundante Code-Bausteine zu reduzieren, wodurch die Overhead-Kosten gesenkt werden. Seine modulare Struktur ermöglicht eine große Flexibilität und unterstützt mehrere Programmiersprachen gleichzeitig.

Material & weiterführende Infos

Vorschläge für weitere Arbeiten im Themenfeld

Unerstützung weiterer Sprachen und Frameworks

Generierung von Frontend-Komponenten zu den jeweiligen Routen