En introduktion til SOLID, Tim Berners-Lees nye, re-decentrale web

For nylig løftede professor Tim Berners-Lee sløret af et projekt kaldet Solid. Jeg besluttede at tjekke det ud. I denne artikel beskriver jeg, hvad Solid sigter mod at gøre, og også hvordan du kan komme i gang med det.

Hvad er solid?

Solid er et forsøg på at re-decentralisere internettet.

Re - decentralisere?

Tilbage på dagen var visionen for Internettet et decentraliseret, samarbejdsvilligt læse-skrive-rum. Den første browser (kaldet WorldWideWeb) var også redaktør.

Men da det skred frem, begyndte designet af webapplikationer at blive centraliseret af forskellige årsager. Brugerdata blev kilden til magt og indkomst for internetfirmaer.

Solid er en løsning på dette.

Solid er et nyt paradigme for webapplikationer, et der er bagudkompatibelt med det eksisterende web.

Solid er en tech stack, en gruppe af relaterede protokoller, implementeringer og et voksende samfund. Meget ligesom internettet.

Adskillelsen af ​​app og data

I pre-internet computing lagrede din personlige computer dine data.

Da folk begyndte at bruge flere computere og tilføjede smartphones til deres liv, blev "dine data forbliver hos dig" -modellen erstattet af "Dine data findes i et eller flere massive datacentre rundt om i verden, administreret af appudvikleren".

Og så blev applikationer dybt koblet med deres data. Oprettelse af en applikation på nettet indebærer styring af folks data i målestok.

Apps og deres evne til at tjene penge måles ved hjælp af deres datasilo . Dine data er vanskelige at migrere, da forskellige apps gemmer dine data meget forskelligt.

Resultatet? Næsten hver app har murede haveegenskaber. Dette reducerer incitamenter for udviklere til at innovere på app-niveau. Eksisterende platforme er sikret mod forstyrrelser, da datalåsning gør det svært for brugerne at bevæge sig.

Databeskyttelsesbestemmelser

Nogle lande har vedtaget databeskyttelseslove. Virksomheder skal stille dine data til rådighed, og du kan vælge at downloade eller slette dem.

Dette forsøger at returnere kontrol over data tilbage til brugerne. Men det er en lovlig recept og ikke den tekniske virkelighed. Brugerdata ligger stadig hos appudviklere, og muligheden for at downloade dine data er ikke særlig nyttig, hvis du ikke kan migrere til et alternativ.

Bælg: Medbring dine egne data

Solide afhjælper dette på den tekniske side. Det gør det muligt at bygge applikationer på en måde, hvor de læser og skriver data, der er gemt på din pod .

Du har en bælg. Dine venner har en pod. Pods gemmer dine data. Du giver apps adgang til din pod.

Måske har du flere bælg. Måske adskilte dem til hjemmet og arbejdet. Din pod kan leve på din computer eller distribueres på tværs af dine enheder. Eller det kan være vært for dig.

Og bælg gemmer sammenkædede data . Din pod kan linke til noget på min pod eller hvor som helst på nettet.

Vi ønsker applikationer, der kører på tværs af vores enheder. Men vi vil også have autonomi for vores data. Og vi vil have forskellige apps mulighed for at bruge de samme data og skrive til det.

Idéerne bag Solid

At komme ind i Solid mindede mig om at starte med webudvikling. Jeg husker, at jeg lærte HTML, CSS, JavaScript og dagens rammer alt sammen på samme tid.

Den eneste forskel: Solid er ny, og hjælp er sværere at finde.

Her er en samling dag-en-koncepter, du vil vide for at komme i gang med at udvikle for Solid:

(PS: Hvis du bare vil springe ind, skal du springe videre til 'Første trin')

Sammenkædede data

Effekten af ​​det faste og generelt internettet er fra den måde, hvorpå data hyperlinkes sammen.

I Solid gemmer du de data, du producerer, hvor du vil. Dine personlige data findes sandsynligvis på din pod. For at henvise til disse data bruger du URL'er som på nettet.

Dette er også et godt tidspunkt at introducere den fulde form af Solid: SO cial LI nked D ata.

Læs om sammenkædede data i sammenhæng med Solid

Ramme for ressourcebeskrivelse

RDF er en måde at repræsentere sammenkædede data med formularerklæringer på subject-predicate-object. Disse kaldes også tredobler.

RDF er en abstrakt model. Du kan endda repræsentere RDF i engelske sætninger. Her er en opgave på en 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

Skildpadde

Turtle er en kompakt måde at repræsentere RDF-data ved hjælp af URL'er til at repræsentere subject, predicateog object.

Det er gentagne og svært at læse, så skildpadden har et præfiks og stenografisystem. Dette bliver især vigtigt med længere dokumenter.

Du kan læse mere om skildpadde. Eller du kan tjekke et komplet skildpaddedokument her. Det er en detaljeret offentlig profil af prof. Ruben Verborgh, der er en del af Solid-teamet.

Semantisk web

Tim Berners-Lee forklarer bedst dette:

Jeg har en drøm for Internettet [hvor computere] bliver i stand til at analysere alle data på Internettet - indholdet, linkene og transaktionerne mellem mennesker og computere. Et ”semantisk web”, der gør dette muligt, skal endnu ikke opstå, men når det sker, håndteres de daglige mekanismer for handel, bureaukrati og vores daglige liv af maskiner, der taler med maskiner. De "intelligente agenter", som folk har udråbt i årevis, vil endelig materialisere sig

Første trin

Gør disse i enhver rækkefølge, der fungerer for dig.

  • Få en pod: Tilmeld dig en hvilken som helst gratis pod-udbyder, eller kør din egen server (hvis det er din ting).
  • Lav en solid app med denne vejledning
  • Læs om disse hacks lavet med Solid
  • Læs de faste dokumenter

Gå fast

Du kan hjælpe det solide økosystem ved at

  • bidrage til udviklingen af ​​selve Solid og tilhørende infrastruktur.
  • udvikling af apps ved hjælp af Solid.

Men pas på i øjeblikket, at lære og udvikle for Solid kræver en masse prøving og fejl og at stille potentielt dumme spørgsmål. Der er ingen Stack Overflow at henvise til. Fejlretning af nogle fejl kan kræve, at du graver ind i kilden.

Her er de samfund, hvor du kan få hjælp:

  • r / solid (jeg er en af ​​moderne)
  • gitter.im/solid

Og endelig er mine DM'er åbne: @itsarnavb. Jeg prøver at besvare alle spørgsmål, jeg får, eller finde nogen, der kan.

Og jeg holder denne artikel opdateret med de bedste ressourcer til at lære om Solid.

Yderligere læsning

  • Solid hjemmeside - solid.mit.edu
  • Paradigmeskift til det decentrale web - Ruben Verborgh
  • Et lille skridt på nettet - Tim Berners-Lee