ActivityPub: Programming for the Social Web (Final Release)КНИГИ » ПРОГРАММИНГ
Название: ActivityPub: Programming for the Social Web (Final Release) Автор: Evan Prodromou Издательство: O’Reilly Media, Inc. Год: 2024 Страниц: 364 Язык: английский Формат: True/Retail PDF, True EPUB (Retail Copy) Размер: 10.1 MB
ActivityPub is the new standard for connecting social networks together on the social web. This open, decentralized social networking protocol defines an API for sharing activities to a social network and a procedure that servers use to distribute those activities to a subscriber's feed. With this book, you'll learn how to assemble ActivityPub-enabled clients for making new kinds of social apps on top of existing networks and build ActivityPub servers that create new human or automated accounts on the social web.
With those skills under your belt, you can explore other applications of this publish-subscribe technology: content management systems, internet of things, and enterprise automation. With hands-on examples and in-depth knowledge from Evan Prodromou, one of the authors of the protocol, this is the ActivityPub handbook that every social software hacker needs.
There are hundreds of millions of Web servers on the Internet today – each with its own menagerie of server software, programming languages, databases, file formats, network structures, APIs, and data feeds. But every one of those servers supports a simple (well... kinda simple) set of standards – like HTML5, CSS, and jаvascript – to give users a rich, fascinating experience in the browser. And with links, browser users can move effortlessly between Web servers without anyone locking them in.
The social web applies the idea of internetworking to the realm of social software. It is a collection of social networks that allows users to make connections across network boundaries. A user on one network can follow a user on a different network and get the same updates in their home feed, as if they were on the same network. On the social web, people can post images, videos, and short and long text; they can comment, like, and share; they can make jokes, have difficult discussions, and remember what matters most in life. As of this writing, there are tens of millions of users on the social web. And because anyone can join, there are tens of thousands of social network servers – some with hundreds of thousands of users, others with only a single person. Some are commercial ventures; others are run by volunteers; still others are cooperatives or nonprofits. Many of these networks run open source software like Mastodon, WordPress, Pleroma, or Firefish and connect together with open standards.
The goal of this book is to teach you how to use the standards of the social web to make cool software and help human beings connect in fascinating ways. You can use social web technologies to connect an existing project to the social web, or you can start something new from scratch. You can make a tool that only a few people will use or something that changes how people live their lives, online and off. Let’s take a quick look at the main relevant standards for social web software: Activity Streams 2.0 for data, the ActivityPub federation protocol for server interconnection, and the ActivityPub API for client-to-server programming.
Learn what the social web is and what ActivityPub does Represent social network data in the Activity Streams 2.0 format Write a simple ActivityPub client and server Extend ActivityPub's functionality with new types Find in-depth details about the more obscure ActivityPub data structures
Prerequisites: This book uses many examples in jаvascript Object Notation (JSON), jаvascript, and Python. Each language gets a brief description when it is introduced, but familiarity with JSON as a data format, and jаvascript and Python as programming languages, will be a big help in understanding the examples. However, I try not to use too many fancy features of each language, so if you’re familiar with any modern programming language, you should be able to puzzle out the examples.
It can help to be familiar with the architecture of the web, including how Hypertext Transfer Protocol (HTTP) works and how Hypertext Markup Language (HTML) pages are developed. Experience with application programming interfaces (APIs), especially APIs for social networks like X or Facebook, can be helpful to understand the motivation for some examples but isn’t strictly required.
Audience: This book is primarily for software developers interested in creating ActivityPub client or server software. It could also be useful for software architects or designers who are considering how to structure an ActivityPub-centric project.
Скачать ActivityPub: Programming for the Social Web (Final Release)