by Arnav Bansal

通过Arnav Bansal

Tim Berners-Lee重新分散的新Web SOLID简介 (An introduction to SOLID, Tim Berners-Lee’s new, re-decentralized Web)

Recently, Prof. Tim Berners-Lee lifted the veil off a project called Solid. I decided to check it out. In this article, I describe what Solid aims to do, and also how you can get started with it.

最近, Tim Berners-Lee教授揭开了一个名为Solid的项目的面纱。 我决定去看看。 在本文中,我描述了Solid的目标,以及您如何开始使用它。

什么是固体? (What is Solid?)

Solid is an attempt to re-decentralize the web.

Solid尝试重新分散Web的权限。

Re-decentralize?

-下放权力?

Back in the day, the vision for the web was a decentralized, collaborative read-write space. The first browser (called WorldWideWeb) was also an editor.

过去,网络的愿景是去中心化的协作式读写空间。 第一个浏览器(称为WorldWideWeb) 也是编辑器 。

However, as it progressed, the design of web applications began to centralize for a variety of reasons. User data became the source of power and income for Internet companies.

但是,随着它的发展,由于各种原因,Web应用程序的设计开始集中。 用户数据成为互联网公司权力和收入的来源。

Solid is a solution to this.

固态解决方案。

Solid is a new paradigm for web applications, one that is backwards compatible with the existing web.

Solid是Web应用程序的一种新范例,它与现有Web向后兼容。

Solid is a tech stack, a group of related protocols, implementations, and a growing community. Much like the web.

Solid是一个技术堆栈,一组相关协议,实现和一个不断发展的社区。 很像网络。

应用程序和数据的分离 (The separation of app and data)

In pre-internet computing, your personal computer stored your data.

在预互联网计算中,您的个人计算机存储了您的数据。

As people began using multiple computers, and added smartphones to their lives, the “your data stays with you” model was replaced by “Your data is in one or more massive data centers around the world, managed by the app developer”.

当人们开始使用多台计算机并将智能手机添加到生活中时,“您的数据随身携带”模型被“您的数据位于应用程序开发人员管理的全球一个或多个大型数据中心”所取代。

And so, applications were deeply coupled with their data. Creating an application on the web entails managing people’s data at scale.

因此,应用程序与数据紧密耦合。 在Web上创建应用程序需要大规模管理人员数据。

Apps and their ability to make money are measured by their data silo. Your data is difficult to migrate, since different apps store your data very differently.

应用及其赚钱的能力由其数据孤岛来衡量。 您的数据难以迁移,因为不同的应用程序存储数据的方式非常不同。

The result? Almost every app has walled garden characteristics. This reduces incentives for developers to innovate at the app level. Existing platforms are secured against disruption, since the data lockdown makes it hard for users to move.

结果? 几乎每个应用程序都具有围墙花园的特色。 这减少了开发人员在应用程序级别进行创新的动机。 由于数据锁定使用户难以移动,因此确保了现有平台不会受到破坏。

数据保护法规 (Data protection regulations)

Some countries have enacted data protection laws. Companies must make your data available, and you can chose to download or delete it.

一些国家颁布了数据保护法。 公司必须提供您的数据,您可以选择下载或删除它。

This attempts to return control over data back to users. But it’s a legal prescription, and not the technical reality. User data still lies with app developers, and the ability to download your data isn’t very useful if you can’t migrate to an alternative.

这试图将对数据的控制权返回给用户。 但这是法律规定,而不是技术现实。 用户数据仍然由应用程序开发人员掌握,如果您不能迁移到其他版本,则下载数据的能力不是很有用。

吊舱:携带自己的数据 (Pods: Bring your own data)

Solid remedies this on the technical side. It allows applications to be built in a way where they read and write data stored on your pod.

Solid在技术方面对此进行了补救。 它允许以读写存储在pod上的数据的方式构建应用程序。

You have a pod. Your friends have a pod. Pods store your data. You allow apps to access your pod.

你有一个豆荚。 您的朋友有一个豆荚。 Pod存储您的数据。 您允许应用访问您的广告连播。

Maybe you have multiple pods. Perhaps separate ones for home and work. Your pod can live on your computer, or be distributed across your devices. Or it could be hosted for you.

也许您有多个豆荚。 也许是分开的家庭和工作场所。 您的广告连播可以驻留在您的计算机上,也可以分布在各个设备上。 或者可以为您托管。

And pods store linked data. Your pod can link to something on my pod, or anywhere on the web.

Pod存储链接的数据 。 您的广告连播可以链接到我的广告连播或网络上的任何内容。

We want applications that run across our devices. But we also want autonomy of our data. And we want the ability for different apps to use the same data and write to it.

我们希望在设备上运行的应用程序。 但是我们也想要数据的自治。 我们希望不同的应用程序能够使用相同的数据并写入数据。

Solid背后的想法 (The ideas behind Solid)

Getting into Solid reminded me of starting out with web development. I remember learning HTML, CSS, JavaScript, and the frameworks of the day, all at the same time.

进入Solid使我想起了Web开发的开始。 我记得同时学习HTML,CSS,JavaScript和当天的框架。

The only difference: Solid is new, and help is harder to find.

唯一的区别:Solid是新的,很难找到帮助。

Here’s a collection of day-one concepts you’ll want to know to get started developing for Solid:

这是您要开始为Solid开发所需的第一天概念的集合:

(PS: if you just wanna jump in, skip ahead to ‘First steps’)

(PS:如果您只是想加入,请跳至“第一步”)

关联数据 (Linked data)

The power of the Solid, and the web generally, is from the way data is hyperlinked together.

Solid和整个Web的力量来自于数据超链接在一起的方式。

In Solid, you store the data you produce wherever you want. Your personal data likely resides on your pod. To refer to this data, you use URLs, like on the web.

在Solid中,您可以将所需的数据存储在任何地方。 您的个人数据可能驻留在您的pod上。 要引用此数据,您可以像在网络上一样使用URL。

This is also a good time to introduce the full-form of Solid: SOcial LInked Data.

这也是引进的固体满形式的好时机:SO官方 nked d ATA。

Read about Linked Data in the context of Solid

阅读有关Solid上下文中的链接数据的信息

资源描述框架 (Resource Description Framework)

RDF is a way to represent linked data with statements of the form subject-predicate-object. These are also called triples.

RDF是一种表示形式为subject-predicate-object语句的链接数据的方法。 这些也称为三元组。

RDF is an abstract model. You could even represent RDF in English sentences. Here’s a task on a Todo list:

RDF是一个抽象模型。 您甚至可以用英语句子代表RDF。 这是待办事项列表上的任务:

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

(Turtle)

Turtle is a compact way of representing RDF data, using URLs to represent subject, predicate and object.

Turtle是一种表示RDF数据的紧凑方式,它使用URL表示subjectpredicateobject

That’s repetitive and hard to read, so turtle has a prefix and shorthand system. This gets especially important with longer documents.

这是重复的且难以阅读,因此turtle具有前缀和速记系统。 这对于较长的文档尤为重要。

You can read more about turtle. Or you could check out a full turtle document here. It’s a detailed public profile of Prof. Ruben Verborgh, who’s a part of the Solid team.

您可以阅读有关乌龟的更多信息。 或者,您可以在此处查看完整的乌龟文档。 这是Solid团队成员Ruben Verborgh教授的详细公开资料。

语义网 (Semantic web)

Tim Berners-Lee best explains this:

蒂姆·伯纳斯·李(Tim Berners-Lee)对此做了最好的解释:

I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web - the content, links, and transactions between people and computers. A “Semantic Web”, which makes this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The “intelligent agents” people have touted for ages will finally materialize

我对Web(在其中的计算机)能够分析Web上的所有数据(人与计算机之间的内容,链接和事务)具有梦想。 使得这成为可能的“语义网”尚未出现,但是当它实现时,将通过与机器对话的机器来处理日常的贸易,官僚主义和我们的日常生活机制。 人们吹捧了很久的“ 聪明人”最终将实现

第一步 (First steps)

Do these, in any order that works for you.

按照适合您的顺序进行操作。

  • Get a pod: Signup with any free pod provider, or run your own server (if that’s your thing).

    获取Pod :使用任何免费的Pod提供程序进行注册,或运行自己的服务器(如果那是您的事)。

  • Make a Solid app with this tutorial

    通过本教程制作Solid应用

  • Read about these hacks made with Solid

    了解有关Solid的这些技巧

  • Read the Solid docs

    阅读Solid文档

坚如磐石 (Go Solid)

You can help out the Solid ecosystem by

您可以通过以下方式为Solid生态系统提供帮助

  • contributing to the development of Solid itself, and related infrastructure.为Solid本身以及相关基础设施的发展做出了贡献。
  • developing apps using Solid.使用Solid开发应用程序。

But beware, at the moment, learning and developing for Solid requires a lot of trial and error, and asking potentially silly questions. There’s no Stack Overflow to refer to. Debugging some errors might require you to dig into the source.

但是请注意,目前,为Solid学习和开发需要大量的试验和错误,并提出潜在的愚蠢问题。 没有要引用的堆栈溢出。 调试一些错误可能需要您深入研究源代码。

Here are the communities where you can get help:

以下是您可以获得帮助的社区:

  • r/solid (I’m one of the mods)

    r / solid (我是mod之一)

  • gitter.im/solid

    gitter.im/固体

And finally, my DMs are open: @itsarnavb. I’ll try to answer every question I get, or find someone who can.

最后,我的DM已打开: @itsarnavb 。 我将尽力回答我遇到的每个问题,或者找到可以回答的人。

And I’ll keep this article up to date with the best resources to learn about Solid.

而且,我将为本文提供最新的最佳资源,以了解有关Solid的知识。

进一步阅读 (Further Reading)

  • Solid website - solid.mit.edu

    实体网站-solid.mit.edu

  • Paradigm shifts for the decentralized web - Ruben Verborgh

    分散式网络的范式转变-Ruben Verborgh

  • One Small Step for the Web - Tim Berners-Lee

    互联网的一小步-Tim Berners-Lee

翻译自: https://www.freecodecamp.org/news/an-introduction-to-solid-tim-berners-lees-new-re-decentralized-web-25d6b78c523b/

Tim Berners-Lee重新分散的新Web SOLID简介相关推荐

  1. [golang Web开发] 1.golang web开发:简介以及web服务器的搭建以及http协议简介

    一.web开发简介 1.简介 Web应用在我们的生活中无处不在,看看我们日常使用的各个应用程序,它们要么是 Web应用,要么是移动 App 这类 web应用的变种,无论哪一种编程语言,只要它能够开发出 ...

  2. 如何安装和使用Ubuntu的新Web应用功能

    Install Ubuntu's new web app feature – included by default in the upcoming Ubuntu 12.10 – to see unr ...

  3. web安全简介_Web安全:HTTP简介

    web安全简介 by Alex Nadalin 通过亚历克斯·纳达林 Web安全:HTTP简介 (Web Security: an introduction to HTTP) This is part ...

  4. 《jQuery与JavaScript入门经典》——第 1 章 动态Web编程简介 1.1理解Web服务器浏览器范式...

    本节书摘来自异步社区<jQuery与JavaScript入门经典>一书中的第1章,第1.1节,作者:[美]Brad Dayley著,更多章节内容可以访问云栖社区"异步社区&quo ...

  5. 第一章 Web MVC简介 —— 跟开涛学SpringMVC

    第一章 Web MVC简介 -- 跟开涛学SpringMVC Web MVC简介 1.1.Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1.  Web浏览器(如IE)发起请求,如访问 ...

  6. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  7. JavaScript(五)—— Web APIs 简介/JavaScript 必须掌握的 DOM 操作 (丰富案例 + 思维导图)

    本篇为 JavaScript 系列笔记第五篇,将陆续更新后续内容.参考:黑马程序员JavaScript核心教程,前端基础教程 系列笔记: JavaScript(一)-- 初识JavaScript / ...

  8. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We

    第一章 Web MVC简介 -- 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1.Web ...

  9. Palm Web OS 简介

    http://www.cnblogs.com/vaiyanzi/archive/2010/04/05/1704650.html Palm Web OS 简介 1.简介 Palm WebOS是新一代操作 ...

最新文章

  1. python登录网站后爬取数据_用 Python 登录主流网站,我们的数据爬取少不了它
  2. 斑能不能彻底去掉_小龙虾的头、虾黄到底能不能吃?赶紧告诉身边人......
  3. 初探swift语言的学习笔记十一(performSelector)
  4. luogu P1058 立体图
  5. 最简洁的js鼠标拖曳效果【原】
  6. 很不错的Windows 控件 Developer Express Inc.NET
  7. Nginx【学习笔记】
  8. 深入实践Spring Boot1.3 使用Spring Boot
  9. 【英语学习】【Level 07】U08 Old Stories L3 Lights, camera, action!
  10. Java经典实例:进阶版堆栈实现,支持任何对象类型
  11. php红包平均分配,红包平均分配算法
  12. mysql隔离性与隔离级别
  13. pytorch--- .zero_grad()
  14. PTA甲级15进制转换
  15. 【优化算法】广义正态分布优化算法(GNDO)【含Matlab源码 1531期】
  16. 2、进入缓冲区(缓存)的世界,破解一切与输入输出有关的疑难杂症(转载自C语言中文网,仅作学习笔记)
  17. 使用gulp构建一个项目
  18. 软件测试零基础如何快速入门 ?这里有全网最详细的学习资料
  19. xx-xx-xx-xx转换成x年x月x日星期x
  20. Navigation Controllers + UITabBarController

热门文章

  1. iOS 9 适配系列教程
  2. 小程序客服自动回复图片,云开发的实现
  3. 拥有2000家门店,他如何晋升为服装界的新宠?
  4. nginx技术(2)nginx的配置详解
  5. [转]CSS hack大全详解
  6. Android app 别用中文名
  7. (转)AppCan中调用系统浏览器打开网页
  8. Eclipse生成jar文件
  9. 微软虚拟化解决方案课件
  10. SQLI DUMB SERIES-5