RPC Client for OnixJS Applications.


801.0.0-beta.53 years ago4 years agoMinified + gzip package size for @onixjs/sdk in KB


OnixJS - Enterprise Grade Framework

Coverage Status Travis npm (scoped)

Disclaimer: This framework is in active development and won't be ready for production until we reach release candidate.

  • Alpha release date: Feb 2018
  • Beta release: May 15 2018
  • Estimated date for release candidate: EO 2018


$ npm install --save @onixjs/sdk


The OnixJS Client SDK is the result of years of experience full of lessons, we understood that creating a coupled SDK to a specific front-end framework is such a bad idea, therefore we designed a pattern in order to create a new SDK that is able to run anywhere.

Now everybody is welcome, Angular? React? Vue? Stencil? RequiereJS? Electron? NativeScript? ReactNative? you name it, use it in any framework you want.

OnixJS Client SDK Example

import { OnixClient, ComponentReference, AppReference} from '@onixjs/sdk';
import { Browser } from '@onixjs/sdk/dist/adapters/browser.adapters';

const sdk: OnixClient = new OnixClient({
    host: '',
    port: 9000,
    adapters: {
      http: Browser.HTTP,
      websocket: Browser.WebSocket,
      storage: Browser.LocalStorage

let componentRef: ComponentReference;

// Initialize the SDK
await this.sdk.init();
// Create an Application Reference
const myApp: AppReference | Error = this.sdk.AppReference('MyApp');
// Verify we got a valid AppReference, else throw the error.
if (myApp instanceof AppReference) {
  // Create Component Reference
  this.componentRef = todoApp.Module('TodoModule').Component('TodoComponent');
  // Create a listTodos stream reference
  componentRef.Method('myStream').stream((data) => {
} else {
  throw myApp;

await componentRef.Method('myRPC').call({ text: input.value });

The example above is a general implementation of the OnixJS Client SDK, but we definitely recommend you to spend some time checking out the examples in different front-end frameworks we built for you:




Core Documentation

A more complete documentation can be found within the Core Documentation.


Jonathan Casarrubias


Andres David Jimenez


Paul Warelis


Miguel Serrano


Ixshel Escamilla


Raul Vargas


This project follows the all-contributors specification. Contributions of any kind welcome!

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.