Eine Einführung in SOLID, Tim Berners-Lees neues, re-dezentrales Web

Kürzlich hat Prof. Tim Berners-Lee den Schleier von einem Projekt namens Solid gelöst. Ich beschloss, es auszuprobieren. In diesem Artikel beschreibe ich, was Solid vorhat und wie Sie damit beginnen können.

Was ist fest?

Solid ist ein Versuch, das Web neu zu dezentralisieren.

Re - decentralize?

Früher war die Vision für das Web ein dezentraler, kollaborativer Lese- / Schreibbereich. Der erste Browser (WorldWideWeb genannt) war ebenfalls ein Editor.

Im Laufe der Zeit begann sich das Design von Webanwendungen aus verschiedenen Gründen zu zentralisieren. Benutzerdaten wurden zur Strom- und Einnahmequelle für Internetunternehmen.

Solid ist eine Lösung dafür.

Solid ist ein neues Paradigma für Webanwendungen, das abwärtskompatibel mit dem vorhandenen Web ist.

Solid ist ein Tech-Stack, eine Gruppe verwandter Protokolle, Implementierungen und eine wachsende Community. Ähnlich wie im Web.

Die Trennung von App und Daten

Beim Pre-Internet-Computing hat Ihr PC Ihre Daten gespeichert.

Als die Menschen begannen, mehrere Computer zu verwenden und ihr Leben um Smartphones zu erweitern, wurde das Modell "Ihre Daten bleiben bei Ihnen" durch "Ihre Daten befinden sich in einem oder mehreren riesigen Rechenzentren auf der ganzen Welt, die vom App-Entwickler verwaltet werden" ersetzt.

Daher waren Anwendungen eng mit ihren Daten verbunden. Um eine Anwendung im Web zu erstellen, müssen die Daten von Personen in großem Maßstab verwaltet werden.

Apps und ihre Fähigkeit, Geld zu verdienen, werden an ihrem Datensilo gemessen . Ihre Daten sind schwer zu migrieren, da verschiedene Apps Ihre Daten sehr unterschiedlich speichern.

Das Ergebnis? Fast jede App hat ummauerte Gartenmerkmale. Dies verringert die Anreize für Entwickler, auf App-Ebene zu innovieren. Bestehende Plattformen sind gegen Störungen geschützt, da die Datensperrung den Benutzern das Verschieben erschwert.

Datenschutzbestimmungen

Einige Länder haben Datenschutzgesetze erlassen. Unternehmen müssen Ihre Daten zur Verfügung stellen, und Sie können sie herunterladen oder löschen.

Dadurch wird versucht, die Kontrolle über die Daten an die Benutzer zurückzugeben. Aber es ist ein gesetzliches Rezept und nicht die technische Realität. Benutzerdaten liegen immer noch bei App-Entwicklern, und die Möglichkeit, Ihre Daten herunterzuladen, ist nicht sehr nützlich, wenn Sie nicht auf eine Alternative migrieren können.

Pods: Bringen Sie Ihre eigenen Daten mit

Solide Abhilfe schafft dies auf der technischen Seite. Damit können Anwendungen so erstellt werden, dass sie auf Ihrem Pod gespeicherte Daten lesen und schreiben .

Du hast eine Kapsel. Deine Freunde haben eine Kapsel. Pods speichern Ihre Daten. Sie erlauben Apps den Zugriff auf Ihren Pod.

Vielleicht haben Sie mehrere Pods. Vielleicht getrennte für Zuhause und Arbeit. Ihr Pod kann auf Ihrem Computer installiert oder auf Ihre Geräte verteilt werden. Oder es könnte für Sie gehostet werden.

Und Pods speichern verknüpfte Daten . Ihr Pod kann auf etwas in meinem Pod oder irgendwo im Web verlinken.

Wir möchten Anwendungen, die auf unseren Geräten ausgeführt werden. Wir wollen aber auch Autonomie unserer Daten. Und wir möchten, dass verschiedene Apps dieselben Daten verwenden und darauf schreiben können.

Die Ideen hinter Solid

Der Einstieg in Solid erinnerte mich daran, mit der Webentwicklung zu beginnen. Ich erinnere mich, dass ich gleichzeitig HTML, CSS, JavaScript und die Frameworks des Tages gelernt habe.

Der einzige Unterschied: Solid ist neu und Hilfe ist schwerer zu finden.

Hier ist eine Sammlung von Konzepten für den ersten Tag, die Sie kennenlernen möchten, um mit der Entwicklung für Solid zu beginnen:

(PS: Wenn Sie nur hineinspringen möchten, fahren Sie mit 'Erste Schritte' fort.)

Verknüpfte Daten

Die Stärke des Solid und des Webs im Allgemeinen beruht auf der Art und Weise, wie Daten miteinander verknüpft werden.

In Solid speichern Sie die von Ihnen erzeugten Daten, wo immer Sie möchten. Ihre persönlichen Daten befinden sich wahrscheinlich in Ihrem Pod. Um auf diese Daten zu verweisen, verwenden Sie URLs wie im Web.

Dies ist auch ein guter Zeitpunkt, um die vollständige Form von Solid: SO cial LI nked D ata einzuführen .

Lesen Sie mehr über verknüpfte Daten im Kontext von Solid

Ressourcenbeschreibungs-Framework

RDF ist eine Möglichkeit, verknüpfte Daten mit Anweisungen des Formulars darzustellen subject-predicate-object. Diese werden auch Tripel genannt.

RDF ist ein abstraktes Modell. Sie könnten RDF sogar in englischen Sätzen darstellen. Hier ist eine Aufgabe auf einer Todo-Liste:

T1 is a taskT1 is labelled "Write an article about Solid"T1 is due October 5rd 2018T1 is assigned to @itsarnavbT1 is incomplete

Schildkröte

Schildkröte ist eine kompakte Art und Weise RDF - Daten zu repräsentieren, unter Verwendung von URLs zu repräsentieren subject, predicateund object.

Das ist repetitiv und schwer zu lesen, daher hat die Schildkröte ein Präfix- und Kurzschriftsystem. Dies ist besonders wichtig bei längeren Dokumenten.

Sie können mehr über Schildkröte lesen. Oder Sie können sich hier ein vollständiges Schildkröten-Dokument ansehen. Es ist ein detailliertes öffentliches Profil von Prof. Ruben Verborgh, der Teil des Solid-Teams ist.

Semantic Web

Tim Berners-Lee erklärt dies am besten:

Ich habe einen Traum für das Web [in dem Computer] in der Lage sind, alle Daten im Web zu analysieren - Inhalte, Links und Transaktionen zwischen Menschen und Computern. Ein „Semantic Web“, das dies ermöglicht, muss noch entstehen, aber wenn dies der Fall ist, werden die alltäglichen Mechanismen des Handels, der Bürokratie und unseres täglichen Lebens von Maschinen verwaltet, die mit Maschinen sprechen. Die "intelligenten Agenten", die Menschen seit Ewigkeiten angepriesen haben, werden endlich eintreten

Erste Schritte

Tun Sie dies in einer für Sie geeigneten Reihenfolge.

  • Holen Sie sich einen Pod: Melden Sie sich bei einem kostenlosen Pod-Anbieter an oder betreiben Sie Ihren eigenen Server (falls dies Ihr Ding ist).
  • Erstellen Sie mit diesem Tutorial eine solide App
  • Lesen Sie mehr über diese mit Solid erstellten Hacks
  • Lesen Sie die Solid-Dokumente

Gehen Sie solide

Sie können dem Solid-Ökosystem helfen, indem Sie

  • Beitrag zur Entwicklung von Solid selbst und der damit verbundenen Infrastruktur.
  • Entwickeln von Apps mit Solid.

Aber Vorsicht, im Moment erfordert das Lernen und Entwickeln für Solid viel Versuch und Irrtum und das Stellen möglicherweise alberner Fragen. Es gibt keinen Stapelüberlauf, auf den Bezug genommen werden kann. Zum Debuggen einiger Fehler müssen Sie möglicherweise in die Quelle eintauchen.

Hier sind die Communities, in denen Sie Hilfe erhalten können:

  • r / solid (ich bin einer der Mods)
  • gitter.im/solid

Und schließlich sind meine DMs offen: @itsarnavb. Ich werde versuchen, jede Frage zu beantworten oder jemanden zu finden, der das kann.

Und ich werde diesen Artikel mit den besten Ressourcen auf dem neuesten Stand halten, um mehr über Solid zu erfahren.

Weiterführende Literatur

  • Solide Website - solid.mit.edu
  • Paradigmenwechsel für das dezentrale Web - Ruben Verborgh
  • Ein kleiner Schritt für das Web - Tim Berners-Lee