Applikationen mit Firebase, Kinvey, Contentful

Backends und Contentverwaltung für Applikationen

Von am 12.09.2016

Ohne Backend geht es heutzutage bei Webseiten sowie Applikationen eigentlich kaum mehr. Immer öfter muss man sich registrieren um bestimmte Teile von Webseiten oder Applikationen benutzen zu können. Auch möchte man über eine angenehme Art und Weise den Inhalt dieser bearbeiten und nicht bei jeder Änderung neue Versionen auf den Server spielen oder Updates releasen.

Bei der Entwicklung eines Projektes für die Plattform IOS suchte ich eine Möglichkeit, angenehm Content als auch User verwalten zu können.Natürlich wäre es möglich, ein eigenes System zu entwickeln. Dies wäre jedoch wahrscheinlich genauso zeitraubend wie die eigentliche Entwicklung der Applikation.

Mein erster Gedanke war es, WordPress auf einem Server aufzusetzen und somit meinen Content zu verwalten. Dies wäre in Verbindung mit einem JSON Plugin, welches die WordPress-Inhalte über JSON abrufbar macht, durchaus denkbar, erschien mir aber als eine etwas unelegante Lösung, da ich hierfür extra einen Server benötige, auf dem eine leere WordPress Seite laufen würde. Wenn man jedoch zusätzlich seinen Content über eine Webseite ausgeben möchte, ist dies eine Variante welche man in Betracht ziehen kann.

Bei der weiteren Suche stieß ich auf den Service Parse (https://www.parse.com). Parse ist ein Dienst, für welchen es ein Framework für verschiedene Programmiersprachen gibt. Es ermöglicht das Verwalten von Usern, Content, Notifications, etc. Leider stellte sich heraus, dass der von Facebook entwickelte Dienst eingestellt wird und nur mehr auf einem eigenen Server betrieben werden kann, aber nicht mehr weiterentwickelt wird.

Als Alternative fand ich Firebase, Googles Pendant zu Facebooks Firebase (https://firebase.google.com/). Die kostenlose Variante erlaubt bis zu 100 Zugriffe gleichzeitig, 1GB Speicher und 10GB Downloads für die Datenbank pro Monat. Zusätzlich 5GB Datenspeicher für Bilder oder ähnliches. Genauer kann man sich die Preise unter https://firebase.google.com/pricing/ ansehen. Auch die kostenpflichtige Variante ist leistbar und hat für den Anfang sicher genug Inhalt.

Eine gute Dokumentation für verschiedene Programmiersprachen macht es einfach, Firebase zu verwenden. Ein großer Punkt hierbei ist, dass sich schon jemand um die Sicherheit der Daten Gedanken macht.

Das einzige was mich hier gestört hat war, dass es keine intuitive Möglichkeit gibt, Content zu verwalten, wie man es eben aus einem CMS wie WordPress, etc. gewohnt ist. Der Grund ist, dass es eben kein CMS sondern ein sogenanntes MBAAS (Mobile Backend as a Service) ist.

Mobile backend as a service (MBaaS), also known as “backend as a service” (BaaS), is a model for providing web app and mobile app developers with a way to link their applications to backend cloud storage and APIs exposed by back end applications while also providing features such as user management, push notifications, and integration with social networking services. – https://en.wikipedia.org/wiki/Mobile_backend_as_a_service

Es wäre zwar auch möglich, den Teil der Contentverwaltung, in Verbindung mit Firebase, selber zu programmieren. Dies wäre aber, wie bereits gesagt, ein größerer Aufwand, wenn man eigentlich eine Applikation entwickeln will.

Auf der weiteren Suche habe ich noch einen dritten Service names Kinney (https://www.kinvey.com) gefunden. Wer seine Daten, und die seiner Kunden, nicht an Google geben möchte, kann sich diesen Dienst ansehen. Im Großen und Ganzen ist dieser Dienst gleich dem von Google. Verwaltung von Usern, inkl Userlogin über Facebook, Twitter, etc. (auch bei Firebase möglich), Push-Notifications, etc. Aber auch hier ist es wieder nur eine Datenbank und hat keine intuitive Variante der Contenverwaltung. Für uns ist dies wahrscheinlich kein Problem, ein paar Felder in eine Datenbank einzutragen. Man muss sich aber im Klaren sein, dass oft weniger technik-fffine Personen das Betreuen von Inhalten übernehmen. Aus diesem Grund habe ich die Suche nicht aufgegeben und fand Contentful (https://www.contentful.com).

Contentful ist genau das, was ich noch gesucht habe. Man kann sich im Backend eigene Felder zusammenstellen wie zb. Text, Image, etc. Danach braucht man nur mehr auf „New“ drücken, füllt die Felder aus und erstellt einen Eintrag. Contentful ist eine RESTful JSON API. Der Zugriff auf die Daten ist somit einfach und schnell. Es gibt wie immer eine kostenlose und kostenpflichtige Variante (https://www.contentful.com/pricing/).

Das nette ist, dass alle vorgestellten Dienste eine kostenlose Variante zum Testen anbieten, welche auch bei den meisten für den Anfang reicht. Auch die kostenpflichtigen Varianten sind leistbar. Wenn man genug User hat, sollten diese dann sowieso kein Problem sein.

In einem weiteren Artikel werde ich genauer auf die Dienste eingehen und ein paar Beispiele zeigen. Ansonsten viel Spaß beim Ausprobieren.

The comments are closed.