Surrounded VS wisper

Compare Surrounded vs wisper and see what are their differences.

Surrounded

Create encapsulated systems of objects and focus on their interactions (by saturnflyer)

wisper

A micro library providing Ruby objects with Publish-Subscribe capabilities (by krisleech)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Surrounded wisper
1 6
244 3,229
- -
2.0 1.5
about 1 year ago about 2 months ago
Ruby Ruby
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

Surrounded

Posts with mentions or reviews of Surrounded. We have used some of these posts to build our list of alternatives and similar projects.
  • Setting Up Business Logic with DCI in Rails
    1 project | dev.to | 21 Jun 2023
    I want to conclude this article with an example from a real-world app where I used DCI to organize parts of the business logic. I will attempt to show how regular Rails MVC can enact a DCI use case. Note that I'm using Jim Gay's surrounded gem to strip away some of the boilerplate.

wisper

Posts with mentions or reviews of wisper. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-21.
  • Publish/Subscribe with Sidekiq
    2 projects | dev.to | 21 Feb 2024
    Wisper: A Ruby gem providing a decoupled communication layer between different parts of an application​ -> I personally dislike wisper. I used it in the past and dislike the way of defining subscribers in a global way. I wanted topics to be arbitrary and each class to define what to subscribe for itself.
  • OOP vs. services for organizing business logic: is there a third way?
    23 projects | dev.to | 6 Dec 2022
    Wisper – the Publish-Subscribe design pattern
  • Event Store with Rails
    3 projects | /r/rails | 15 Nov 2022
    I haven't used it, but we're also considering it in our app for quite some time. Our main issue is mostly that our codebase is super coupled, especially some older code, and using events as a means of communication between different modules of the app can be nice way of decoupling things. I think this is the most common usecase, and for this you don't necessarily even need to persist the events, and also something like wisper might be useful https://github.com/krisleech/wisper.
  • Rails Google Cloud PubSub options
    4 projects | /r/rubyonrails | 7 Nov 2022
    Whisper (not updated since 2020)
  • How to avoid if/else with different ramifications
    3 projects | /r/rails | 21 Jul 2022
    I would use events. Every services broadcast its results and everything that needs to listen for them. It also great to decouple dependencies between services. I like the Wisper gem : https://github.com/krisleech/wisper
  • "I'm the CTO of a Growing Rails Startup" Ask Me Anything
    3 projects | /r/rails | 27 Aug 2021
    We follow the interactor pattern to store our business logic. So we mainly have skinny controllers, skinny models and then interactors. We also don't use ActiveRecord callbacks very much, we primarily use Wisper to broadcast events and then various domains can subscribe to the events they care about and respond accordingly.

What are some alternatives?

When comparing Surrounded and wisper you can also consider the following projects:

Waterfall - A slice of functional programming to chain ruby services and blocks, thus providing a new approach to flow control. Make them flow!

Rails Event Store - A Ruby implementation of an Event Store based on Active Record

Mutations - Compose your business logic into commands that sanitize and validate input.

Interactor - Interactor provides a common interface for performing complex user interactions.

Responders - A set of Rails responders to dry up your application

Rocketman - 🚀 Rocketman help build event-based/pub-sub code in Ruby

Setsy - Settings for classes backed by a database with defaults.

Cells - View components for Ruby and Rails.

Apotomo - MVC Components for Rails.

Light Service - Series of Actions with an emphasis on simplicity.

Decent Exposure - A helper for creating declarative interfaces in controllers