@onixjs/sdk

RPC Client for OnixJS Applications.

Stats

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

Readme

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

Installation

$ npm install --save @onixjs/sdk

Description

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: 'http://127.0.0.1',
    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) => {
    console.log(myData);
  });
} 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:

Web

Desktop

Mobile

Core Documentation

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

Contributors


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.