โดย Arnav Bansal
ไม่กี่วันมานี้ Prof. Tim Berners-Lee เปิดเผย Project ชื่อ Solid ผมตัดสินใจ Check It Out ใน Article นี้ ผมอธิบายว่า Solid Aim ทำอะไร และวิธี Get Started
Solid คืออะไร?
Solid เป็นความพยายาม Re-decentralize the Web
Re-decentralize?
Back in the day Vision สำหรับ Web คือ Decentralized, Collaborative Read-Wave Space Browser แรก (WorldWideWeb) ก็เป็น Editor ด้วย
แต่เมื่อ Progressed Design ของ Web Applications เริ่ม Centralize ด้วยหลาย Reasons User Data กลายเป็น Source of Power และ Income สำหรับ Internet Companies
Solid เป็น Solution สำหรับนี้
Solid เป็น Paradigm ใหม่สำหรับ Web Applications ที่ Backwards Compatible กับ Existing Web
Solid เป็น Tech Stack กลุ่ม Protocols, Implementations และ Growing Community คล้าย Web
The Separation of App and Data
Pre-Internet Computing Personal Computer Store Your Data
เมื่อ People ใช้ Multiple Computers และเพิ่ม Smartphones "Your Data Stays With You" Model ถูก Replace โดย "Your Data ใน Data Centers ใหญ่ๆ ทั่วโลก Managed by App Developer"
Apps และ Data Coupled ลึก การสร้าง App บน Web ต้อง Manage People's Data at Scale
Apps และ Ability ทำเงินวัดโดย Data Silo Data ของคุณยากต่อ Migrate เพราะ Apps ต่างๆ Store Data แตกต่างกันมาก
Result? เกือบทุก App มี Walled Garden Characteristics ลด Incentives สำหรับ Developers Innovate at App Level Existing Platforms Secured Against Disruption เพราะ Data Lockdown ทำให้ Users ยาก Move
Data Protection Regulations
บาง Countries Enacted Data Protection Laws Companies ต้อง Make Data Available คุณเลือก Download หรือ Delete ได้
พยายาม Return Control Over Data กลับ Users แต่เป็น Legal Prescription ไม่ใช่ Technical Reality User Data ยังอยู่กับ App Developers Ability Download Data ไม่ useful หาก Migrate ไป Alternative ไม่ได้
Pods: Bring Your Own Data
Solid Remedy นี้ทาง Technical Side อนุญาต Apps สร้างแบบ Read/Write Data บน Pod ของคุณ
คุณมี Pod เพื่อนคุณมี Pod Pods Store Your Data คุณ Allow Apps Access Pod ของคุณ
อาจมี Multiple Pods แยก Home และ Work Pod สามารถอยู่บน Computer หรือ Distributed Across Devices หรือ Hosted ให้
Pods Store Linked Data Pod ของคุณ Link ไปสิ่งบน Pod ของผม หรือที่ไหนบน Web
เราอยาก Apps Run Across Devices แต่อยาก Autonomy ของ Data และอยาก Different Apps ใช้ Same Data และ Write ได้
The Ideas Behind Solid
Getting Into Solid เหมือน Starting Web Development จำได้เรียน HTML, CSS, JavaScript, Frameworks พร้อมกัน
ความต่าง: Solid ใหม่ Help หายากกว่า
Day-one Concepts สำหรับเริ่ม Develop สำหรับ Solid:
(PS: ถ้าอยาก Jump In ข้ามไป 'First Steps')
Linked Data
Power ของ Solid และ Web โดยรวม มาจากการ Hyperlink Data เข้าด้วยกัน
ใน Solid คุณ Store Data ที่ Produce ที่ไหนก็ได้ Personal Data น่าจะอยู่บน Pod เรียก Data นี้ใช้ URLs เหมือน Web
นี่เป็นเวลา Introduce Full-form ของ Solid: SOcial LInked Data
อ่าน Linked Data ใน Context ของ Solid
Resource Description Framework (RDF)
RDF เป็นวิธี Represent Linked Data ด้วย Statements รูป subject-predicate-object เรียกว่า Triples
RDF เป็น Abstract Model สามารถ Represent RDF ใน English Sentences ได้ Task บน Todo List:
T1 is a task
T1 is labelled "Write an article about Solid"
T1 is due October 5rd 2018
T1 is assigned to @itsarnavb
T1 is incomplete
Turtle
Turtle เป็น Compact Way Represent RDF Data ใช้ URLs Represent subject, predicate, object
Repetitive และ Hard to Read Turtle มี Prefix และ Shorthand System สำคัญมากกับ Documents ยาว
อ่านเพิ่มเติม Turtle หรือ Check Full Turtle Document ที่นี่ Detailed Public Profile ของ Prof. Ruben Verborgh สมาชิก Solid Team
Semantic Web
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
First Steps
ทำตามลำดับไหนก็ได้ที่เหมาะกับคุณ:
- Get a Pod: Signup Free Pod Provider หรือ Run Own Server (ถ้านั่นเป็น Style ของคุณ)
- Make a Solid App ด้วย Tutorial นี้
- อ่าน Hacks ที่สร้างด้วย Solid
- อ่าน Solid Docs
Go Solid
ช่วย Solid Ecosystem ได้โดย:
- Contribute Development ของ Solid และ Related Infrastructure
- Develop Apps ใช้ Solid

แตระวัง ตอนนี้ Learning และ Developing สำหรับ Solid ต้อง Trial and Error มาก และถาม Silly Questions ไม่มี Stack Overflow ให้ Refer Debug Errors บางอย่างต้อง Dig Into Source
Communities สำหรับ Help:
- r/solid (ผมเป็น Mod หนึ่ง)
- gitter.im/solid
และ DMs เปิด: @itsarnavb จะพยายามตอบทุกคำถามหรือหาใครตอบให้
จะ Keep Article นี้ Up-to-date กับ Best Resources เรียนรู้ Solid
Further Reading
- Solid Website - solid.mit.edu
- Paradigm Shifts for the Decentralized Web - Ruben Verborgh
- One Small Step for the Web - Tim Berners-Lee
เรียนรู้เขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานเป็นนักพัฒนา เริ่มต้นได้เลย