unasync
React
unasync | React | |
---|---|---|
5 | 40 | |
82 | 8,822 | |
- | 0.3% | |
0.0 | 3.9 | |
about 1 year ago | about 1 month ago | |
Python | PHP | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
unasync
-
The bane of my existence: Supporting both async and sync code in Rust
Nice! This is similar to the solution here: https://github.com/python-trio/unasync
-
Need advice to design sync version of an async library
Lastly, I found another project name unasync that is pretty interesting and might works for me. Basically, you write the async version, you run unasync, it generate the sync version from the AST. This project is used by the official elastic search python client.
-
PHP 8.1.0 Release Announcement
Fibers "allow blocking and non-blocking implementations to share the same API"
That's an interesting contrast to Python where the need to use "value = await fn()" v.s. "value = fn()" depending on whether or not that function is awaitable causes all kinds of API design complexity, all the way up to the existence of tools like https://github.com/python-trio/unasync which can code-generate the non-async version of a library from the async version.
-
Async Python is not faster
Async Python has proven faster in my uses for IO and non-CPU-related stuff. But I think Python, either as a community or within the language, needs to solve the anti-pattern of maintaining separate sync and async versions of a library. I'm thinking specifically of aioredis and redis-py, both of which I've worked on.
Some people are looking at ways to solve this. I know urllib3, elasticsearch-py, and a few others use unasync (https://github.com/python-trio/unasync) to transform async code into sync code, leaving one codebase supporting both uses in different namespaces. This leaves you with some conditional logic (is_async_mode() -- https://github.com/python-trio/hip/blob/master/src/ahip/util...). I'm seriously considering this approach.
- unasync – transform your asynchronous code into synchronous code
React
-
Getting started with asynchronous PHP using ReactPHP
ReactPHP is a library that allows you to turn PHP into something like Go or Node.js so that tasks can be performed asynchronously. Note that ReactPHP is just a library that you install with Composer. It doesn’t have cumbersome requirements, such as installing a custom PHP extension; it just works as intended.
-
Understanding Concurrency in PHP
ReactPHP is categorized as a low-level dependency for event-driven programming. It features an event loop that supports low-level utilities, such as HTTP client/server, async DNS resolver, streams abstraction, and network client/servers.
-
Which FW should I use for the link shortening service?
So you could either skip the framework entirely and shave of these 10ms per request, or you could turn to something like Laravel Octane or ReactPHP to have a long running application that answers requests without bootstrapping the whole framework each time (which is what Node.js, Python or .NET applications do, the practice of restarting the whole app with every request is quite unique to the PHP community).
-
How are folks feeling about the React team's push toward server components?
I remember calling out the movement to serverside of the frontend framework as reactPHP (I think it's when the remix hype first surfaced) on twitter and realized there's a literal php framework called reactPHP (https://reactphp.org/) since they liked my tweet lol.
-
PHP Swoole or OpenSwoole?
https://reactphp.org/ of course.
-
I don’t get all the hate for PHP and at this point I am too afraid to ask.
You could also use something like EventMachine (In ruby), Twisted (Python), Node (JS) or ReactPHP (for PHP) that will use the language and turn it into a web application server, and then you'll have only one long running process that handle all your requests with shared memory. You could even use something more fancy like RoadRunner in the case of PHP.
-
Why does a lot of developers hate PHP?
Comparing PHP to NodeJS is completely wrong to begin with. If you want to compare NodeJS to something in the PHP ecosystem it would be ReactPHP.
- Weekly help thread
-
Is it possible that PHP will ever get async/await functions?
Dunno about PHP core, but there is also ReactPHP. https://reactphp.org/
-
Do I need Laravel for an HTTP API project? If so, why?
There are many micro-frameworks available like Slim, Mezzio(with Swoole may be), or if you are into async then you can also try Framework X(from core maintainer of ReactPHP). This frameworks have small footprints compare to Laravel, Symfony, etc. Yes, you can't get things like authentication, routing and other out of the box but they can easily be installed and configured to be used.
What are some alternatives?
jigsaw - Simple static sites with Laravel’s Blade.
Amp - A non-blocking concurrency framework for PHP applications. 🐘
Ratchet - Asynchronous WebSocket server
phpmiko - A netmiko implementation in php
Workerman - An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols.
blacksmith - REST API Client
Swoole - 🚀 Coroutine-based concurrency library for PHP
Icicle - Icicle is a PHP library for writing asynchronous code using synchronous coding techniques
Elephant.io - Ça trompe énormément
octane - Supercharge your Laravel application's performance.
Socket.io - Realtime application framework (Node.JS server)