Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/sdk/_category_.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
label: 'SDKs'
label: "SDKs"
4 changes: 2 additions & 2 deletions docs/sdk/client-side-sdks/_category_.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
label: 'Client-Side SDKs'
position: 3
label: "Client-Side SDKs"
position: 4
2 changes: 2 additions & 0 deletions docs/sdk/client-side-sdks/features/_category_.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
label: "SDK Features"
position: 3
File renamed without changes.
File renamed without changes.
2 changes: 0 additions & 2 deletions docs/sdk/features/_category_.yml

This file was deleted.

28 changes: 28 additions & 0 deletions docs/sdk/samples-example-apps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: Samples & Example Apps
sidebar_position: 2
---

## Overview

Welcome to the Samples & Example Apps page, which showcases example applications using the DevCycle SDKs. The goal of this page is to provide developers with a comprehensive collection of example applications that demonstrate how to utilize DevCycle's SDKs with a variety of programming languages and frameworks.

### Sample Applications

| Sample SDK App | SDK Reference Documentation |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| [.NET (Cloud Bucketing)](https://github.com/DevCycleHQ/dotnet-server-sdk) | [.NET (Cloud Bucketing) Reference Docs](/sdk/server-side-sdks/dotnet-cloud.md) |
| [.NET (Local Bucketing)](https://github.com/DevCycleHQ/dotnet-server-sdk) | [.NET (Local Bucketing) Reference Docs](/sdk/server-side-sdks/dotnet-local.md) |
| [Android](https://github.com/DevCycleHQ/android-client-sdk) | [Android Reference Docs](/sdk/client-side-sdks/android.md) |
| [Flutter](https://github.com/devcyclehq/flutter-client-sdk) | [Flutter Reference Docs](/sdk/client-side-sdks/flutter.md) |
| [Go](https://github.com/DevCycleHQ/go-server-sdk) | [Go Reference Docs](/sdk/server-side-sdks/go.md) |
| [iOS](https://github.com/devcyclehq/ios-client-sdk) | [iOS Reference Docs](/sdk/client-side-sdks/ios.md) |
| [Java (Cloud Bucketing)](https://github.com/DevCycleHQ/java-server-sdk) | [Java (Cloud Bucketing) Reference Docs](/sdk/server-side-sdks/java-cloud.md) |
| [Java (Local Bucketing)](https://github.com/DevCycleHQ/java-server-sdk) | [Java (Local Bucketing) Reference Docs](/sdk/server-side-sdks/java-local.md) |
| [JavaScript](https://github.com/devcyclehq/js-sdks) | [Javascript Reference Docs](/sdk/client-side-sdks/javascript.md) |
| [NodeJS](https://github.com/devcyclehq/js-sdks) | [NodeJS Reference Docs](/sdk/server-side-sdks/node.md) |
| [PHP](https://github.com/DevCycleHQ/php-server-sdk) | [PHP Reference Docs](/sdk/server-side-sdks/php.md) |
| [Python](https://github.com/DevCycleHQ/python-server-sdk) | [Python Reference Docs](/sdk/server-side-sdks/python.md) |
| [React](https://github.com/devcyclehq/js-sdks) | [React Reference Docs](/sdk/client-side-sdks/react.md) |
| [React Native](https://github.com/devcyclehq/js-sdks) | [React Native Reference Docs](/sdk/client-side-sdks/react-native.md) |
| [Ruby](https://github.com/DevCycleHQ/ruby-server-sdk) | [Ruby Reference Docs](/sdk/server-side-sdks/ruby.md) |
40 changes: 20 additions & 20 deletions docs/sdk/sdk-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,43 +7,43 @@ sidebar_position: 1

DevCycle has different types of SDKs, some being client-side and others being server-side. This page serves to describe the differences between these SDK types and how to handle them. Implementation and usage change depending on which type of SDK is being used.

Check out our [DevCycle SDK Sample Applications](/samples-example-apps.md) page to learn how to use our SDKs with various programming languages and frameworks.

### Client-Side SDKs

DevCycle client-side SDKs are meant for single-user contexts. This means that the SDKs have a persistent data store for the user while the SDK is being used. Evaluation of Features happens directly on the client's device. These SDKs also include the Mobile SDKs. For more information on the difference between mobile and standard client-side SDK keys, read [API and SDK keys](/docs/home/feature-management/organizing-your-flags-and-variables/api-and-sdk-keys).

The current Client-Side SDKs are:

* **[DevCycle Javascript SDK](/docs/sdk/client-side-sdks/javascript)**
* **[DevCycle React SDK](/docs/sdk/client-side-sdks/react)**
* **[DevCycle iOS SDK](/docs/sdk/client-side-sdks/ios)**
* **[DevCycle Android SDK](/docs/sdk/client-side-sdks/android)**
* **[React Native](/docs/sdk/client-side-sdks/react-native)**
* **[Flutter](/docs/sdk/client-side-sdks/flutter)**

- **[DevCycle Javascript SDK](/docs/sdk/client-side-sdks/javascript)**
- **[DevCycle React SDK](/docs/sdk/client-side-sdks/react)**
- **[DevCycle iOS SDK](/docs/sdk/client-side-sdks/ios)**
- **[DevCycle Android SDK](/docs/sdk/client-side-sdks/android)**
- **[React Native](/docs/sdk/client-side-sdks/react-native)**
- **[Flutter](/docs/sdk/client-side-sdks/flutter)**

### Server-Side SDKs

Server-side SDKs are used in multi-user contexts where each call to the SDK will likely be for a different user. Each call to a server SDK function requires the user's ID and any other targeting information to be passed in on every function call. These SDKs are made for infrastructure, backend, and other such services.
Server-side SDKs are used in multi-user contexts where each call to the SDK will likely be for a different user. Each call to a server SDK function requires the user's ID and any other targeting information to be passed in on every function call. These SDKs are made for infrastructure, backend, and other such services.

The current Server-Side SDKs are:

* **[DevCycle NodeJS SDK (Local and Cloud)](/docs/sdk/server-side-sdks/node)**
* **[DevCycle Go SDK (Local and Cloud)](/docs/sdk/server-side-sdks/go)**
* **[DevCycle PHP SDK](/docs/sdk/server-side-sdks/php)**
* **[DevCycle Python SDK](/docs/sdk/server-side-sdks/python)**
* **[DevCycle Ruby SDK](/docs/sdk/server-side-sdks/ruby)**
* **[DevCycle Java SDK (Cloud Bucketing)](/docs/sdk/server-side-sdks/java-cloud)**
* **[DevCycle Java SDK (Local Bucketing)](/docs/sdk/server-side-sdks/java-local)**
* **[DevCycle .NET SDK (Cloud Bucketing)](/docs/sdk/server-side-sdks/dotnet-cloud)**
* **[DevCycle .NET SDK (Local Bucketing)](/docs/sdk/server-side-sdks/dotnet-local)**

- **[DevCycle NodeJS SDK (Local and Cloud)](/docs/sdk/server-side-sdks/node)**
- **[DevCycle Go SDK (Local and Cloud)](/docs/sdk/server-side-sdks/go)**
- **[DevCycle PHP SDK](/docs/sdk/server-side-sdks/php)**
- **[DevCycle Python SDK](/docs/sdk/server-side-sdks/python)**
- **[DevCycle Ruby SDK](/docs/sdk/server-side-sdks/ruby)**
- **[DevCycle Java SDK (Cloud Bucketing)](/docs/sdk/server-side-sdks/java-cloud)**
- **[DevCycle Java SDK (Local Bucketing)](/docs/sdk/server-side-sdks/java-local)**
- **[DevCycle .NET SDK (Cloud Bucketing)](/docs/sdk/server-side-sdks/dotnet-cloud)**
- **[DevCycle .NET SDK (Local Bucketing)](/docs/sdk/server-side-sdks/dotnet-local)**

### Difference between Local and Cloud Bucketing


#### Cloud bucketing SDKs

The logic which determines what a user gets is calculated in the cloud, using workers at the edge which are available globally. Every function within the SDK will reach out to these edge workers and respond with the response with extremely low latency. The Cloud Bucketing SDKs will cause a large number of outbound requests as each SDK call will reach out to the DevCycle edge servers. However, the cloud bucketing SDKs are useful in cases in which a much older version of the given language is being used, as Local Bucketing generally only supports newer versions of languages.

#### Local Bucketing
Local bucketing does all of the calculations locally using extremely performant Web Assembly code. The project's environment configuration is downloaded upon initialization of the SDK, and all future SDK calls will calculate values locally within the SDK. This approach will guarantee responses from the SDK in 1-10ms. The configuration will be updated at a configurable polling interval.

Local bucketing does all of the calculations locally using extremely performant Web Assembly code. The project's environment configuration is downloaded upon initialization of the SDK, and all future SDK calls will calculate values locally within the SDK. This approach will guarantee responses from the SDK in 1-10ms. The configuration will be updated at a configurable polling interval.
4 changes: 2 additions & 2 deletions docs/sdk/server-side-sdks/_category_.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
label: 'Server-Side SDKs'
position: 4
label: "Server-Side SDKs"
position: 5