Pear by Holepunch
Pear loads applications remotely from peers and allows anyone to create and share applications with peers.
Pear is an installable Peer-to-Peer (P2P) Runtime, Development & Deployment platform.
Build, share & extend unstoppable, zero-infrastructure P2P applications for Mobile, Desktop & Terminal.
Welcome to the Internet of Peers
– Holepunch, the P2P Company
Documentation
Showcase
Peer-to-Peer applications built on, deployed with, running on Pear.
Terms
API - Application-Programming-Interface
CLI - Command-Line-Interface
link - a
pear://link, afile://link or an absolute/relative dir pathP2P - Peer-to-Peer
Legend
Throughout the documentation, indications of stability are provided. Some modules are well-established and used widely, making them highly unlikely to ever change. Other modules may be new, experimental, or known to have risks associated with their use.
The following stability indices have been used:
stable
Unlikely to change or be removed in the foreseeable future
experimental
New, untested, or has known issues
deprecated
Being removed or replaced in the future
unstable
May change or be removed without warning
Reference
Pear is a native point-to-point peer-to-peer capable platform that consists of a runtime binary, an API, userland modules, a command-line interface, an on-demand daemon and an application shell to provide the capabilities to develop & deploy production P2P applications. With JavaScript and beyond.
Pear's runtime binary is built on Bare, a small and modular JavaScript runtime for desktop and mobile. Like Node.js, it provides an asynchronous, event-driven architecture for writing applications in the lingua franca of modern software. Unlike Node.js, embedding and cross-device are supported as core use cases, aiming to run just as well on mobile as desktop.
Examples
Guides
Guides on using Pear Runtime to build and share peer-to-peer applications.
How-tos
Collection of How-tos using the essential peer-to-peer building-blocks in Pear applications.
Pear Modules
The Pear global API is minimal and not intended as a standard library. Application & Integration libraries are supplied via installable modules prefixed with pear-.
Application Libraries
Pear modules related directly to application environment.
User Interface Libraries
Pear modules that supply User Interface runtime capabilities.
Common Libraries
Pear modules for general usage, including applications per case.
Developer Libraries
Pear modules to assist with developing & debugging
Integration Libraries
Pear modules for runtime integrations. Such as pear-electron.
P2P Modules
Modules that supply point-to-point peer-to-peer connection and storage capabilities.
Building-Block Libraries
The essential building-blocks for building powerful P2P applications using Pear.
Helper Libraries
Helper modules can be used together with the building-blocks to create cutting-edge P2P tools and application-modules.
Bare Modules
Pear's native runtime is Bare. The Bare global API is minimal and not intended as a standard library. Standard runtime functionality is provided via a installable modules. prefixed with bare-.
Compatibility modules for Node.js builtins in Bare can be found in bare-node.
Tools
Beyond the Pear CLI these ecosystem P2P CLI tools are additionally useful for day-to-day development and operations.
Last updated