feathers is a free, open source browsers & extensions project written in TypeScript and released under MIT. It has 15,263 GitHub stars, 798 forks and 121 open issues, and was last pushed 6 days ago. On this registry it ranks #26 of 65 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available.

What is feathers?

What it is

Feathers is a full-stack framework for creating web APIs and real-time applications with TypeScript or JavaScript. It lives in the Node.js and npm ecosystem, and it is published as a set of packages, with the core available as @feathersjs/feathers. The project has existed for roughly 15 years and is maintained under the MIT license by its contributors.

The concrete problem it solves is the split between an HTTP API layer and the live data channel that modern clients expect. Rather than assembling a REST server, a separate socket server, and the glue that keeps the two in sync, developers define services once and Feathers exposes them over both. It can interact with any backend technology, supports many databases out of the box, and works with any frontend, including React, VueJS, Angular, React Native, Android, and iOS.

Key capabilities

  • Full-stack web API and real-time application framework written in TypeScript or JavaScript.
  • Service-oriented API layer that can be consumed over HTTP and over real-time transports.
  • Integration with any backend technology, so existing infrastructure does not have to be replaced.
  • Out-of-the-box support for many databases through the framework's data adapters.
  • Frontend-agnostic client usage across React, VueJS, Angular, React Native, Android, and iOS.
  • Scaffolding through npm create feathers my-new-app, which generates a working application structure.
  • Distributed as npm packages, with the core module published as @feathersjs/feathers.

Who uses it and how

  • Teams building a web API that must also push live updates to connected clients, using TypeScript or JavaScript across the stack.
  • Developers wiring an existing database into a service layer instead of writing bespoke data access code.
  • Frontend groups on React, VueJS, or Angular consuming a Feathers API from a browser client.
  • Mobile developers on React Native, Android, or iOS connecting to the same service layer used by the web client.
  • Contributors extending the framework itself by working inside the repository's package modules.

Getting started

The README gives three commands: npm create feathers my-new-app, then cd my-new-app, then npm run dev. For development on the framework itself, the repository is cloned, npm install is run, and the full test suite runs with npm test, while individual modules are tested from their package directory, for example cd packages/feathers followed by npm test.

When to use it — and when not to

Feathers is a reasonable choice when a project needs both a conventional API and a real-time channel without maintaining two parallel server implementations. No hosted offering appears in the README, so a self-hoster runs the Node.js service directly and supplies the database and backend technology the application depends on. The project carries 121 open issues at the time of writing, which is worth weighing against the size of its contributor base and the pace of recent releases.

project readme (upstream, from github) — read inline
Feathers - The API and real-time application framework

CI Download Status Discord

Feathers is a full-stack framework for creating web APIs and real-time applications with TypeScript or JavaScript.

Feathers can interact with any backend technology, supports many databases out of the box and works with any frontend like React, VueJS, Angular, React Native, Android or iOS.

Getting started

Get started with just three commands:

$ npm create feathers my-new-app
$ cd my-new-app
$ npm run dev

To learn more about Feathers visit the website at feathersjs.com or jump right into the Feathers guides.

Contributing

To start developing, clone this repository, then run:

cd feathers
npm install

To run all tests run

npm test

Individual tests can be run in the module you are working on:

cd packages/feathers
npm test

License

Copyright (c) 2024 Feathers contributors

Licensed under the MIT license.

Frequently asked questions

Is feathers free to use?

feathers is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does feathers do?

The API and real-time application framework

What is feathers written in?

feathers is primarily written in TypeScript. Its source is publicly available at https://github.com/feathersjs/feathers, and it has 15,263 GitHub stars.