What is Feathers?
Feathers is a minimalist, service-oriented, real-time web framework for modern applications that puts real-time communication at the forefront rather than as an afterthought. What do we mean by that?
Built on top of Express, Feathers has embodied the same spirit. It is comprised of a bunch of small modules that are all completely optional and the core weighs in at just a few hundred lines of code. How's that for light weight?! Now you can see where Feathers got its name. 😉
Services are the heart of every Feathers application. They are small, data-oriented objects that can be used to perform CRUD operations on a resource. A resource could be stored in a database, on another server or somewhere entirely different.
There is a lot to think about when building a modern application; speed, maintainability, flexibility, accessibility, scalability, the list goes on.
We've tried to ease that pain by wrapping industry best practices into a "Batteries included but easily swappable" package.
Out of the box Feathers provides a lot of what you need to build a modern web app or API. All of this is completely optional so you can pick and choose what you want to include and what you don't.
Real-time At The Core
Most real-time* web frameworks only allow clients to be pushed data in real time. You interact with your server over REST and then receive events over websockets or, even worse, the client polls for changes (which isn't really real-time).
Feathers is different. Feathers allows you to send and receive data over websockets, bringing real-time to the forefront and making your apps incredibly snappy.
The whole Feathers ecosystem has been modeled around supporting real-time communication and making it a first class citizen instead of a hacky add-on. You can even forgo REST altogether and simply use websockets to communicate with your app, making it ideal for real-time IoT devices, among other things.
*We're not talking about real-time computing in the traditional sense, we're talking about being able to push and pull data without making multiple HTTP requests. Like every other "real time" web framework Feathers does not guarantee a response time.
Ready to get started? Choose your own adventure: