© Rolau Elena/Shutterstock.com
Entwickler Magazin
MySQL wird mobil

Firebase und MySQL: ein ideales Paar

Mobile Anwendungen werden heutzutage oft auf Basis einer Mobile-Backend-as-a-Service-Lösung (MBaaS) erstellt. Diese bieten auf den ersten Blick Rundumsorglospakete an, die einen schnellen Einstieg in die Entwicklung ermöglichen sollen. In vielen Fällen werden mobile Anwendungen aber nicht auf der grünen Wiese erstellt, sondern müssen in bestehende Anwendungslandschaften eingebettet werden. Google Firebase ist eine MBaaS-Lösung, die eine einfache Anbindung externer Systeme ermöglicht.

Cord Jastram


Im Jahr 2016 hat Google bei seiner Entwicklerkonferenz Google I/O angekündigt, Firebase [1] zu einer universellen Plattform für die Entwicklung von Anwendungen für Android, iOS und das Web zu machen. Nach dieser Ankündigung erwachte die 2014 gekaufte Plattform aus ihrem Dornröschenschlaf und wird seither regelmäßig durch neue Features erweitert. Die Firebase-Dienste werden von Google gehostet und als Mobile Backend as a Service (MBaaS) zur Verfügung gestellt. Firebase-basierte Anwendungen laufen somit vollständig in der Cloud, man benötigt keine eigene Hardware. Für Firebase gibt es drei verschiedene Preismodelle [2], wobei man auch mit der kostenlosen Version schon vernünftig arbeiten kann. Außerdem bietet Firebase eine Vielzahl leicht zu nutzender APIs an und ist deshalb immer dann ein geeigneter Kandidat, wenn man schnell und mit geringen Einstiegskosten einen Proof of Concept (PoC) für eine mobile Anwendung erstellen möchte. Bei der produktiven Nutzung sorgt dann die zugrunde liegende Google-Infrastruktur für eine hohe Verfügbarkeit und eine gute Skalierbarkeit.

Bei der Entwicklung einer mobilen Anwendung steht man oft vor der Aufgabe, auch auf Daten aus einer schon bestehenden Anwendungslandschaft zuzugreifen. Abbildung 1 zeigt schematisch eine mögliche Problemstellung: Eine schon existierende Anwendung speichert ihre Daten in einer MySQL-Datenbank, und von einem mobilen Endgerät aus soll auf diese Daten zugegriffen werden.

Abb. 1: Die Anbindung einer mobilen Anwendung an eine MySQL-Datenbank als Problemstellung

Abb. 2: Der Lösungsansatz für das in Abbildung 1 dargestellte Problem

Der Lösungsansatz (Abb. 2) beruht darauf, dass die Firebase-Datenbank sowohl Daten speichern als auch angebundene Clients in Echtzeit über Änderungen in der Datenbank informieren kann. Für die Entwicklung des Android-Clients und des Firebase-Adapters für die MySQL-Datenbank wird Java als Programmiersprache zusammen mit den entsprechenden Java-Bibliotheken für Firebase genutzt. Da die für Firebase erhältlichen SDKs jedoch alle ein identisches API-Design verwenden, können die hier vorgestellten Ideen auch auf andere Programmiersprachen übertragen werden.

Eine App mit MySQL-Zugriff

Als Beispiel für die Nutzung der gezeigten Idee wollen wir uns eine Android-App anschauen, die auf eine lokal betriebene MySQL-Datenbank zugreift. Die App ist sehr einfach gehalten, eignet sich aber gut, um alle wichtigen Aspekte der Anbindung zu demonstrieren. Abbildung 3 zeigt die App nach dem Start a...

Entwickler Magazin
MySQL wird mobil

Firebase und MySQL: ein ideales Paar

Mobile Anwendungen werden heutzutage oft auf Basis einer Mobile-Backend-as-a-Service-Lösung (MBaaS) erstellt. Diese bieten auf den ersten Blick Rundumsorglospakete an, die einen schnellen Einstieg in die Entwicklung ermöglichen sollen. In vielen Fällen werden mobile Anwendungen aber nicht auf der grünen Wiese erstellt, sondern müssen in bestehende Anwendungslandschaften eingebettet werden. Google Firebase ist eine MBaaS-Lösung, die eine einfache Anbindung externer Systeme ermöglicht.

Cord Jastram


Im Jahr 2016 hat Google bei seiner Entwicklerkonferenz Google I/O angekündigt, Firebase [1] zu einer universellen Plattform für die Entwicklung von Anwendungen für Android, iOS und das Web zu machen. Nach dieser Ankündigung erwachte die 2014 gekaufte Plattform aus ihrem Dornröschenschlaf und wird seither regelmäßig durch neue Features erweitert. Die Firebase-Dienste werden von Google gehostet und als Mobile Backend as a Service (MBaaS) zur Verfügung gestellt. Firebase-basierte Anwendungen laufen somit vollständig in der Cloud, man benötigt keine eigene Hardware. Für Firebase gibt es drei verschiedene Preismodelle [2], wobei man auch mit der kostenlosen Version schon vernünftig arbeiten kann. Außerdem bietet Firebase eine Vielzahl leicht zu nutzender APIs an und ist deshalb immer dann ein geeigneter Kandidat, wenn man schnell und mit geringen Einstiegskosten einen Proof of Concept (PoC) für eine mobile Anwendung erstellen möchte. Bei der produktiven Nutzung sorgt dann die zugrunde liegende Google-Infrastruktur für eine hohe Verfügbarkeit und eine gute Skalierbarkeit.

Bei der Entwicklung einer mobilen Anwendung steht man oft vor der Aufgabe, auch auf Daten aus einer schon bestehenden Anwendungslandschaft zuzugreifen. Abbildung 1 zeigt schematisch eine mögliche Problemstellung: Eine schon existierende Anwendung speichert ihre Daten in einer MySQL-Datenbank, und von einem mobilen Endgerät aus soll auf diese Daten zugegriffen werden.

Abb. 1: Die Anbindung einer mobilen Anwendung an eine MySQL-Datenbank als Problemstellung

Abb. 2: Der Lösungsansatz für das in Abbildung 1 dargestellte Problem

Der Lösungsansatz (Abb. 2) beruht darauf, dass die Firebase-Datenbank sowohl Daten speichern als auch angebundene Clients in Echtzeit über Änderungen in der Datenbank informieren kann. Für die Entwicklung des Android-Clients und des Firebase-Adapters für die MySQL-Datenbank wird Java als Programmiersprache zusammen mit den entsprechenden Java-Bibliotheken für Firebase genutzt. Da die für Firebase erhältlichen SDKs jedoch alle ein identisches API-Design verwenden, können die hier vorgestellten Ideen auch auf andere Programmiersprachen übertragen werden.

Eine App mit MySQL-Zugriff

Als Beispiel für die Nutzung der gezeigten Idee wollen wir uns eine Android-App anschauen, die auf eine lokal betriebene MySQL-Datenbank zugreift. Die App ist sehr einfach gehalten, eignet sich aber gut, um alle wichtigen Aspekte der Anbindung zu demonstrieren. Abbildung 3 zeigt die App nach dem Start a...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang