React-Killer?

Imba: Neue Web-Programmiersprache verspricht Performanceschub

Michael Thomas

© Shutterstock.com/McIek

Was wäre, wenn React und Ruby ein Kind miteinander hätten? Diese Frage möchte Imba, eine neue Web-Programmiersprache, die in performantes und lesbares JavaScript kompiliert, beantworten.

Imba wurde bereits vor sechs Jahren unter Federführung des norwegischen Entwicklers Sindre Aarsaether aus der Taufe gehoben, damals noch mit dem Ziel, Ruby im Browser laufen zu lassen. Als CoffeeScript auf der Bildfläche erschien, wurde das Projekt zunächst auf Eis gelegt, bis die Arbeiten 2012, diesmal als CoffeScript-Fork, neu aufgenommen wurden. Mittlerweile ist Imba als eigenständige Sprache zu betrachten, die anhand realer Use Cases entwickelt wurde und über eine eigene Syntax sowie einige spezifische Features verfügt.

Features und Merkmale

Wichtigstes Merkmal von Imba ist Aarsaether zufolge die Unterstützung der Definierung, der Erweiterung, der Instanziierung, des Subclassing und des Rendering von DOM-Knoten. Ein weiteres Hauptziel der Sprache besteht darin, den kompilierten Code möglichst lesbar zu belassen, wozu die Erhaltung sämtlicher Einrückungen und Kommentare gehört. So soll ein Wechsel von Imba zu einer anderen Sprache und wieder zurück so einfach wie möglich gemacht werden.

Ebenso wie JavaScript bietet Imba explizite Variablendeklarationen, wodurch dem User eine fein abgestimmte Kontrolle darüber ermöglicht wird, über welche Scopes die Variablen zugänglich sind. Ein Punkt, in dem sich Imba von vergleichbaren Sprachen unterscheidet, ist die native Unterstützung von Tags. Entsprechende Beispiele sind auf der Projektseite einsehbar (Scroller bzw. TodoMVC).

Loops in Imba verhalten sich ähnlich den Array Comprehensions in CoffeeScript und Python, d. h. sie sind Ausdrücke, die zurückgegeben und zugeordnet werden können. Zudem kann in Imba praktisch alles als Ausdruck verwendet werden, ohne dass ein verpacken in anonyme Funktionen nötig wäre.

20 mal schneller als React?

Durch die neue Sprache sollen sich nach Entwickleraussagen teils deutliche Geschwindigkeitsgewinne ergeben: So soll Imba im Rahmen halbwegs komplexer Anwendungen wie TodoMVC bei gleichzeitig weniger Code und einer viel kleineren Bibliothek mehr als 20 mal so schnell wie React sein. Im Gespräch mit InfoWorld ging Aarsaether gar so weit, der Sprache zu attestieren, so schnell zu sein, dass sie einen neuen Weg zur Erstellung von Single-page-Webanwendung eröffnet:

In applications with a lot of state, most frameworks try to tackle data-binding in different ways. In Imba, you can basically re-render the whole application on every frame, and in return, you never need to think about tracking any changes, binding any listeners for rendering. It vastly simplifies how you write apps

Ob Imba all seine Versprechungen wird einhalten können, wird die Sprache zwar erst noch zeigen müssen. Auf Y Combinator/Hacker News hat sich jedenfalls bereits eine lebhafte Diskussion über das Für und Wider von Imba entsponnen:

Aufmacherbild: concept of big data processing and storage von Shutterstock / Urheberrecht: faithie

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: