
Statsig's SDKs are the in-code tool you'll use to show experiment variants, flag features, and log key business metrics. Statsig's SDKs:

* **Abstract the complexity:** Statsig handles caching, retry mechanisms, and networking.
* **Encourage best practices:** Built around parameters and language-specific best practices.
* **Broad deployment support:** 30+ SDKs across clients, servers, the edge, and more.

***

## When to use Statsig SDKs

### 1. Targeting and assignment

Decide in code who sees new features and experiment variants. Target based on any **user attributes** (for example, location or device type) or **environment-level attributes** to control rollouts and experiment enrollment.

### 2. Logging events

Log key business metrics to power experiment and product analytics. Events flow into Statsig automatically. For web-based platforms (for example, JavaScript, React), Statsig also supports **[Autocaptured events](/webanalytics/overview)**.

***

## Choose between client and server SDKs

Statsig offers both **client-side** and **server-side** SDKs, each suited to different use cases:

* **Client-side SDKs**: Designed for user-facing applications where events are logged directly from the browser or mobile app. These SDKs operate in real time and provide instant feedback on user behavior.

* **Server-side SDKs**: Designed for backend services. Use server-side SDKs to control experiments, feature flags, and log server-side events. Server-side SDKs provide more control for use cases involving system-level actions or business logic.

For a detailed comparison, go to the [Client vs Server SDK Overview](/sdks/client-vs-server).

For frameworks like **Next.js** that bridge client and server-side logic, go to the [Next.js SDK](/client/Next) guide.

***

## Available SDKs

Statsig offers SDKs for a wide variety of platforms:

### Client SDKs

{% card-grid columns="3" %}
{% card title="JavaScript" href="/client/javascript-sdk" icon="js" %}
Browser JavaScript
{% /card %}

{% card title="React" href="/client/React" icon="react" %}
Client-Side React
{% /card %}

{% card title="React Native" href="/client/ReactNative" icon="react" %}
Bare React Native SDK
{% /card %}

{% card title="Next.js" href="/client/Next" icon="n" %}
Next.js SSR, SSG & Client-Side
{% /card %}

{% card title="Angular" href="/client/Angular" icon="angular" %}
Angular bindings for Javascript SDK
{% /card %}

{% card title="Swift" href="/client/iosClientSDK" icon="swift" %}
iOS, MacOS, tvOS SDK
{% /card %}

{% card title="Android" href="/client/Android" icon="android" %}
Android Kotlin/Java SDK
{% /card %}

{% card title=".NET Client" href="/client/DotNet" icon="dotnet" %}
Client SDK for .NET framework
{% /card %}

{% card title="Roku" href="/client/Roku" icon="roku" %}
Roku Brightscript SDK
{% /card %}

{% card title="Unity" href="/client/Unity" icon="unity" %}
Unity game engine SDK
{% /card %}

{% card title="Dart/Flutter" href="/client/Dart" icon="flutter" %}
Flutter/Dart Mobile App SDK
{% /card %}

{% card title="C++ Client" href="/client/CPP" icon="cplusplus" %}
C++ client-side SDK
{% /card %}
{% /card-grid %}

### Server side SDKs

{% card-grid columns="3" %}
{% card title="Node.js" href="/server-core/node-core" icon="node-js" %}
Node.js server SDK
{% /card %}

{% card title="Java" href="/server-core/java-core" icon="java" %}
Java server SDK
{% /card %}

{% card title="Python" href="/server-core/python-core" icon="python" %}
Python server SDK
{% /card %}

{% card title="Go" href="/server/go" icon="golang" %}
Go server SDK
{% /card %}

{% card title="Ruby" href="/server/ruby" icon="ruby" %}
Ruby server SDK
{% /card %}

{% card title=".NET Server" href="/server-core/dotnet-core" icon="dotnet" %}
.NET server SDK
{% /card %}

{% card title="PHP" href="/server-core/php-core" icon="php" %}
PHP server SDK
{% /card %}

{% card title="Rust" href="/server-core/rust-core" icon="rust" %}
Rust server SDK
{% /card %}

{% card title="C++ Server" href="/server-core/cpp-core" icon="cplusplus" %}
C++ server SDK
{% /card %}
{% /card-grid %}

***

## Install your SDK

1. **Select your SDK**: Choose the client or server SDK that fits your platform from the lists above.
2. **Follow the installation guide**: Each SDK has an installation guide that walks you through setup.
3. **Start experimenting**: After you integrate the SDK, set up feature flags, run experiments, and log events for analysis.

If you have questions or need help with installation, reach out in the [Slack community](https://statsig.com/slack).
