Room vs. SQL Delight

  • Hallo, ich werde demnächst eine DB in meine App einbinden. Zur DIskussion stehen Room vs. SQLDelite. Im folgenden habe ich mal einige Stickpunkte für meine Entscheidung zusammen getragen bzw. erweitere diese auch bei Wissensupdates:


    DBPROsCONs
    Room
    • Google Support
    • Weniger Zelen Code als SqlDelite
    • closed source
    SQLDeLite
    • etwss mehr Zeilen Code als Room



    Anforderungen / Infos:

    • Ich werde nicht so viele Datenbank-Einträge in der App haben; vermutlich < 100 .
    • Durchaus könnte ich später kleine icons/drawables < 10kB (Avatare) pro DB-Eintrag mit abspeichern - also byte-array (oder drawable) Tauglichkeit.
    • Encryption tauglich - für SQL Delight habe ich https://www.zetetic.net/sqlcipher/ gefunden
    • Java / Kotlin Tauglichkeit - wichtiger ist wohl Kotlin


    Offene Fragen meinerseits ():

    • Benchmark bzgl. RAM Benutzung, größe der lib in der EndApp
    • Benchmark bzgl. DB-Operation wie new, delete, edit - jedoch weniger wichtig da ich kaum über 100 DB Einträge kommen werde
    • Wie sieht es mit der Verschlüsselung der Datenbank bzw. einzelner Spalten aus. Wird von Hause aus mitgeliefert? 4th party libs
    • Dokumentation?
    • Bugs - macht kein Sinn, wenn die lib als zum crash führt
    • Testbarkeit - Wartbarkeit?
    • Realm schließe ich mal aus, da es die App auf einen Schlag um 5 MB aufpumpt. Aber eine 3te Alternative zum Vergleich käme mir auch recht..
    • Hab ich was wichtiges vergessen? Entscheidungskriterium

    Ich würde mich sehr freuen wenn ihr zu dem einen oder anderen Punkt euren Senf dazugeben könnt :) - sofern dieser Konstruktiv ist :thumbup:


    Mfg mrt

  • naja wenn dir eine datenbank zusammenklicken besser gefällt ^^
    Natürlich sollte man schreibarbeit minimieren, dann hat man zeit für besseres. Wenn man aber mehr zeit aufwendet um andere datenbanken einzubinden, nur um die wenige zeit zu sparen die man zum SQL schreiben braucht, dann muss man überlegen ob das sinn macht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!