@onixjs/sdk
v1.0.0-beta.5
Published
RPC Client for OnixJS Applications.
Downloads
39
Readme
OnixJS - Enterprise Grade Framework
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!