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.
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

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