Resonate introduces a minimal number of primitives
A primitive is the simplest, most basic building block used to create more complex systems or functionalities. In many distributed frameworks, developers are required to learn specialized primitives like Workflows, Activities, Signals, Queries, Updates, Events, and Task Queues to implement distributed applications.
With Resonate, these complexities are eliminated. Instead, you work with what you already know: functions and promises. This approach keeps your code intuitive, reduces maintenance overhead, and significantly shortens the learning curve for distributed systems development. By using functions and promises, Resonate lets you focus on your application logic rather than specialized constructs.
Traditional distributed frameworks introduce steep learning curves by requiring developers to master specialized constructs. This can lead to:
- Increased adoption time due to unfamiliar abstractions.
- Complex behaviour that is harder to debug and maintain.
- Barriers to entry for developers new to distributed systems.
Resonate addresses these challenges:
- Familiar constructs: Functions and promises are well-known and easy to use, requiring no additional learning. Functions and promises make it easy to write, read, and reason about your code.
- Simplified codebases: Eliminate the clutter of specialized primitives for cleaner, more maintainable code. Resonate handles the complexities of distribution behind the scenes, so your familiar functions and promises “just work.”
- Quick onboarding: Start building distributed applications faster with minimal ramp-up time.
Additionally, because Resonate uses functions as primitives, you can implement features like recursive calls seamlessly, something that is often cumbersome or unsupported in frameworks relying on rigid primitives.