MVC: Ruby-Framework Lotus veröffentlicht
Das quelloffene Lotus-Framework soll Entwicklern als Hilfe zum Erstellen von Webanwendungen dienen, die dem Model-View-Controller-Ansatz folgen und flexible Konventionen zur Strukturierung umfassen.
- Julia Schmidt
Mit Lotus steht ein neues Web-Framework zum Erstellen von Anwendungen in der Programmiersprache Ruby bereit. Es besteht aus mehreren kleinen auf Schnelligkeit und Testbarkeit ausgelegten Bibliotheken und soll Entwicklern dabei helfen, ihre Anwendungen gut zu strukturieren. Dafür sollen möglichst wenig domänenspezifische Sprachen und dafür mehr Objekte zum Einsatz kommen und die Aufgaben klar zwischen verschiedenen Model-View-Controller-Schichten getrennt sein.
Zu den wichtigen Elementen des Frameworks gehören etwa Lotus::Router, das einen HTTP-Router zur Verfügung stellt, und Lotus::Contoller für Kontroll- und Interaktionselemente. Beide lassen sich mit dem Ruby-Webserver-Interface Rack verwenden. Darüber hinaus bietet Lotus::View eine Trennung zwischen View-Objekten und Templates, während Lotus::Model mit Repositories, Daten-Mappern und Adaptern die domänenspezifische Logik von Persistierungsmechanismen separiert. Diese Frameworks lassen sich nicht nur im Verbund, sondern auch einzeln einsetzen.
Durch den internen Einsatz von Mikrodiensten können wohl mehrere Anwendungen in einem Ruby-Prozess laufen, außerdem enthält Lotus einen Mechanismus zur "Framework Duplication", der den Mehrfacheinsatz von Bibliotheken ermöglicht. Im Vergleich zu anderen Ruby-Frameworks hat Lotus flexible Konventionen zur Codestrukturierung, sodass Entwickler ihr Projekt nach den eigenen Vorlieben arrangieren können. Zwar wird eine Architektur vorgeschlagen, sie soll sich allerdings leicht durch einige Einstellungen anpassen lassen.
Weitere Informationen lassen sich der Dokumentation entnehmen. AuĂźerdem bietet Entwickler Luca Guidi laut AnkĂĽndigung ab sofort kostenlose Sprechstunden, um Fragen zum Lotus-Einsatz von Unternehmen und Entwicklern zu beantworten. Das Projekt ist unter der MIT-Lizenz geschĂĽtzt. (jul)