Skip to content

Commit 0466c1f

Browse files
authored
chore(readme): update readme with client-side eval info (#2539)
1 parent 57e7b54 commit 0466c1f

File tree

7 files changed

+47
-23
lines changed

7 files changed

+47
-23
lines changed

README.md

+47-7
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ Flipt supports use cases such as:
100100

101101
- Stand alone, single binary that's easy to run and [configure](https://www.flipt.io/docs/configuration/overview)
102102
- Ability to create advanced distribution rules to target segments of users
103-
- Native [GRPC](#grpc-client-libraries) and [REST](#rest-client-libraries) server-side SDKs to integrate with your existing applications
104103
- Modern, mobile-friendly 📱 UI and debug console with dark mode 🌙
105104
- Import and export to allow storing your data as code
106105
- Works with [Prometheus](https://prometheus.io/) and [OpenTelemetry](https://opentelemetry.io/) out of the box 🔋
@@ -222,29 +221,48 @@ docker run --rm -p 8080:8080 -p 9000:9000 -t docker.flipt.io/flipt/flipt:nightly
222221

223222
Check out our [integration documentation](https://flipt.io/docs/integration/) for more info on how to integrate Flipt into your existing applications.
224223

225-
### GRPC Client Libraries
224+
There are two ways to evaluate feature flags with Flipt:
225+
226+
- [Server Side](#server-side-evaluation)
227+
- [Client Side](#client-side-evaluation)
228+
229+
### Server Side Evaluation
230+
231+
Server-side evaluation is the most common way to evaluate feature flags. This is where your application makes a request to Flipt to evaluate a feature flag and Flipt responds with the result of the evaluation.
232+
233+
Flipt exposes two different APIs for performing server-side evaluation:
234+
235+
- [GRPC](#grpc)
236+
- [REST](#rest)
237+
238+
#### GRPC
239+
240+
Flipt is equipped with a fully functional GRPC API. GRPC is a high performance, low latency, binary protocol that is used by many large scale companies such as Google, Netflix, and more.
241+
242+
#### GRPC SDKs
226243

227244
| Language | Version | Status |
228245
| -------- | ------- | ------ |
229246
| [Go](./sdk/go) | ![go](https://img.shields.io/github/v/tag/flipt-io/flipt?filter=sdk%2Fgo%2Fv*&label=go&link=https%3A%2F%2Fpkg.go.dev%2Fgo.flipt.io%2Fflipt%2Fsdk%2Fgo) | ![stable](https://img.shields.io/badge/status-stable-green) |
230247
| [Ruby](https://github.com/flipt-io/flipt-grpc-ruby) | ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/flipt-io/flipt-grpc-ruby?color=red&label=gem&sort=semver) | ![stable](https://img.shields.io/badge/status-stable-green) |
231248
| [.NET](https://github.com/flipt-io/flipt-grpc-dotnet) | ![Nuget](https://img.shields.io/nuget/v/flipt.grpc) | ![hardening](https://img.shields.io/badge/status-hardening-orange) |
232249

233-
### Generate Your Own
250+
#### Generate Your Own
234251

235252
If a client in your language is not available for download, you can easily generate one yourself using the existing [protobuf definition](https://github.com/flipt-io/flipt/blob/main/rpc/flipt/flipt.proto).
236253

237254
Our [integration documentation](https://www.flipt.io/docs/integration) has more information on how to generate your own Flipt clients in your language of choice.
238255

239-
<br clear="both"/>
240-
241-
### REST API
256+
#### REST
242257

243258
Flipt is equipped with a fully functional REST API. In fact, the Flipt UI is completely backed by this same API. This means that anything that can be done in the Flipt UI can also be done via the REST API.
244259

245260
The [Flipt REST API](https://www.flipt.io/docs/reference/overview) can also be used with any language that can make HTTP requests.
246261

247-
### REST Client Libraries
262+
#### REST SDKs
263+
264+
> [!NOTE]
265+
> We will be revamping our current REST SDKs in the coming weeks in order to simplify the API and make them easier to use. If you have any feedback on the current REST SDKs, please open an issue in the respective repository.
248266
249267
| Language | Version | Status |
250268
| -------- | ------- | ------ |
@@ -255,6 +273,28 @@ The [Flipt REST API](https://www.flipt.io/docs/reference/overview) can also be u
255273
| [Rust](https://github.com/flipt-io/flipt-rust) | [![crates.io](https://img.shields.io/crates/v/flipt.svg)](https://crates.io/crates/flipt) | ![hardening](https://img.shields.io/badge/status-hardening-orange) |
256274
| [PHP](https://github.com/flipt-io/flipt-php) | [![Packagist](https://img.shields.io/packagist/v/flipt-io/flipt)](https://packagist.org/packages/flipt-io/flipt) | ![beta](https://img.shields.io/badge/status-beta-yellow) |
257275

276+
### Client Side Evaluation
277+
278+
Client-side evaluation is a great way to reduce the number of requests that your application needs to make to Flipt. This is done by retrieving all of the feature flags that your application needs to evaluate and then evaluating them locally.
279+
280+
For more information on client-side evaluation, check out our [client-side evaluation documentation](https://www.flipt.io/docs/integration/client).
281+
282+
#### Client Side SDKs
283+
284+
> [!WARNING]
285+
> Our client-side SDKs are currently experimental. We are looking for feedback on the design and implementation. Please open an issue if you have any feedback or questions.
286+
287+
Our client-side SDKs are available in the [flipt-client-sdks](https://github.com/flipt-io/flipt-client-sdks/) repository.
288+
289+
We currently support the following languages:
290+
291+
- [Go](https://github.com/flipt-io/flipt-client-sdks/tree/main/flipt-client-go)
292+
- [Node/TypeScript](https://github.com/flipt-io/flipt-client-sdks/tree/main/flipt-client-node)
293+
- [Python](https://github.com/flipt-io/flipt-client-sdks/tree/main/flipt-client-python)
294+
- [Ruby](https://github.com/flipt-io/flipt-client-sdks/tree/main/flipt-client-ruby)
295+
296+
We will be adding more languages in the future. If you'd like to see a specific language supported, please open an issue in the [flipt-client-sdks](https://github.com/flipt-io/flipt-client-sdks/issues/new) repository.
297+
258298
<br clear="both"/>
259299

260300
## Release Cadence

logos/users/asphaltlogo.png

-9.74 KB
Binary file not shown.

logos/users/ocrolus.svg

-1
This file was deleted.

logos/users/paradigm.png

-6.88 KB
Binary file not shown.

logos/users/prose.png

-9.23 KB
Binary file not shown.

logos/users/rokt.svg

-15
This file was deleted.

logos/users/uk-moj.png

-12.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)