For the complete documentation index, see llms.txt. This page is also available as Markdown.

Client SDK vs Server SDK

This document explains client-side and server-side SDKs and helps you decide which SDK type to use. It is important to understand whether it is more appropriate to implement the features the SDK provides on the client or the server.

Type
Description

Client-side

SDK features run on the user's device, such as a browser or mobile app.

Includes JavaScript, Android, iOS, React, React Native, Flutter, and Unity SDKs.

Server-side

SDK features run on the server providing the service.

Includes Java/Kotlin, Python, Node.js, PHP, and Ruby SDKs.

Client-side SDK

SDK features run on the user's device, such as a web browser or mobile app, and the device communicates directly with the Hackle server.

The Client-side SDK is recommended in the following cases:

  • When distributing users into variations to test visual element changes, such as button color or layout modifications

  • When you need to track user events that occur on the client without server communication, such as clicks or scrolls

  • When business logic is concentrated on the client side

Server-side SDK

2264

SDK features run on the server and communicate server-to-server.

The Server-side SDK is recommended in the following cases:

  • When distributing users into variations to test backend system changes, such as improving search algorithms or modifying recommendation logic

  • When you need to track user events that are finalized on the server, such as user registration or purchase completion

Last updated