Ein SDK bildet die Grenze zwischen einem Dienst und den Anwendungen, die ihn nutzen. Diese Grenze ist einfacher, wenn Objekte die benötigten Vorgänge beschreiben, statt interne Speicherstrukturen widerzuspiegeln. IaGenify SDK 0.2 verdeutlicht das für Dateien und verbundenen Speicher.
Eine Datei ist eine Ressource, kein Serverpfad
Eine Anwendung muss eine Datei finden, lesen, aktualisieren oder löschen können. Sie muss nicht wissen, in welchem Verzeichnis eines Dienstrechners die Bytes liegen. Das Dateiobjekt konzentriert sich deshalb auf seine Quellkennung und unterstützte Vorgänge.
const file = await api.files.get(sourceId);
console.log(file.sourceId);
file.content = "Revised note";
await file.update();Stabile Kennungen machen Anwendungscode portabel. Dieselbe Referenz funktioniert in einem lokalen Tool, einer Weboberfläche oder einer Automatisierung, ohne das Dateisystem des Servers zu kennen.
Verbundener Speicher bietet sinnvolle Vorgänge
Eine Speicherressource soll der Anwendung die Nutzung ermöglichen. Das öffentliche Objekt zeigt ihre Identität und verfügbaren Vorgänge; zum Auflisten oder Verwenden muss die Anwendung keine Zugangsdaten untersuchen.
const storage = await api.storage.get({ id: storageId });
console.log(storage.id);
const files = await storage.run({ action: "list", path: "/reports" });So sind die Zuständigkeiten klar: Die Anwendung wählt einen Vorgang, der Dienst nutzt die gespeicherte Verbindung. Der aufrufende Code muss Verbindungsdaten nicht in den eigenen Zustand kopieren.
Eine fokussierte öffentliche Schnittstelle ist einfacher zu pflegen
Wenn ein SDK interne Details zurückgibt, können Anwendungen davon abhängig werden, obwohl sie nie Teil des stabilen Vertrags waren. Eine spätere Entfernung würde dann brechen. Fokussierte Objekte lassen sich leichter dokumentieren und über Laufzeitumgebungen hinweg weiterentwickeln.
Es geht nicht darum, nützliches Verhalten zu verbergen, sondern es auf der passenden Ebene anzubieten: Kennungen für Ressourcen, Methoden für unterstützte Vorgänge und Ergebnisse, mit denen die Anwendung arbeiten kann.
Das Prinzip hinter Version 0.2
IaGenify SDK 0.2 ist eine kleine Version mit einem wichtigen Grundsatz: Öffentliche Objekte enthalten, was Anwendungen benötigen, ohne interne Dienstdetails vorauszusetzen.
Ein verlässliches SDK bietet stabile Referenzen und klare Aktionen; der Dienst behält die Kontrolle über seine Implementierung.
Häufig gestellte Fragen
Warum eine Datei über eine Kennung statt einen Pfad adressieren?
Die Kennung bleibt über Laufzeiten und Speicheränderungen hinweg gültig; ein Pfad beschreibt eine bestimmte Implementierung.
Benötigt die Anwendung Zugangsdaten für verbundenen Speicher?
Der Dienst nutzt die konfigurierte Verbindung. Die Anwendung ruft Vorgänge auf, ohne Zugangsdaten zu kopieren.
Ändert SDK 0.2 den Dateiinhalt?
Nein. Die Version klärt öffentliche Ressourcenobjekte und die Referenzen, mit denen Anwendungen auf sie zugreifen.
Was ist der allgemeine Grundsatz?
Der SDK-Vertrag konzentriert sich auf identifizierbare Ressourcen und unterstützte Vorgänge.