SDK の構成とサポート環境
Kii Cloud は、各プラットフォームに向けたクライアント SDK と開発者ポータルから構成されています。ここでは、各 SDK がサポートする環境を説明します。
各クライアント SDK では言語やランタイムの仕様に応じて呼び出し方に違いはありますが、扱うデータのモデルや実装方法はほぼ同じです。1 つのプラットフォームの仕様を理解すれば、同じイメージのまま別のプラットフォームへ容易に移植できます。
モバイル
モバイル向けには以下の SDK を利用できます。
Kii Cloud SDK for Android
Android 2.3.3 以降(API レベル 10 以降)の Java での開発に対応した SDK です。SDK を開発対象のアプリケーションに組み込んで使用します。SDK は Maven リポジトリから自動的にダウンロードできます。
Kii Cloud SDK for iOS
iOS 8.0 以降の Objective-C、Swift に対応した SDK です。Xcode 6 以降での開発に対応しています。SDK を開発対象のアプリケーションに組み込んで使用します。SDK は CocoaPods を使って自動的にダウンロードできます。
Kii Cloud SDK for JavaScript
以下の環境に対応した SDK です。
Web ブラウザー
Mozilla FireFox 14 以降、Google Chrome 20 以降、Safari 5 以降に対応しています。SDK をダウンロードし、JS ファイルを開発対象のアプリケーションに組み込んで使用します。
Internet Explorer 11 および Microsoft Edge については基本的な動作確認のみ行っております(動作保証の対象外です)。
Apache Cordova
SDK をダウンロードし、Cordova の構成ファイルに追加して使用します。
Node.js
Node.js v0.10.0 以降が動作する環境で SDK が利用可能です。
npm
コマンドやpackage.json
を使用して SDK パッケージをインストールした後、SDK モジュールを読み込んで使用します。サーバー機能拡張
Server Code を記述する際に使用できます。Server Code で利用する場合は、SDK の組み込みは必要ありません。
REST API
HTTPS を使って直接 Kii Cloud の機能を呼び出す方法です。Kii Cloud では JSON をやりとりすることでサーバー機能を実行できます。
各開発言語のランタイムやサードパーティ製のライブラリなど、任意の HTTPS クライアントを使って Kii Cloud にアクセスすると、上記のクライアント SDK と同等の機能を実現できます。クライアント SDK も、内部では各言語に応じて HTTPS 通信を行い、REST API を実行しています。REST API は HTTPS が使えれば実行できるため、クライアント SDK が提供されていないデスクトップ PC などのプラットフォームから利用したり、他のサーバーから Node.js で呼び出したりすることもできます。
REST API を利用する際には、他のクライアント SDK のようなダウンロードモジュールは不要です。
コマンドラインツール
Kii Cloud で使用するコマンドラインツールです。以下の 2 つが含まれます。
- サーバー機能拡張の管理ツール:Kii Cloud ではサーバー上で動作するプログラムを JavaScript で記述して Kii Could のサーバー機能を拡張できます。このツールを使って、これらの拡張プログラムのアップロードなどの管理作業を行えます。
- 開発者ログの閲覧ツール:Kii Cloud 上のサーバーログを確認するためのツールです。
これらを実行するには node.js v0.10.11 以降が動作する環境が必要です。
開発者ポータル
開発者/管理者向けの機能を提供する Kii Cloud の Web UI です。Kii Cloud 上のアプリケーションに対する様々な設定を行えるほか、アプリ分析によってアプリケーションの利用状況を把握する機能も利用できます。
また、データブラウザーやユーザーコンソールによって、モバイルアプリから書き込まれたデータを確認できます。
利用できる Web ブラウザーは、Mozilla FireFox 14 以降、Google Chrome 20 以降、Safari 5 以降です。Internet Explorer には対応していません。
IoT
IoT 向けには以下の SDK を利用できます。
Thing-IF SDK for Android
Android 2.3.3 以降(API レベル 10 以降)の Java での開発に対応した SDK です。SDK を開発対象のアプリケーションに組み込んで使用します。ユーザー管理等のため、Kii Cloud SDK を併用する必要があります。2 つの SDK は Maven リポジトリから自動的にダウンロードできます。
Thing-IF を使用しない場合、Kii Cloud SDK 単体で利用することもできます。
Thing-IF SDK for iOS
iOS 8.0 以降に対応した SDK です。Xcode 8 以降の Swift 2.3 での開発に対応しています。
SDK 自身と、リファレンスガイドでのサンプルコードは、すべて Swift を使って実装やテストが行われています。
CocoaPods でフレームワークをダウンロードし、開発対象のアプリケーションに組み込んで使用します。ユーザー管理等のため、Kii Cloud SDK を併用する必要があります。
Thing-IF を使用しない場合、Kii Cloud SDK 単体で利用することもできます。
Thing-IF SDK for JavaScript
Web アプリにより、IoT ソリューションのクライアント側を開発することを想定した SDK です。TypeScript または JavaScript で Web アプリを実装できます。
設計上、ECMAScript 5 に対応し、かつ、グローバル領域で Promise が利用できるブラウザーでの動作を想定しています。Mozilla FireFox 49、Google Chrome 53、Safari 9、Microsoft Edge 38 での動作を確認しています。
SDK を開発対象のアプリケーションに組み込んで使用します。ユーザー管理等のため、Kii Cloud SDK を併用する必要があります。2 つの SDK は開発者ポータル、GitHub、または npm リポジトリからダウンロードできます。
SDK または Web アプリをビルドするため、Node.js v0.10.0 以降が必要です。
npm
コマンドによってビルドを行います。Thing 側の実装や、Server Code での利用には対応していません。
Kii Cloud SDK for JavaScript
モバイルアプリと IoT のデバイスの両方で利用できる SDK です。
モバイルアプリ側で利用する場合は、上記のモバイル向けの説明をご覧ください。
Thing 側で利用する場合は、Node.js v0.10.0 以降が動作する環境で SDK が利用可能です。Thing 上に Node.js を導入し、
npm
コマンドを実行して SDK パッケージをインストールした後、SDK モジュールを読み込んで使用します。Thing-IF SDK for C
IoT のデバイスに組み込むことを想定した SDK です。C 言語を使う状況を想定しており、組み込み Linux に向けたリファレンス実装を用意しています。SDK のソースコードをダウンロードし、デバイスに組み込んで使用します。
Thing-IF SDK for C を利用する場合、Kii Cloud SDK for Thing を併用する必要はありませんが、併用も可能です。
Kii Cloud SDK for Thing
IoT のデバイスに組み込むことを想定した SDK です。Thing-IF を使用せず、直接 Kii Cloud の機能を利用します。
組み込み Linux から C 言語を使う状況を想定しています。SDK のソースコードをダウンロードし、デバイスに組み込んで使用します。
ゲートウェイエージェント
ゲートウェイはインターネットに直接接続できないデバイス(エンドノード)を接続するための仕組みです。ゲートウェイエージェントはビルド済みのバイナリファイルで、ゲートウェイ上で制御用の常駐プロセスとして動作します。
コンバーター
ゲートウェイとエンドノードを接続するためには、プロトコル変換のためのコンバーターを開発する必要があります。コンバーターはリファレンス実装としてソースコードが提供されており、これをスケルトンとして利用することによって効率よく開発できます。
REST API
モバイル環境と Thing 環境の両方で REST API を直接利用できます。
モバイル環境では、モバイル向けと同じ機能に加え、IoT 向けに Thing 管理の機能なども利用できます。Thing 環境ではデータアクセスや Thing 管理などの機能を Thing 視点から実行できます。
Thing Interaction Framework の機能範囲に限り、HTTPS の代わりに MQTT を使って REST API と同じ API を実行することもできます。
以下はモバイル向けと同じです。上記の説明をご覧ください。
- Kii Cloud SDK for Android
- Kii Cloud SDK for iOS
- コマンドラインツール
- 開発者ポータル