All Projects → encyjs → ency

encyjs / ency

Licence: other
Enhanced concurrency primitives for Javascript.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ency

cl-gserver
Actor framework featuring actors and agents for easy access to state and asynchronous operations.
Stars: ✭ 121 (+278.13%)
Mutual labels:  reactive, concurrency, event-driven
Rxjava Android Samples
Learning RxJava for Android by example
Stars: ✭ 7,520 (+23400%)
Mutual labels:  reactive, concurrency
Orleans
Orleans is a cross-platform framework for building distributed applications with .NET
Stars: ✭ 8,131 (+25309.38%)
Mutual labels:  reactive, concurrency
Asyncninja
A complete set of primitives for concurrency and reactive programming on Swift
Stars: ✭ 146 (+356.25%)
Mutual labels:  reactive, concurrency
Akka.net
Port of Akka actors for .NET
Stars: ✭ 4,024 (+12475%)
Mutual labels:  reactive, concurrency
Solid
A declarative, efficient, and flexible JavaScript library for building user interfaces.
Stars: ✭ 13,115 (+40884.38%)
Mutual labels:  reactive, declarative
Effector React Realworld Example App
Exemplary real world application built with Effector + React
Stars: ✭ 119 (+271.88%)
Mutual labels:  reactive, event-driven
esm
Lightweight communicating state machine framework for embedded systems
Stars: ✭ 21 (-34.37%)
Mutual labels:  reactive, concurrency
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+39100%)
Mutual labels:  reactive, concurrency
Newbe.claptrap
This is a frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can create "distributed", "scale out", and "easy to test" application more simply. Claptrap and it`s Minions is on the way.
Stars: ✭ 163 (+409.38%)
Mutual labels:  reactive, event-driven
Rxjava2 Extras
Utilities for use with RxJava 2
Stars: ✭ 167 (+421.88%)
Mutual labels:  reactive, concurrency
Rxjava2 Jdbc
RxJava2 integration with JDBC including Non-blocking Connection Pools
Stars: ✭ 360 (+1025%)
Mutual labels:  reactive, concurrency
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (+1000%)
Mutual labels:  reactive, concurrency
Translations
🐼 Chinese translations for classic IT resources
Stars: ✭ 6,074 (+18881.25%)
Mutual labels:  reactive, concurrency
Effector
The state manager ☄️
Stars: ✭ 3,572 (+11062.5%)
Mutual labels:  reactive, event-driven
Jdonframework
Domain-Driven-Design Pub/Sub Domain-Events framework
Stars: ✭ 978 (+2956.25%)
Mutual labels:  reactive, concurrency
Watermill
Building event-driven applications the easy way in Go.
Stars: ✭ 3,504 (+10850%)
Mutual labels:  reactive, event-driven
reacted
Actor based reactive java framework for microservices in local and distributed environment
Stars: ✭ 17 (-46.87%)
Mutual labels:  reactive, event-driven
eventide-postgres
Event Sourcing and Microservices Stack for Ruby
Stars: ✭ 92 (+187.5%)
Mutual labels:  reactive, event-driven
Akka
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Stars: ✭ 11,938 (+37206.25%)
Mutual labels:  reactive, concurrency

Ency

Enhanced concurrency primitives for Javascript. Gain complete control and transparency over the execution of concurrent and asynchronous operations, with almost no code.

Libraries

This repository hosts the core Ency library. If you want to use Ency's concurrency primitives you have the following options:

Environment Library
Plain JavaScript Ency (this repo)
Vue Vuency

Why Ency?

Ency helps you manage complex, event-driven operations with minimal code.

The two main benefits are:

  • Implicit state: Operations have their state baked in, so that you don't have to manually set and update flags (i.e. isRunning) yourself, to handle common UI interactions.

  • Flow control: The scheduling and cancellation of operation instances is baked in, so you can easily manage the flow of repeat requests, as well as manually cancel an operation at any moment.

The additional benefits:

  • Callback subscriptions: Subscribe to callbacks that are fired based on the stage or result of the operation, e.g. beforeStart or onCancel. This semantically separates the handling of corner cases from the core logic, which makes your code easier to reason about.

  • Bind data: Bind specific parameters or options to the nth call of the instance, e.g. using nth(1, { keepRunning: true }), so that you can simulate an infinite loop without overpowering the main thread.

  • Async helpers: Common async utilities, such as timeout helpers, that are automatically cleanup when the operation is over, which ensures that UI interactions flow with minimal latency.

If that isn't enough, Ency's API strikes a nice balance between declarative and imperative styles of programming, which makes complex code simple and fun to write.

Documentation

The Ency documentation is a nuxt.js and nuxtent generated static site with interactive examples.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].