As a maintainer of another web realtime server (deepstream.io), I got to say FeatherJS is an inspiration in terms of documentation and tutorial standards. I spent quite a bit of time watching their live streams on youtube and browsing through their pages. I hope/am working to someday reach that level of clarity!
yasserf, keep up the good work, deepstream is great: fast, flexible, simple and solid! Although must say that your previous docs where way better than the current version. Why don't you keep the same format?
Thanks! Are you referring to the docs on deepstreamHub? If so it’s because we needed to separate what the OS version does better and I used the older OS website as a starting point (except now using Gatsby).Otherwise the docs were copied over verbatim minus navigation. Looking forward to feedback in a week or two time when that’s done!
Feathers is exactly what I want to see in a JavaScript library. It is not overly opinionated: far from it. It implements concepts that are sound, standing the test of time. It solves a few specific problems well. These are ideals all library creators should strive for.
Major kudos to the Feathers team on the release. FeathersJS was my first introduction to open source, and sets a very high standard in terms of documentation quality. Congrats, and looking forward to more to come!
I tried the last feathers and my problem with it was it seemed so purely REST that it was unusable. Every object in your database gets CRUD endpoints, and if you need something other than CRUD, you are in for a tough time. Is this the case, or was I not understanding it?
I've been using Feathers for a bit, and it's really nice. There's a few lock-ins I ran into that required sort of hacking my way out, but (for the most part) it's been amazing.
Also, for whatever a contextless strangers opinion is worth, I highly recommend avoiding Loopback.
I don´t get the "Real-Time" part.
Are the API requests ensured to be responded by a given time? That would be sensational.
Is it meant to be compatible with the newest Linux kernel shipping RT out-of-the-box? ;)
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 would use it in conjunction with the concept of Services [0]. Services are essentially are a group of CRUD operations that can be exposed over various transports: HTTP(s), Websockets, etc.
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.
this is so cool! ️ where can i know more about the team behind feathers and how it is run/funded? i love learning how long running OSS like this operates.