Quickstarters
Feature Overview
Wie man ein Backend für Ruby erstellt?
34 min
einführung in diesem tutorial werden sie entdecken, wie man ein backend für ruby mit back4app erstellt wir werden die wesentlichen funktionen von back4app durchgehen, wie z b datenbankmanagement, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung und echtzeitanfragen (live queries) durch die nutzung der programmiersprache ruby und back4app erhalten sie ein sicheres, skalierbares und robustes backend, das sich leicht in ihr softwareentwicklungssystem integriert dieser ansatz spart zeit und mühe, indem er eine open source webplattform nutzt, die auf parse basiert sie werden sehen, wie man entwicklungsprojekte mit prinzipien der schnellen entwicklung beschleunigt unterwegs lernen sie, fortschrittliche sicherheitsfunktionen zu nutzen, aufgaben mit cloud jobs zu planen und webhooks für externe integrationen einzurichten am ende werden sie bereit sein, eine struktur für ein webanwendungs framework zu erstellen und diese für produktionsanwendungen zu erweitern sie werden in der lage sein ruby mit back4app für datenmodelle, objektorientierte logik und echtzeitdaten zu integrieren die besten praktiken des entwicklungsprozesses für die anwendungsentwicklung im model view controller (mvc) stil oder einer anderen architektur, die sie bevorzugen, zu nutzen ihre rolle als backend entwickler zu verbessern, indem sie sichere benutzerauthentifizierung, cloud code trigger und mehr verwalten ihre webanwendungen weiter zu verfeinern, um den realen bedürfnissen mit den flexiblen funktionen von back4app gerecht zu werden voraussetzungen ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app melden sie sich kostenlos an, wenn sie kein konto haben eine lokale ruby umgebung sie sollten ruby https //www ruby lang org/en/documentation/installation/ installiert haben typischerweise wird ruby 2 6 oder höher empfohlen vertrautheit mit der programmiersprache ruby grundkenntnisse der ruby syntax, objektorientierte konzepte und gängige programmiersprachen nutzung bundler (optional, aber empfohlen) bundler hilft, gems für ihr webanwendungs framework oder entwicklungsprojekte bundler offizielle dokumentation https //bundler io/ stellen sie sicher, dass sie alle diese voraussetzungen erfüllt haben, bevor sie beginnen wenn ihr back4app projekt erstellt und ihre ruby umgebung bereit ist, wird dies ein reibungsloses tutorial erlebnis bieten schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen warum dieser schritt wichtig ist ein neues back4app projekt ist die grundlage für ihre anwendungsentwicklung es hostet ihre datenbank, verwaltet die benutzerauthentifizierung und bietet die umgebung für die ausführung von cloud code ein neues projekt erstellen melden sie sich bei back4app an klicken sie auf neue app in ihrem back4app dashboard geben sie ihrer app einen namen (z b „ruby backend tutorial“) installieren sie das parse sdk und verbinden sie sich mit back4app das parse sdk für ruby hilft ihnen, mit dem backend von back4app zu interagieren sie können es über gem schritt 2 – datenbank einrichten 1\ erstellen eines datenmodells in back4app ist eine klasse wie eine datenbanktabelle zum beispiel können sie eine „todo“ klasse erstellen, um aufgaben zu speichern sie können klassen direkt aus ruby erstellen oder sie im dashboard definieren, um eine feinkörnige kontrolle zu haben 2\ erstellen eines datenmodells mit dem ki agenten öffnen sie den ki agenten in ihrem app dashboard beschreiben sie ihr datenmodell in einfacher sprache (z b „eine todo app mit titel, iscompleted feldern“) lassen sie den ki agenten ihr schema automatisch erstellen 3\ daten lesen und schreiben mit ruby (parse sdk) im folgenden finden sie ein einfaches beispiel zum erstellen eines neuen datensatzes in einer „todo“ klasse mit dem ruby sdk require relative 'parse config' \# create a todo object todo = parse object new("todo") todo\["title"] = "buy groceries" todo\["iscompleted"] = false saved todo = todo save puts "todo saved with objectid #{saved todo\['objectid']}" \# query todos query = parse query new("todo") results = query get puts "fetched #{results size} todos " results each do |t| puts "title #{t\['title']}, completed #{t\['iscompleted']}" end 4\ daten lesen und schreiben mit der rest api sie können auch datensätze über die rest schnittstelle erstellen und abrufen curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ daten lesen und schreiben mit der graphql api back4app bietet einen graphql endpunkt für fortgeschrittene webanwendungen mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ arbeiten mit live abfragen (optional) aktivieren sie live abfragen im back4app dashboard (servereinstellungen) und abonnieren sie von ihrem ruby skript, wenn ihre umgebung websocket verbindungen unterstützt sie können sie auch für echtzeit updates in einem webanwendungs framework verwenden, das nebenläufigkeit unterstützt schritt 3 – sicherheit mit acls und clps anwenden 1\ übersicht acls (zugriffskontrolllisten) und clps (klassenebene berechtigungen) schützen ihre daten auf objektorientierte weise acls ermöglichen es ihnen zu entscheiden, wer jeden datensatz lesen oder schreiben kann clps ermöglichen es ihnen, berechtigungen für eine gesamte klasse zu verwalten 2\ klassenebene berechtigungen (clps) und acls festlegen gehen sie zum datenbank bereich ihrer app und wählen sie ihre klasse, wie „todo “ konfigurieren sie die clps ihrer klasse unter „sicherheit“ oder „klassenebene berechtigungen “ um acls für einen datensatz festzulegen owner = parse user current todo = parse object new("todo") acl = parse acl new(owner) acl public read = false acl public write = false todo acl = acl todo\["title"] = "private task" todo save dies stellt sicher, dass nur der eigentümer diesen bestimmten todo lesen/schreiben kann schritt 4 – schreiben von cloud code funktionen 1\ warum cloud code cloud code hilft, geschäftslogik und validierungen direkt in den server einzubetten es ist ideal, um die datenintegrität sicherzustellen und aufgaben auszuführen, die nicht für clients zugänglich sind 2\ beispiel funktion in der main js (oder ähnlichem) ihres projekts auf back4app können sie eine cloud funktion definieren parse cloud define('calculatetextlength', (request) => { const { text } = request params; if (!text) { throw 'no text provided'; } return { length text length }; }); hinweis obwohl unsere hauptanwendung ruby verwendet, basiert cloud code in parse auf javascript so betten sie serverseitige logik auf back4app ein 3\ bereitstellung back4app cli back4app dashboard kopieren/einfügen sie ihre funktion in cloud code > funktionen und klicken sie auf bereitstellen 4\ npm module sie können npm module (z b axios) für ihre cloud code umgebung installieren zum beispiel npm install axios in ihrer main js , binden sie es ein und führen sie externe api aufrufe nach bedarf durch schritt 5 – authentifizierung konfigurieren 1\ dashboard einstellungen aktivieren sie die benutzerauthentifizierung in den app einstellungen back4app verwendet parse user zur benutzerverwaltung 2\ registrieren / anmelden mit ruby require relative 'parse config' \# signing up a user user = parse user new({ username "alice", password "secret123", email "alice\@example com" }) begin user sign up puts "user signed up successfully" rescue => e puts "error #{e message}" end \# logging in a user logged in user = parse user login("alice", "secret123") puts "logged in as #{logged in user username}" 3\ soziale anmeldung um soziale anmeldungen (facebook, google, apple) zu integrieren, konsultieren sie die dokumentation zur sozialen anmeldung https //www back4app com/docs/platform/sign in with apple die implementierungsdetails variieren je nach anbieter schritt 6 – dateispeicherung verwalten 1\ dateispeicherung einrichten back4app verwaltet datei uploads über das parse file objekt in ruby file = parse file new("image png", file read("/path/to/image png")) saved file = file save puts "file saved at #{saved file url}" \# attach file to an object photo = parse object new("photo") photo\["imagefile"] = saved file photo save puts "photo object created with file reference " 2\ beispiel benutzer können bilder, dokumente oder andere dateien hochladen rufen sie die url ab, um sie in ihrem frontend oder anderen diensten anzuzeigen 3\ sicherheitsüberlegungen konfigurieren sie ihre app, um datei uploads auf authentifizierte benutzer zu beschränken, falls erforderlich schritt 7 – e mail verifizierung und passwortzurücksetzung 1\ warum es wichtig ist die e mail verifizierung stellt sicher, dass neue konten gültige e mail adressen haben die passwortzurücksetzung ermöglicht es ihren benutzern, ihre konten sicher wiederherzustellen 2\ back4app dashboard konfiguration aktivieren sie e mail verifizierung richten sie benutzerdefinierte vorlagen für die verifizierung und passwortzurücksetzung ein 3\ codebeispiel von ruby aus können sie eine passwortzurücksetzung anfordern curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "alice\@example com"}' \\ https //parseapi back4app com/requestpasswordreset dies sendet einen link zur passwortzurücksetzung an die e mail des benutzers schritt 8 – aufgabenplanung mit cloud jobs 1\ was cloud jobs tun cloud jobs führen periodische aufgaben aus, wie das bereinigen alter daten oder das versenden von zusammenfassungs e mails 2\ beispiel job parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); planen sie es unter app einstellungen > servereinstellungen > hintergrundjobs in ihrem back4app dashboard schritt 9 – integration von webhooks 1\ definition webhooks ermöglichen es ihnen, http anfragen an externe dienste zu senden, wann immer bestimmte ereignisse in back4app auftreten dies ist großartig, um verbindungen zu drittanbieterdiensten herzustellen oder aufgaben in anderen programmiersprachen auszulösen 2\ konfiguration gehen sie zu ihrem back4app dashboard der app > mehr > webhooks , und fügen sie einen neuen webhook mit der url ihres externen dienstes hinzu 3\ beispiel senden sie daten an stripe oder slack, wann immer ein neues „todo“ erstellt wird alternativ können sie trigger im cloud code definieren und http anfragen innerhalb dieser trigger durchführen schritt 10 – erkundung des back4app admin panels 1\ wo sie es finden klicken sie in ihrem app dashboard auf mehr > admin app , und aktivieren sie es 2\ funktionen grafische benutzeroberfläche für die datenverwaltung ohne code werkzeuge zur analyse von protokollen, zur planung von hintergrundjobs und mehr rollenbasierte zugriffskontrolle, die es ihnen ermöglicht, nicht technischen benutzern eine sichere möglichkeit zur verwaltung von inhalten zu bieten fazit sie haben ein sicheres und skalierbares backend für ihre ruby app auf back4app erstellt, indem sie die programmiersprache ruby verwendet haben, um sich mit der parse api zu verbinden ihr entwicklungsprozess umfasst jetzt eine datenbank mit erweiterten sicherheitsfunktionen (acls, clps) echtzeit datenaktualisierungen über live abfragen cloud code trigger für benutzerdefinierte geschäftslogik benutzerauthentifizierung und dateiverwaltung geplante aufgaben mit cloud jobs und webhooks für externe dienste ein benutzerfreundliches admin panel für die datenverwaltung mit diesem fundament können sie ihre webanwendungen oder projekte in anderen programmiersprachen erweitern, um den anforderungen der realen welt gerecht zu werden egal, ob sie ein erfahrener backend entwickler sind oder gerade erst mit ruby anfangen, back4app bietet eine objektorientierte und benutzerfreundliche plattform für die schnelle entwicklung fühlen sie sich frei, zusätzliche apis oder funktionen zu integrieren und weitere anpassungen zu erkunden, um sich an modell ansicht controller (mvc) muster oder andere architekturstile anzupassen nächste schritte verfeinern sie ihre produktionsumgebung durch hinzufügen von fortgeschrittener caching, rollenbasiertem zugriff oder leistungsoptimierungen fügen sie komplexere beziehungen zwischen datenklassen hinzu, um reale anwendungsfälle zu unterstützen erforschen sie die offizielle back4app dokumentation für sicherheit, leistungsanalysen und analytik experimentieren sie mit anderen open source web frameworks um die funktionen ihrer anwendung zu erweitern viel spaß beim erstellen robusterer und funktionsreicherer webanwendungen mit ruby und back4app!