react-adapter - Adapter to make any ReactPHP library compatible with Amp.

  •        8

amphp/react-adapter makes any ReactPHP library compatible with Amp. Documentation is available on



Related Projects

predis-async - Asynchronous PHP client library for Redis built on top of ReactPHP

  •    PHP

Asynchronous (non-blocking) version of Predis, the full-featured PHP client library for Redis, built on top of React to handle evented I/O. By default Predis\Async does not require any additional C extension to work, but it can be optionally paired with phpiredis to sensibly lower the overhead of serializing and parsing the Redis protocol.Predis\Async is currently under development but already works pretty well. The client foundation is being built on top of the event loop abstraction offered by React, an event-oriented framework for PHP that aims to provide everything needed to create reusable libraries and long-running applications using an evented approach powered by non-blocking I/O. This library is partially tested on HHVM, but support for this runtime should be considered experimental.

amp - A non-blocking concurrency framework for PHP applications.

  •    PHP

Amp is a non-blocking concurrency framework for PHP. It provides an event loop, promises and streams as a base for asynchronous programming.Promises in combination with generators are used to build coroutines, which allow writing asynchronous code just like synchronous code, without any callbacks.

http-server - A non-blocking HTTP application server for PHP based on Amp.

  •    PHP

This package provides a non-blocking HTTP/1.1 and HTTP/2 application server written in PHP based on Amp. Several features are provided in separate packages, such as the WebSocket component. The packages was previously named amphp/aerys, but has been renamed to be easier to remember, as many people were having issues with the old name.

artax - An async HTTP/1.1 client for Amp.

  •    PHP

Artax is an asynchronous HTTP/1.1 client for Amp. Its API simplifies standards-compliant HTTP resource traversal and RESTful web service consumption without obscuring the underlying protocol. The library manually implements HTTP over TCP sockets; as such it has no dependency on ext/curl.This package can be installed as a Composer dependency.

thread - Unmaintained. Use

  •    PHP

This library is unmaintained. Please use instead.

uvloop - Ultra fast asyncio event loop.

  •    Python

uvloop is a fast, drop-in replacement of the built-in asyncio event loop. uvloop is implemented in Cython and uses libuv under the hood. The project documentation can be found here. Please also check out the wiki.

event-loop - ReactPHP's core reactor event loop that libraries can use for evented I/O.

  •    PHP

ReactPHP's core reactor event loop that libraries can use for evented I/O. In order for async based libraries to be interoperable, they need to use the same event loop. This component provides a common LoopInterface that any library can target. This allows them to be used in the same loop, with one single run() call that is controlled by the user.

Libev - High performance full-featured event loop written in C

  •    C

Libev is a high-performance event loop, supporting eight event types (I/O, real time timers, wall clock timers, signals, child status changes, idle, check and prepare handlers). It uses a priority queue to manage timers and uses arrays as fundamental data structure. It has no artificial limitations on the number of watchers waiting for the same event.

socket - Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP

  •    PHP

Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP. The socket library provides re-usable interfaces for a socket-layer server and client based on the EventLoop and Stream components. Its server component allows you to build networking servers that accept incoming connections from networking clients (such as an HTTP server). Its client component allows you to build networking clients that establish outgoing connections to networking servers (such as an HTTP or database client). This library provides async, streaming means for all of this, so you can handle multiple concurrent connections without blocking.

tokio-core - I/O primitives and event loop for async I/O in Rust

  •    Rust

Core I/O and event loop abstraction for asynchronous I/O in Rust built on futures and mio.You can find extensive documentation and examples about how to use this crate online at as well as the examples folder in this repository. The API documentation is also a great place to get started for the nitty-gritty.

libevent - an event notification library

  •    C

The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. It is meant to replace the asynchronous event loop found in event-driven network servers.

Workerman - An asynchronous event driven PHP framework for easily building fast, scalable network applications

  •    PHP

Workerman is an asynchronous event driven PHP framework with high performance for easily building fast, scalable network applications. Supports HTTP, Websocket, SSL and other custom protocols. Supports libevent, HHVM , ReactPHP.

http - Event-driven, streaming plaintext HTTP and secure HTTPS server for ReactPHP.

  •    PHP

Event-driven, streaming plaintext HTTP and secure HTTPS server for ReactPHP. This is an HTTP server which responds with Hello World! to every request.

redux-pack - Sensible promise handling and middleware for redux

  •    Javascript

redux-pack is a library that introduces promise-based middleware that allows async actions based on the lifecycle of a promise to be declarative. Async actions in redux are often done using redux-thunk or other middlewares. The problem with this approach is that it makes it too easy to use dispatch sequentially, and dispatch multiple "actions" as the result of the same interaction/event, where they probably should have just been a single action dispatch.

react-resolver - Async rendering & data-fetching for universal React applications.

  •    Javascript

Async-rendering & data-fetching for universal React applications.React Resolver lets you define data requirements per-component and will handle the nested, async rendering on both the server & client for you.

redux-connect - Provides decorator for resolving async props in react-router, extremely useful for handling server-side rendering in React

  •    Javascript

How do you usually request data and store it to redux state? You create actions that do async jobs to load data, create reducer to save this data to redux state, then connect data to your component or container. Usually it's very similar routine tasks.

node-blocked - Check if the event loop is blocked

  •    Javascript

Check if a node event loop is blocked.If You're running Node.js 8+ you can get a stacktrace pointing to the blocking function using very similar blocked-at package.

loadable-components - React code splitting made easy ✂️✨

  •    Javascript

React code splitting made easy. Reduce your bundle size without stress ✂️✨. Webpack allows modern code splitting via the dynamic import syntax. Loadable Components makes it possible to use that awesome feature with React. It is compatible with react-router and server side rendering. The API is designed to be as simple as possible to avoid useless complexity and boilerplate.

react-lifecycles-compat - Backwards compatibility polyfill for React class components

  •    Javascript

React version 17 will deprecate several of the class component API lifecycles: componentWillMount, componentWillReceiveProps, and componentWillUpdate. (Read the Update on Async rendering blog post to learn more about why.) A couple of new lifecycles are also being added to better support async rendering mode. Typically, this type of change would require third party libraries to release a new major version in order to adhere to semver. However, the react-lifecycles-compat polyfill offers a way to use the new lifecycles with older versions of React as well (0.14.9+) so no breaking release is required. This enables shared libraries to support both older and newer versions of React simultaneously.