E5C2 feathers-docs/why at master · TiagoKaska/feathers-docs · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Why Feathers

If you went through the Getting Started section you probably saw just how quick it is to get an application off the ground.

Using Feathers is quite simply the fastest way to build scalable, real-time web and mobile applications. You can literally build prototypes in minutes and production ready applications in days.

Feathers achieves this by being a thin wrapper over top of some amazing battle tested open source technologies and adding a few core pieces like Hooks and Services.

Here are some of the things that you get out of the box with Feathers. All of them are optional. We like to think of Feathers as a "batteries included but easily swappable" framework.

Instant REST APIs Feathers automatically provides REST APIs for all your services. This industry best practice makes it easy for mobile applications, a web front-end and other developers to communicate with your application.
Unparalleled Database Support With Feathers service adapters you can connect to all of the most popular databases, and query them with a unified interface no matter which one you use. You can even use entirely different DBs in the same app.
Real Time Feathers services can notify clients when something has been created, updated or removed. To get even better performance, you can communicate with your services through websockets, by sending and receiving data directly.
Cross-Cutting Concerns Using "hooks" you have an extremely flexible way to share common functionality or concerns. Keeping with the Unix philosophy, these hooks are small functions that do one thing and are easily tested but can be chained to create complex processes.
Universal Usage Services and hooks are a powerful and flexible way to build full stack applications. In addition to the server, these constructs also work incredibly well on the client. That's why Feathers works the same in NodeJS, the browser and React Native.
Authentication Almost every app needs authentication so Feathers comes with support for email/password, OAuth and Token (JWT) authentication out of the box.
API Versioning As an application matures the API typically evolves to accommodate business needs or technology changes. With Feathers it's easy to version your API by mounting a sub application or spinning up an entirely new service or app.
Pagination Today's applications are very data rich so most of the time you cannot load all the data for a resource all at once. Therefore, Feathers gives you pagination for every service from the start.
Rate Limiting When an app goes to production you'll need to have some protection against denial of service attacks. With Feathers it's easy to add rate limiting at a service level.
Error Handling Feathers removes the pain of defining errors and handling them. Feathers services automatically return appropriate errors, including validation errors, and return them to the client in a easily consumable format.
Logging Feathers comes with a very simplistic logger that has sane defaults for production. However, it is easily swappable to allow you to customize to your needs.

If you've decided that Feathers might be for you, feel free to dive right in. If you're still unsure about what Feathers does and where it comes from you can learn more about the Feathers philosophy or check out how Feathers compares to others.

0