DEV Community

skiffer-git
skiffer-git

Posted on

OpenIMSDK: Universal In-App Communication Solution for All Platforms

From the day OpenIM was founded, we have always believed in "open source" as the core driving force. This not only reflects the internet's ideals of freedom, equality, and sharing but also addresses global data security challenges.

Issues such as data breaches, ransomware, and privacy invasions constantly remind us of the importance of security. Therefore, we offer a cost-effective and secure IM service to meet the data protection needs of enterprises.

OpenIMSDK

With this SDK, you can add instant messaging capabilities to your application. By connecting to a self-hosted OpenIMServer server, you can easily integrate instant messaging functions into your app with just a few lines of code.

The core functionality of OpenIMSDK is implemented based on open-im-sdk-core. Here are its details on different platforms:

iOS Integration

  • Tool: gomobile
  • Output File: XCFramework
  • Interaction: iOS interacts with the SDK through JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: iOS utilizes the SQLite layer provided internally by the SDK

Android Integration

  • Tool: gomobile
  • Output File: AAR
  • Interaction: Android interacts with the SDK through JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: Android utilizes the SQLite layer provided internally by the SDK

Web Integration

  • Language: Go
  • Features: Uses Go's WebAssembly support to compile into wasm
  • Interaction: Web pages interact with the SDK via JSON
  • API: The SDK offers a re-wrapped API for easier integration
  • Data Storage: JavaScript employs sql.js to virtualize SQLite and store it in IndexedDB to handle SQL logic

Client SDK and Demos

Platform/Language SDK Resource Link SDK Description Demo Resource Link Description
Golang open-im-sdk-core Golang version SDK, implemented with Gomobile/wasm/cgo
iOS open-im-sdk-ios iOS version SDK open-im-ios-demo iOS Demo
Android open-im-sdk-android Android version SDK open-im-android-demo Android Demo
Flutter open-im-sdk-flutter Flutter version SDK open-im-flutter-demo Flutter Demo
uni-app open-im-sdk-uniapp uni-app version SDK open-im-uniapp-demo uni-app Demo
JS SDK open-im-sdk-web-wasm JS SDK version open-im-pc-web-demo Electron Demo
React Native open-im-sdk-reactnative React Native SDK open-im-reactnative-demo React Native Demo

Top comments (0)