Feathers 4: A framework for Real-Time apps and REST APIs
blog.feathersjs.com
blog.feathersjs.com
If you want to expose the custom methods to clients, you can use this add-on package: https://github.com/arve0/feathers-custom-methods
Also, for whatever a contextless strangers opinion is worth, I highly recommend avoiding Loopback.
1. Feathers supports websockets, so you can push data to clients as the data is created/updated, etc.
2. The Feathers server can decide what types of events to send to the client. If you have multiple servers, you can keep the events in-sync by using redis/activemq with the feathers-sync module.
You can use services with Feathers' Event Emitters [1] give you a service-level abstraction for sending data over websockets. If you want the full flexibility of using websockets directly-- by all means, do so! A common use case, however, is to send updates as service objects are created, updated, or deleted over websockets for real-time applications. You might take that updated record, insert it into your state management system (e.g., Redux), and then use your UI library (e.g., React) to repaint the user's screen. Feathers doesn't care what state management or UI library you use.
[0]: https://docs.feathersjs.com/api/services.html#service-method...
[1]: https://docs.feathersjs.com/api/events.html#eventemitters
[0]: https://github.com/feathersjs/feathers
[1]: https://github.com/feathersjs/feathers/graphs/contributors