Overview
This guide provides information on the Web SDK which enables you to
- develop web applications that can be deployed to the platform,
- communicate authenticated with our API,
- apply default or branded UI components to your custom application.
If you have previously been working with older versions you might be interested in some short information on the evolution of the UI stack (Migration history) to better understand how and why it is now designed the way it is.
Web SDK for Angular JS is deprecated. Therefore, its documentation is no longer provided here. As all Cloud of Things REST APIs are backward compatible, Angular JS applications will still continue to work.
Web SDK for plugins is based on Angular JS and is also deprecated. For Angular-based development, we recommend you to implement native Angular modules. You can import plugins to Angular as described in ngx-components > Extension points.
Packages
The Web SDK consists of the following packages deployed to npm in the scope @c8y
and available under Apache 2.0 license:
These packages depend on each other from top to bottom. While the @c8y/client
is a very low-level API interface with nearly no dependencies, the @c8y/apps
provide feature rich applications by including @c8y/ngx-components
and @c8y/client
.
The goal of these splittings is to provide the right package for every use case, for example, if you want to build a small application with React you could use the @c8y/client
to do the API interaction. If you need a brandable feature rich application which is close to our Cockpit or Device management application you could use @c8y/ngx-components
together with @c8y/style
.
The following is a list which explains the use cases of each package.
- @c8y/client: Use this client to access our API. The client is isomorphic, that means it could be used in node.js and in the browser.
- @c8y/ngx-components: A components collection and data access layer for Angular applications. This package can be used to build Angular applications.
- @c8y/styles: The styles for the look & feel of an application. Extend this package to apply a custom branding to your application.
- @c8y/apps: Example and bootstrapping applications to easily let you start with the Web SDK.
You can find all our packages on npm here. To quickly get you bootstrapped with these packages we have built an CLI tool called @c8y/cli
. Next, we will showcase how to get started with the @c8y/cli
command line tool.