Ionic3: Firebase Alternative MySQL?

  • Moin,
    bin gerade erstmals an einem Ionic Projekt. Hab leider nicht wirklich viel Ahnung von App-Entwicklung. Lese immer wieder Firebase und sehe das auch in vielen Tutorials und ähnlichem. Allerdings ist das ja schon echt kein Schnäppchen für private Zwecke und auch für kleinere Budgets von Kunden. Nun wollte ich einfach mal sehen, ob ich denn nicht einfach MySQL integrieren kann, lese jedoch des öfteren, dass man es auf keinen Fall direkt einbinden soll, sondern nur über eine Webapp, da es sonst sehr unsicher sei.
    Stimmt das? Kann hier jemand mal genauer erläutern, wie ich das ganze realisieren sollte, oder kennt jemand eine Alternative zu Firebase? Bin eigentlich ein großer MySQL Fan.
    Die Webapp wäre kein Problem, nur die Verknüpfung mit Ionic.
    Wäre für jede Hilfe dankbar.


    LG

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • Du solltest das Ganze (also Anbindung an einer SQL Datenbank) z.B. über eine RESTful API anbinden. Das hat den Vorteil, dass zunächst mal niemand direkt auf die Datenbank verbinden kann. Außerdem kann du viele weitere netten Vorteile einer API nutzen:
    - Austauschbarkeit
    - Erweiterbarkeit
    - Skalierbarkeit


    Abgesehen davon muss keine Verbindung aufrecht gehalten werden. Für das REST Paradigma wird die Verbindung aufgebaut, Daten übertragen, Verbindung geschlossen. HTTP halt.

  • Du solltest das Ganze (also Anbindung an einer SQL Datenbank) z.B. über eine RESTful API anbinden. Das hat den Vorteil, dass zunächst mal niemand direkt auf die Datenbank verbinden kann. Außerdem kann du viele weitere netten Vorteile einer API nutzen:
    - Austauschbarkeit
    - Erweiterbarkeit
    - Skalierbarkeit


    Abgesehen davon muss keine Verbindung aufrecht gehalten werden. Für das REST Paradigma wird die Verbindung aufgebaut, Daten übertragen, Verbindung geschlossen. HTTP halt.

    Danke! Das dachte ich mir so ähnlich. Hast du ein konkretes Beispiel, wie ich ebendiese Verbindung in Ionic herstelle, halte und auf sie zugreife? Finde da recht wenig brauchbares.

    ▬|██████|▬
    This is Nudelholz.
    Copy Nudelholz in your Signatur
    to make better Kuchens
    and other Teigprodukte!

  • Bin jetzt kein Ionic Nutzer, deshalb alle nachfolgenden Links ohne Gewähr (oder Gewehr, je nach persönlicher Notwendigkeit :D)
    http://blog.ionic.io/10-minutes-with-ionic-2-calling-an-api/
    http://www.gajotres.net/ionic-…http-requests-like-a-pro/


    Bei Problemen könnte u.U. das hilfreich sein:
    https://forum.ionicframework.com/t/http-in-ionic-3-0-1/87292


    Das ganze basiert ja AFAIK auf Angular, entsprechend solltest du auch Angular Tutorials da ans laufen bekommen, mit etwas kleineren Änderungen hier und da ggf.:
    https://angular.io/tutorial/toh-pt6
    https://angular.io/guide/http


    Nochmal... ohne Gewähr.

  • Wie fnL schon angesprochen hat nutz dazu ein webservice allein weil deine verbindungsdaten im sourcecode sind unproblematisch wäre sowas nur, wenn der verwendete user lediglich lese rechte hätte.


    Was ist zu beachten , du musst in der app.module.ts das HTTPModule implemtieren


    import { HttpModule } from '@angular/http';


    Und darunter auch das Modul importieren unter imports bei NGModules in der datei.


    Danach kannst du es in deinen provider, services oder module, ... verwenden.


    In dem du das ganze importierst genauso wie map


    import { Http } from '@angular/http';
    import 'rxjs/add/operator/map';


    Damit kannst du den response vom request schön verwalten.


    constructor(public http: Http) {
    ...
    }


    this.http.get('url').map(res => res.json()).subscribe(entry => {...});


    Oder du kannst auch eine funktion bastel die das direkt zurück gibt.


    return this.http.get('url').map(res => res.json());


    Alternative couchDB, was du direkt anbinden kannst, aber firebase ist da schon das beste was realtime data angeht.