Blog

Und das mit nur einer Sprache: Wissenswertes über Meteor

Posted by Liane Thiede on 03 Juni, 2015  /  techblog

 

IT-Entwickler kennen die Herausforderungen: Neue Sprachen, neue Technologien, neue Herangehensweisen. Gleichzeitig steigt der Erwartungsdruck an die Usability und die Skalierbarkeit von Anwendungen. Meteor, eine Open Source-Plattform zur Entwicklung von Web- und mobilen Anwendungen, bietet vielversprechende Features für interessierte Entwickler von Morgen. Mit nur einer Sprache, JavaScript, können Echtzeit-Anwendungen noch effizienter entwickelt werden. In unserem Blog-Artikel erfahren Sie Wissenswertes über das JavaScript-Framework aus den USA.

 

Das Hauptfeature: Reaktivität

Quelle: www.shutterstock.com 157582007

Wie bekommen Entwickler – oder streng genommen die Anwendung bzw. die Oberfläche – Änderungen, die an den Daten vorgenommen wurden, mit? Diese Frage fällt mit dem JavaScript-Framework Meteor weg. Da es sich hierbei um ein event-basiertes Modell handelt, bekommen alle Schichten, die sich entsprechend registriert haben, eine automatische Benachrichtigung, sobald sich die Daten in der Anwendung ändern. Dafür verwendet Meteor ein sogenanntes Publisher-Subscriber-Modell. Demnach nimmt der Server die Rolle des Publishers ein; alle anderen Schichten müssen sich als Subscriber für die Events registrieren.

Zudem wird durch „Hot Code Reload“ eine wesentlich flüssigere Entwicklung gewährleistet, da die Software während der Entwicklung ohne Serverneustart automatisch immer auf dem neuesten Stand ist – ein Kompilieren ist nicht notwendig, da der Code lediglich interpretiert werden muss. Ermöglicht wird diese Echtzeit-Anwendung durch die enge Verzahnung zwischen Server und Client. Durch den Einsatz von WebSockets besteht ein direkter und dauerhaft offener Tunnel zwischen Server und Client. Kritisch zu betrachten ist, dass die Datenbank sowohl dem Server als auch dem Client zur Verfügung steht und mit einer einheitlichen API darauf zugegriffen werden kann – und zwar jederzeit. Durch diese Möglichkeit besteht das Risiko, dass Businesslogik im Client implementiert wird und somit keine strenge Schichtentrennung stattfindet. Zusätzliche Clients müssen dann bereits vorhandene Logik erneut implementieren, da diese nicht wiederverwendet werden kann.

Kein Ende in Sicht – überzeugende Vielzahl an Modulen

Neben dem bereits erwähnten Vorteil nur JavaScript für die client- und serverseitige Entwicklung benutzen zu müssen, stellt Meteor dem Nutzer zahlreiche Module zur Verfügung, die eine Einbindung von Hilfsmitteln, wie Bootstrap und JQuery und die Anbindung an OAuth-Dienste, ermöglicht. Solche Module können auch selbst entwickelt und in kürzester Zeit in das Community-getriebene Paketsystem eingespielt werden. Komplexe Web-Applikationen sollen so mit Meteor radikal vereinfacht werden. Das geschieht dadurch, dass Funktionen in Module ausgelagert werden und damit vormals entwickelte Funktionalität wiederverwendet werden kann. Dazu kommt der Fundus an bereits vorhandenen Modulen innerhalb der Community.

Meteor-Plattform auf einen Blick:

  • Es wird ausschließlich JavaScript verwendet – sowohl für Code als auch für Client und Server-Anwendungen („homogene Entwicklungsumgebung“)
  • Webserver / Laufzeitumgebung auf Basis von Node.js
  • Die Datenbank steht Server und Client gleichermaßen zur Verfügung – beide greifen mit einer einheitlichen API darauf zu
  • Für den Build und das Deployment der Anwendung liefert Meteor Tools und Infrastruktur
  • WebSocket-Support / Observer für Echtzeit-Anwendungen – dadurch wird eventbasierte, reaktive Programmierung möglich
Carsten C. Vossel, Geschäftsführer

Foto: Tobias Hoffmann


„Mit Meteor können Applikationen in ihrer Komplexität radikal vereinfacht werden. Für die agile Entwicklung ist das ein bedeutender Schritt. Auch unsere Entwickler werden sich in Zukunft mit der Open Source-Plattform noch detaillierter auseinandersetzen.“

(Carsten C. Vossel, Geschäftsführer)

 

Was spricht für Meteor?

Ein kleines Team aus San Francisco entwickelt die auf JavaScript basierende Full-Stack-Webentwicklungs-Plattform Meteor seit 2011. Mittlerweile beinhaltet Meteor 1.1 alles Wesentliche für den Bau von Web- und Mobilanwendungen. Auch MongoDB 3.0 wird unterstützt. In Bezug auf integrierte Projekte ist Meteor in der Lage, sowohl mit der alten, als auch mit der in MongoDB 3.0 implementierten Storage Engine WiredTiger umzugehen.

Für den Einsatz von Meteor spricht auch, dass dem JavaScript-Framework bereits immens viele begeistere Community-Mitglieder vertrauen. Fast 15.000 “Commits“ und mehr als 1.500 „Forking Projects“ auf GitHub zeigen, dass Meteor in der Praxis angekommen ist. Dieser Erfolg ist sicherlich nicht zuletzt der Tatsache geschuldet, dass JavaScript nach wie vor zu den meistgenutzten Web-Technologien gehört.

Auch wenn es sich bei Meteor um eine nützliche und ernstzunehmende Plattform handelt: Der zu den Anfängen erwartete Paradigmenwechsel, der dazu führte, dass das Projekt zahlreiche Supporter erlangte, ist bislang nicht eingetreten. Auch heute, rund vier Jahre seit dem Release von Meteor, basieren nach wie vor die meisten Webapplikationen, die man im Internet zu sehen bekommt, auf dem klassischen Client-Server-Modell, nach dem der Client von einem Webserver Informationen fordert, die statisch oder dynamisch vom Server übermittelt werden.

  • CCVOSSEL GmbH