1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00

Merge pull request #1417 from Unleash/docs/add-offline-info-to-sdks

docs: describe how sdks work in offline modes
This commit is contained in:
Thomas Heartman 2022-03-04 13:50:49 +01:00 committed by GitHub
commit c88da63888
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -117,9 +117,26 @@ Here's some of the fantastic work our community has done to make Unleash work in
- [uekoetter.dev/unleash-client-dart](https://pub.dev/packages/unleash) (Dart)
- _...your implementation for your favorite language._
## Implement your own SDK {#implement-your-own-sdk}
### Implement your own SDK {#implement-your-own-sdk}
If you can't find an SDK that fits your need, you can also develop your own SDK. To make implementation easier, check out these resources:
- [Unleash Client Specifications](https://github.com/Unleash/client-specification) - Used by all official SDKs to make sure they behave correctly across different language implementations. This lets us verify that a gradual rollout to 10% of the users would affect the same users regardless of which SDK you're using.
- [Client SDK overview](../client-specification) - A brief, overall guide of the _Unleash Architecture_ and important aspects of the SDK role in it all.
## Working offline
Once they have been initialised, all Unleash clients will continue to work perfectly well without an internet connection or in the event that the Unleash Server has an outage.
Because the SDKs and the Unleash Proxy cache their feature toggle states locally and only communicate with the Unleash server (in the case of the server-side SDKs and the Proxy) or the Proxy (in the case of front-end SDKs) at predetermined intervals, a broken connection only means that they won't get any new updates.
Unless the SDK supports [bootstrapping](#bootstrapping) it *will* need to connect to Unleash at startup to get its initial feature toggle data set. If the SDK doesn't have a feature toggle data set available, all toggles will fall back to evaluating as disabled or as the specified default value (in SDKs that support that).
### Bootstrapping
By default, all SDKs reach out to the Unleash Server at startup to fetch their toggle configuration. Additionally some of the server-side SDKs and the Proxy (see the above [compatibility table](#server-side-sdk-compatibility-table)) also support *bootstrapping*, which allows them to get their toggle configuration from a file, the environment, or other local resources. These SDKs can work without any network connection whatsoever.
Bootstrapping is also supported by the following front-end client SDKs:
- [the JavaScript proxy client](/sdks/proxy-javascript)
- [the React Proxy client](/sdks/proxy-react)
- [the Android proxy client](/sdks/proxy-react)