Pear Runtime: Aplicaciones de alta escala sin infraestructura

Rate this content
Bookmark

Presentamos Pear, una herramienta combinada de tiempo de ejecución, desarrollo e implementación de igual a igual. Construye, comparte y amplía aplicaciones de igual a igual sin infraestructura. Bienvenido a Internet de los Pares. Consulta docs.pears.com.

This talk has been presented at JSNation 2024, check out the latest edition of this JavaScript Conference.

David Mark Clements
David Mark Clements
8 min
13 Jun, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Pear Runtime es un tiempo de ejecución completamente de igual a igual que opera en dispositivos de usuario, sin datos almacenados en la nube. Pear es una herramienta de desarrollo e implementación que permite crear y ejecutar aplicaciones de igual a igual en dispositivos de usuario. Pear es una plataforma para construir aplicaciones de terminal, escritorio y móviles, proporcionando todas las herramientas y recursos necesarios. Ofrece seguridad de datos inherente y utiliza un algoritmo de perforación de agujeros para conectar pares. Pear está diseñado para simplicidad y verdadera seguridad.

1. Introducción a Pair Runtime

Short description:

Pair Runtime es un tiempo de ejecución completamente peer-to-peer que opera en dispositivos de usuario, sin datos almacenados en la nube. Es de código abierto y se puede instalar utilizando MPX Pair. La CLI permite ejecutar aplicaciones construidas en Pair, como la aplicación de mensajería Keet, que está disponible en la App Store y Google Play Store y no recopila datos.

Mi nombre es David, y soy el creador, junto con mi equipo, de Pair Runtime. Esto se trata de aplicaciones de alta escala sin infraestructura, pero también es un llamado a la humanidad de alguna manera.

Permíteme preguntar esto. ¿Cuál es el resultado neto de todas nuestras actividades humanas, hablando sistemáticamente? ¿A dónde nos está llevando?

Pair es un tiempo de ejecución peer-to-peer. Con peer-to-peer, me refiero completamente peer-to-peer. Estado local, no como blockchain que es estado global y federado, sino literalmente peer-to-peer. Los data viven en los dispositivos de usuario y solo en los dispositivos de usuario. Sin cloud. Nada. Solo los pares. Para demostrar que es lo que decimos que es, Pair es de código abierto. Ha sido de código abierto desde febrero. Puedes revisar todo el code y verificar que es, de hecho, peer-to-peer y que no se están recopilando datos porque en realidad no se puede. No se puede.

Si tienes Node instalado, puedes iniciar Pair de inmediato con MPX Pair. Esto instala un pequeño script de Node que inicia Pair desde los pares. Pair no es Node. Es algo propio. Puedes usar MPX Pair para instalar Pair desde los pares en cualquier momento que desees. Como dije, es completamente de código abierto, así que siéntete libre de revisar antes de hacerlo.

Es un tiempo de ejecución. Instala una CLI. La CLI tiene un comando de ejecución, pair run, el protocolo Pair y luego una clave. Esa clave es un tema en una tabla hash distribuida, una tabla hash distribuida global que permite a los pares descubrirse y conectarse directamente.

Si tienes Pair instalado, puedes ejecutar pair run pair keet. Esto abrirá la aplicación Keet. Esta es una aplicación que se ha construido en Pair para la mensajería. Se ejecuta en escritorio y móvil. Puedes escanear este código QR para obtenerlo en el móvil en la Play Store y la App Store. Cuando busques en la App Store y Play Store, verás que tanto Apple como Google han verificado que la aplicación no recopila datos.

2. Pair Development and Deployment

Short description:

Pair es una herramienta de desarrollo e implementación que permite crear y ejecutar aplicaciones Pair en dispositivos de usuario. Es un tiempo de ejecución de JavaScript llamado Bear, que admite primitivas P2P y permite ejecutar módulos nativos. Pair es una plataforma.

Pair es una herramienta de desarrollo. Es una herramienta de CLI que puedes usar para crear aplicaciones Pair. Estos son los comandos de desarrollo. Pair init para crear un proyecto Pair, Pair stage que copia el estado del sistema de archivos en una estructura P2P llamada HyperCore, y Pair run, que puedes usar para ejecutar tanto carpetas locales como claves de la DHT, claves de aplicaciones. Nuevamente, aquí no hay infraestructura involucrada. Solo son pares que se comunican entre sí. Las aplicaciones se cargan desde los pares.

Pair es una herramienta de implementación. Estos son algunos de los comandos de implementación. Pair seed. Siembra el estado P2P en la DHT, en la tabla hash distribuida, y permite a otros ejecutar desde esa semilla. Si piensas en BitTorrent, es como un BitTorrent de próxima generación, pero las aplicaciones son representaciones, vistas materializadas de registros de solo anexado que luego se comparten entre los pares. Pair stage es una herramienta de implementación porque es cómo haces el lanzamiento. Todo depende de si compartes tu clave. Puedes tener una clave pública, puedes tener una clave privada para las aplicaciones, una clave interna por ejemplo. Pair release marca lanzamientos en un núcleo. Los núcleos tienen longitudes, y cada vez que haces un stage, tiene una nueva longitud, y eso te da una nueva versión, para que puedas establecer longitudes para lanzamientos específicos. Pair es un tiempo de ejecución de JavaScript. No solo está escrito en JavaScript, sino que también es literalmente un tiempo de ejecución de JavaScript porque Pair es Bear. Bear es otro proyecto que hemos creado en HolePunch junto con Pair. Surgieron juntos. Es un tiempo de ejecución de JavaScript mínimo para escritorio y móvil. Lo usamos tanto en nuestra aplicación móvil como en nuestra aplicación de escritorio. Nos estamos moviendo hacia una arquitectura en la que tanto la aplicación de escritorio como la de móvil ejecutan el mismo código exacto en un worker, y luego las interfaces de usuario se comunican con ellos, y ese código se ejecuta en Bear. Es un tiempo de ejecución similar a Node muy rápido con soporte de primera clase para primitivas P2P. Por lo tanto, Pair también es un tiempo de ejecución nativo, además de ser un tiempo de ejecución de JavaScript. Puedes ejecutar módulos nativos con Bear. Puedes escribir directamente en C, compartirlo y otros pueden ejecutarlo desde ti como pares. Sin infraestructura, sin cloud, nada, solo los pares.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
BUN is a modern all-in-one JavaScript runtime environment that achieves new levels of performance. It includes BUN dev, a fast front-end dev server, BUN install, a speedy package manager, and BUN run, a fast package runner. BUN supports JSX, has optimized React server-side rendering, and offers hot module reloading on the server. The priorities for BUN include stability, node compatibility, documentation improvement, missing features in BUN install, AST plugin API, native Windows support, Bundler and Minifier optimization, and easier deployment to production. BUN's AST plugin API allows for bundle-time JavaScript execution and embedding code, potentially inspiring new frameworks.
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.
Bun, Deno, Node.js? Recreando un tiempo de ejecución de JavaScript desde cero - Comprende la magia detrás de Node.js
Node Congress 2023Node Congress 2023
29 min
Bun, Deno, Node.js? Recreando un tiempo de ejecución de JavaScript desde cero - Comprende la magia detrás de Node.js
The Talk explores the magic behind Node.js and delves into its components, including V8, libuv, and the C++ bridge. It discusses the workflow and execution process, the use of NodeMod, and the understanding of console functions. The Talk also covers Node.js functions and scheduling, the introduction of runtimes, and the collaboration between JavaScript runtimes. It concludes with insights on content production, the choice of Node.js, and the inspiration behind it.
Evaluar todas las cadenas! - JavaScript endurecido
Node Congress 2023Node Congress 2023
8 min
Evaluar todas las cadenas! - JavaScript endurecido
NPM packages can be potentially dangerous, so it's important to be proactive in managing them. Lava Mode allows you to detect and investigate suspicious packages before deploying your app. Lavamote prevents unauthorized access to sensitive resources by isolating dependencies and using hardened JavaScript. Lava Mode makes it easier to analyze obfuscated files and understand their actions.
El Futuro de los Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
El Futuro de los Runtimes de JavaScript
Today's Talk explores the future of JavaScript runtimes, their evolution, and impact on software development. It discusses the historical trends of JavaScript, the adoption of new tools and libraries, and the convergence of Node and Deno. The emergence of isolate clouds and their potential to replace traditional VMs and containers is also highlighted. Additionally, the talk touches on the possibilities of JavaScript in exotic use cases, its impact on machine learning, and the potential for TypeScript to become the de facto language for JavaScript development.
Crea tu propio tiempo de ejecución de JavaScript
Node Congress 2023Node Congress 2023
21 min
Crea tu propio tiempo de ejecución de JavaScript
This Talk introduces Deno, a custom JavaScript runtime similar to Node.js, and discusses the benefits of using a custom runtime. It explores the process of building a custom runtime with Deno in Rust, including the integration with Cargo and the ability to mix and match crates and APIs. The Talk also covers the implementation of the setTimeout function in both Run.js and Runtime.js, and provides examples of how to fix errors and implement additional functions. Overall, the Talk highlights the flexibility and possibilities of creating custom runtimes with Deno.

Workshops on related topic

Construye aplicaciones peer-to-peer con Pear Runtime
JSNation 2024JSNation 2024
152 min
Construye aplicaciones peer-to-peer con Pear Runtime
WorkshopFree
David Mark Clements
David Mark Clements
Aprende cómo construir rápidamente aplicaciones peer-to-peer con Pear Runtime. No se requieren servidores. Comprende los paradigmas peer-to-peer y construye aplicaciones a partir de bloques de construcción bien definidos. En este masterclass se cubrirá cómo crear aplicaciones de escritorio y terminales (con discusión para móviles) que funcionan completamente peer-to-peer desde cualquier lugar del mundo. Al final de este masterclass, deberías saber cómo construir un nuevo tipo de aplicación altamente escalable con costos infraestructurales reducidos (~0) junto con arquitecturas adecuadas y mejores prácticas para aplicaciones peer-to-peer. Del creador de Pear Runtime y la compañía que nos trae keet.io. Tabla de contenido:- Introducción a Pear- Preguntas y respuestas iniciales- Configuración- Creación de una aplicación de escritorio Pear- Compartir una aplicación Pear- Ejecutar una aplicación Pear- Creación de una aplicación terminal Pear- Lanzamiento de una aplicación Pear- Discusiones arquitecturales- Preguntas y respuestas finales