Konzentrieren Sie sich auf das Wesentliche – Hoodie

Low profile dog

Low profile dog

Im Blogeintrag über das Ghost Projekt habe ich die Installation von Node.js bereits gezeigt. In diesem Blogeintrag möchte ich Ihnen zeigen, wie Sie Ihren Root-Server zu einen Backend Service machen, der es Ihnen ermöglicht, offline Anwendungen zu erstellen.

Bevor wir uns der Frage widmen, was ein Backend Service für offline Anwendungen überhaupt ist, schauen Sie bitte kurz auf die Website http://minutes.io und erstellen Sie dort ein Protokoll einer Besprechung.

minutes.io
minutes.io
Vermutlich sind Sie von der Einfachheit und Effektivität der Anwendung fasziniert.

Und vermutlich fallen Ihnen sofort weitere Aufgaben ein, die auch so einfach sein sollen.

Das Hoodie Team benutzt intern beispielsweise so eine Anwendung für die Erstellung Ihrer Roadmap (http://gr2m.github.io/milestones/)

Hoodie Milestones
Hoodie Milestones
Weitere Beispiele finden Sie hier.

No Backend & offline first

Wenn Sie Anwendungen wie die beiden Beispiele mit herkömmlichen Methoden und Tools erstellen wollen, so benötigen Sie dafür mindestens Kenntnisse von HTML, CSS, JavaScript, Skriptsprachen wie PHP, Datenbanken wie MySQL, Webserver wie Apache und natürlich ein Betriebssystem wie Linux. Wenn Sie diese Begriffe in Frontend (Browser) und Backend (Server) aufteilen, dann findet HTML, CSS und JavaScript im Frontend statt und der Rest im Backend. Dieser „Rest“ ist für „Nicht Programmierer“ und „Nicht Administratoren“ unfassbar kompliziert und die Lernkurve sehr hoch. Wer im Schulunterricht HTML lernt und eine Idee für eine Anwendung hat, scheitert bei seiner Arbeit oft am Backend.

Jede einigermassen nützliche Anwendung benötigt diese Features:

  • Benutzerregistrierung
  • Benutzerverwaltung durch einen Administrator
  • Speichern und Laden von Daten
  • Teilen der Data an berechtigte Personen oder mit der Oeffentlichkeit
  • Verschicken von E-Mails
  • Vielleicht etwas bezahlen

Das war vor zehn und mehr Jahren so. Heute kommt hinzu, dass die Anwendung bitte auf jedem Endgerät laufen soll und zwar auch offline. Die Daten werden dann bei erneutem online Zustand gesynct. Die Anwendung minutes.io kann das alles!

Was ist Hoodie?

Hoodie vereinfacht das Entwickeln solcher Anwendungen. Es nutzt Node.js, Git und CouchDB und stellt damit ein serverseitiges Backend (Hoodie) für offline Anwendungen zur Verfügung.

Die eigentliche Anwendungsentwicklung geschieht im Frontend mit HTML, CSS und JavaScript.

Hoodie kann über Plugins in seiner Funktionalität erweitert werden.

Eine sehr gute Einführung gibt Alex Feyerke in seinem Talk auf der JSConf 2013

I have a Dreamcode: Build Apps, not Backends

Installation von Hoodie unter Ubuntu 14.04

Da Sie nach dieser recht ausführlichen Einleitung, in der ich Sie zu minutes.io und YouTube geschickt habe den Weg wieder hierher gefunden habe, zeige ich Ihnen jetzt, wie Sie Hoodie auf einem Root-Server installieren.

Deutlicher Hinweis:

Momentan ist Hoodie bei der Versionsnummer 0.6.3 angekommen. Normalerweise wird lokal entwickelt und die Ergebnisse der Entwicklung werden dann auf einem produktiven Server deployed (Hoodie Deployment Guide). Nichtsdestotrotz glaube ich, dass es gut ist, Hoodie einfach mal auf einem Root-Server zu installieren und damit zu experimentieren. Die einzelne Anwendung läuft nur, wenn Hoodie gestartet ist und dann „nur“ auf einen anderen Port als 80. Das Risiko ist also überschaubar :). Der Vorführeffekt einer selbst erstellten Anwendung ist sehr eindrucksvoll, wenn Sie „online“ zur Verfügung steht und jeder die Applikation mal eben mit seinem Tablet oder Telefon ausprobieren kann.

Nun aber endlich los. Installieren Sie die folgenden Software.

Node.js

Ubuntu hat ein Installationspaket von Node.js. Damit alles so funktioniert, wie Hoodie das erwartet, muss zusätzlich Chris Lea’s Node.js PPA hinzugefügt werden. Eine PPA ist ein Personal Package Archive.

sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

CouchDB

sudo apt-get update
sudo apt-get install couchdb-bin git

Hoodie-CLI

npm install -g hoodie-cli

Das war bereits alles, Hoodie ist nun installiert.

Erste Schritte

Mit hoodie -h sehen Sie die möglichen Paramneter

Hoodie Help

Hoodie Help

Um das Gerüst für eine erste Anwendung zu erstellen, geben Sie den Befehl

hoodie new testapp

ein. Hoodie erstellt nun im Verzeichnis testapp alle Dateien, die Sie benötigen um loszulegen. Die testapp ist eine ToDo Liste mit Benutzerverwaltung. Der Name ist frei wählbar.

Erstellung der Hoodie testapp
Erstellung der Hoodie testapp
Wechseln Sie nun in den testapp Ordner und starten Sie Hoodie. Sie müssen ein Passwort für den Administrationsbereich vergeben.

cd testapp
hoodie start
Hoodie testapp starten
Hoodie testapp starten
Nun können Sie die testapp im Browser aufrufen. In meinem Fall ist das http://serverblogger.ch:6001 für die testapp und http://serverblogger.ch:6002 für den Adminbereich.
testapp im Browser
testapp im Browser
Administrationsbereich
Administrationsbereich
Auf der Website können Sie sich ein Benutzerkonto anlegen und Ihre ToDo’s verwalten.

In der Datei /home/novatrend/testapp/www/index.html befindet sich der Quellcode Ihrer Anwendung. Für erste Schritte können Sie diese Datei im Editor bearbeiten. Komfortabler geht es natürlich in einer lokalen Entwicklungsumgebung.

Hoodie selbst können Sie mit ctrl-c wieder beenden. Die App ist dann nicht mehr über den Browser aufrufbar. Das Passwort können Sie mit dem Befehl hoodie reset password zurücksetzen.

Eine Anwendung direkt aus GitHub installieren

Eine Demo Anwendung ist der Hoodie MapChat. Stellen Sie sich vor, Sie wollen Informationen sammeln, die mit einem bestimmten Ort zusammenhängen (Der Weinbauer geht über seine Felder und notiert sich etwas, mal mit, mal ohne Internetverbindung. Die Daten sind nur für ihn sichtbar 😉 ). Auch wenn die Anwendung auf den ersten Blick ein wenig hergeholt erscheint, so funktionieren doch die meisten ortsbezogenen Dienste nach exakt diesem Prinzip.

Verlassen Sie das Verzeichnis testapp wieder und geben Sie die folgenden Befehle ein.

hoodie new vineyard -t hoodiehq/hoodie-app-mapchat
cd vineyard
hoodie start

Wenn Sie die Anwendung nun im Browser aufrufen, können Sie sich registrieren und dann mit Ihrem Telefon über Ihre Liegenschaften laufen und Notizen verfassen. Auch offline!

Hoodie MapChat
Hoodie MapChat

Links


tl:dr; Mit Hoodie lassen sich Web-Applikationen schnell und einfach entwickeln.

Autor: Hagen Graf

consultant, author, trainer, solution finder, web architect, developer, open source lover, visionary, orator, the good old webmaster. Able to simplify!

Kommentar verfassen