概要
本ガイドは、以下のことを可能にするWeb SDKの情報を提供します。
- Things CloudにデプロイできるWebアプリケーションを開発すること
- APIで認証された通信を行うこと
- カスタムアプリケーションへデフォルトまたはブランディングUIコンポーネントを適用すること
以前に古いバージョンで作業していた場合、UI スタックの進化(移行履歴)に関する簡単な情報に興味があるかもしれません。これにより、UI スタックがどのように、なぜ現在のように設計されているのかをよりよく理解できるようになります。
Angular JS向けWeb SDKは非推奨となりました。そのため、そのドキュメントは提供されなくなりました。すべての Things Cloud REST API は後方互換性があり、Angular JSのアプリケーションは引き続き動作します。
プラグイン用のWeb SDKはAngular JSに基づいており、こちらも非推奨となります。Angularベースの開発では、ネイティブのAngularモジュールを実装することをお勧めします。コンポーネントライブラリ (ngx) > Extensions pointsにあるように、Angularにプラグインをインポートできます。
パッケージ
Web SDKは @c8y
というスコープでnpmに公開され、Apache 2.0 ライセンスの下で利用可能な以下のパッケージから構成されています。
これらのパッケージは下部から上部までそれぞれが依存関係にあります。@c8y/client
はほとんど依存関係のない低レベルなAPIインターフェースである一方、@c8y/apps
は @c8y/ngx-components
と @c8y/client
を含む、機能が豊富なアプリケーションを提供しています。
このように分割している目的は、すべてのユースケースに対して適切なパッケージを提供するためです。例えば、Reactで規模の小さなアプリケーションを構築したい場合、APIの疎通に @c8y/client
を使用できます。コックピットやデバイス管理アプリケーションに近いブランディング可能な機能豊富なアプリケーションが必要な場合は、@c8y/stlye
と一緒に @c8y/ngx-components
を使用できます。
以下は、各パッケージのユースケースの一覧です。
- @c8y/client:APIへアクセスするために利用します。
@c8y/client
はアイソモーフィック(Isomorphic) であり、node.jsとブラウザの双方で使用できます。 - @c8y/ngx-components:Angularアプリケーションのためのコンポーネントのコレクションかつデータアクセス用のレイヤです。このパッケージはAngularアプリケーションをビルドするのに使用されます。
- @c8y/styles:アプリケーションの見た目用のスタイルパッケージです。アプリケーションにカスタムブランディングを適用するには、このパッケージを拡張してください。
- @c8y/apps:Web SDKを簡単に使い始める始めるためのアプリケーションの例とブートストラップされたアプリケーションを提供します。
npm ではすべてのパッケージを、 ここで見つけることができます。これらのパッケージですばやくブートストラップするために @c8y/cli
というCLIツールを開発しました。次はコマンドラインツール @c8y/cli
の使用方法を紹介します。