Einleitung

1

Zu ...% übersetzt

In diesem Kapitel wirst du:

  • Was macht Meteor so besonders.
  • Lies die Geschichte dieses Buches.
  • Lerne, wie dieses Buch organisiert ist.
  • Lass uns ein kleines Gedankenexperiment durchführen. Stell dir vor du öffnest denselben Ordner in zwei unterschiedlichen Fenstern auf deinem Computer.

    Jetzt löschst du eine Datei in einem der beiden Fenster. Ist diese Datei im zweiten Fenster ebenfalls verschwunden?

    Du musst diese beiden Schritte nicht ausführen, um das Ergebnis zu kennen. Wenn wir auf dem lokalen Dateisystem etwas ändern, werden diese Änderungen überall übernommen - ohne dass zusätzliche Schritte oder Aktualisierungen notwendig sind. Es passiert einfach.

    Aber wie würde dies im Web funktionieren? Nimm mal an, du öffnest die Administrations-Oberfläche einer WordPress-Installation in zwei Browser-Fenstern und erstellst einen neuen Blog-Eintrag in einem der beiden Fenster. Anders als beim ersten Beispiel mit dem lokalen Dateisystems, wird die Änderung im zweiten Fenster nicht angezeigt - egal wie lange du wartest. Es sei denn, du aktualisierst das Fenster.

    Im Laufe der Jahre haben wir uns daran gewöhnt, dass wir mit einer Webseite in kurzen, unabhängigen Aktionen kommunizieren.

    Aber Meteor ist Teil einer neuen Art von Frameworks und Technologien, die versuchen, das Web reaktionsfreudiger (reactive) und Echtzeit-fähig zu machen.

    Was ist Meteor?

    Meteor ist eine Plattform, die auf Node.js aufsetzt, um Echtzeit-Web-Apps zu ermöglichen. Meteor sitzt zwischen der Datenbank deiner App und dem Benutzer-Interface und stellt dabei sicher, dass beide synchron sind.

    Da es auf Node.js aufsetzt, verwendet Meteor sowohl auf dem Server als auch auf dem Client JavaScript. Besser noch - Meteor kann denselben Code sogar mit beiden Seiten teilen.

    Das Ergebnis ist eine Plattform die sehr leistungsfähig und dabei doch einfach ist. Sie erspart dir viele Schwierigkeiten und Fallstricke der Echtzeit-Web-App-Entwicklung.

    Warum Meteor?

    Aber warum solltest du Zeit aufwenden, um Meteor - statt einem anderen Web-Framework - zu lernen? Einmal abgesehen von den verschiedenen Funktionen von Meteor selbst glauben wir, dass es auf eines besonders ankommt: Meteor ist einfach zu lernen.

    Mehr als jedes andere Framework, ermöglicht es Meteor, eine Echtzeit-Web-Anwendung in wenigen Stunden zu erstellen. Und falls du schon mal eine Benutzer-Schnittstelle für Webbrowser erstellt hast, kennst du JavaScript sowieso - du musst also nicht einmal etwas Neues lernen.

    Meteor könnte also das ideale Framework für deine Zwecke sein - oder auch nicht. Aber da man mit Meteor nach ein paar Abenden oder einem Wochenende bereits gut arbeiten kann, kann man es doch wenigstens mal ausprobieren, oder nicht?!

    Warum dieses Buch?

    In den letzten Jahren haben wir an zahlreichen Meteor Projekten gearbeitet, sowohl Web-Apps also auch mobile Anwendungen, kommerziell und Open-Source.

    Dabei haben wir einen Haufen gelernt, aber es war nicht immer einfach gleich eine passende Antwort auf unsere Fragen zu finden. Oft mussten wir viele kleine Teile aus unterschiedlichen Quellen zusammenstückeln. Oder manchmal auch was ganz neues erfinden. Mit diesem Buch wollen wir genau diese Erfahrungen teilen und auf Basis einer einfachen Schritt-für-Schritt-Anleitung eine vollwertige Meteor App von Grund auf erstellen.

    Die App die wir hier bauen, ist eine etwas vereinfachte Version von Social News Websites wie Hacker News der Reddit, die wir ‘Microscope’ nennen (dieser Name nimmt Bezug auf den 'großen Bruder’ dieser Anwendung, die Meteor-basierte Open-Source Anwendung Telescope). Während wir diese erstellen, zeigen wir alle Elemente, die am Ende eine Meteor-App ausmachen; wie z.B. Benutzer-Konten, Meteor-Collections, Routing und mehr.

    Für wen ist dieses Buch geschrieben?

    Eines unserer Ziele beim Schreiben dieses Buches war, die Dinge zugänglich und verständlich zu machen. Du solltest auch ohne Erfahrung mit Meteor, node.js, MVC frameworks oder serverseitiger Programmierung folgen können.

    Die einzigen Vorkenntnisse, die wir voraussetzen, sind eine gewisse Vertrautheit mit grundlegender JavaScript Syntax und Konzepten. Aber wenn du jemals irgendetwas mit ein paar Zeilen jQuery Code zusammengebastelt hast oder ein wenig mit der Entwickler-Konsole eines Web-Browser herumgespielt hast, solltest du keine Probleme haben.

    Über die Autoren

    Falls du dich fragst, wer wir eigentlich sind und warum du uns glauben sollst, gibt es hier noch ein paar Hintergrundinformationen über uns beide.

    Tom Coleman ist Mitbetreiber von Percolate Studio, einer Web-Entwicklungs-Agentur mit Fokus auf Qualität und Benutzerfreundlichkeit. Er betreut das Atmosphere Pakete-Repository und zählt zu den Köpfen vieler anderer Open-Source-Projekte von Meteor (wie beispielsweise Iron Router).

    Sacha Greif hat bei vielen Startups, wie z.B. Hipmunk und RubyMotion als Produkt- oder Web-Designer mitgewirkt. Er hat Telescope und Sidebar geschrieben (Welches wiederum auf Telescope aufsetzt). Außerdem ist er der Gründer von Folyo.

    Kapitel & Sidebars

    Wir wollen, dass dieses Buch sowohl für neue Meteor-Anwender, wie auch für erfahrene Entwickler hilfreich ist, deshalb haben wir die Kapitel in zwei Kategorien unterteilt: - Normale Kapitel (von 1 bis 14) - Sidebars (halbe Nummern - also ,5)

    Die normalen Kapitel führen Dich durch die Erstellung der App und versuchen, dir nur das Wichtigste beizubringen. Um dir ein schnelles Vorankommen zu ermöglichen, wurden in diesen Abschnitten Details bewusst auslassen, die dich nur unnötig aufhalten.

    Die Sidebars gehen hingegen mehr ins Detail und helfen dir, ein besseres Verständnis dafür zu bekommen, was hinter den Funktionen wirklich steckt.

    Wenn du also Neuling bist, dann kannst du zunächst die Seitenleisten überspringen und später dein Wissen vertiefen.

    Commits & Live Instanzen

    Mache dir keine Gedanken, falls du dem Buch folgst und plötzlich feststellst, dass dein Code nicht mehr mit den Beispielen übereinstimmt und nichts so funktioniert, wie es eigentlich sollte.

    Dafür haben wir ein GitHub-Repository für Microscope angelegt und für alle paar Änderungen, direkte Links zu Git-Commits bereitgestellt. Außerdem verweist jeder Commit auf eine Live-Instanz der App, die zu diesem Commit gehört. So kannst du diesen mit deiner lokalen Kopie vergleichen.

    Das sieht dann zum Beispiel so aus:

    Commit 11-2

    Benachrichtigungen im Header anzeigen.

    Das soll aber jetzt nicht heißen, dass du einfach von einem git checkout zum nächsten hüpfen sollst. Du lernst viel besser etwas, wenn du dir die Zeit nimmst und den Code von Hand eingibst.

    Ein paar weitere Hilfsmittel

    Möchtest du mehr über die einzelnen Aspekt von Meteor wissen, dann ist die offizielle Meteor Dokumentation der beste Ort um nachzuschlagen.

    Für Fragen und Problemlösungen empfehlen wir auch Stack Overflow und den IRC Kanal #meteor, solltest du schnelle Hilfe benötigen.

    Brauche ich Git?

    Es ist nicht nötig, dass man sich mit Git und der Versionsverwaltung auskennt, um mit diesem Buch zu arbeiten - wir empfehlen es jedoch.

    Für einen schnellen Einstieg empfehlen wir Nick Farinas Git Is Simpler Than You Think.

    Den Git-Neulingen empfehlen wir außerdem die GitHub for Mac App. Mit dieser kann man Repositorien auch ohne die Kommandozeile verwalten.

    Getting in Touch