Thing-IF SDK の導入手順
Thing-IF を利用するために必要な設定を行います。
設定手順は、開発環境と言語の選択 で選択した方式によって異なります。
いずれの方法でも、Kii Cloud SDK と Thing-IF SDK の 2 つを組み込みます。
Node.js で TypeScript コードをビルドする場合
以下の手順に従いプロジェクトを設定します。
Node.js 上でプロジェクトを準備します。
事前に Node.js 上で開発プロジェクト用のディレクトリを作成し、
npm init
で package.json を生成しておきます。また、Web アプリの開発に使用するフレームワークなどを組み込み、"Hello World" 的な Web アプリが動作する状態にしておきます。実装した Web アプリは webpack や Browserify を使ってビルドし、生成した JavaScript ファイルを HTML から読み込むことを想定しています。
これらの Web アプリの開発方法は Kii Cloud 外の技術であるため、詳細は Web 上の一般的な技術情報をご覧ください。
プロジェクトにライブラリーを組み込みます。
Kii ライブラリー 2 点(Kii Cloud SDK および Thing-IF SDK)を追加します。
$ npm install kii-cloud-sdk --save $ npm install thing-if-sdk@0.2.6 --save
Thing-IF SDK は 1.0.0 未満のバージョン(最新版は 0.2.6)を
@
によって指定して実行します。最新版の 1.0.0 以上は特定案件向けのバージョンであり、本ドキュメントの内容とは仕様が異なるため、指定できません。実行すると、npm コマンドによって package.json の "dependencies" に以下の 2 行が追加されます。
"dependencies": { ... "kii-cloud-sdk": "^XX.YY.ZZ", ... "thing-if-sdk": "^0.2.6", ... }
-
kii-cloud-sdk は Kii Cloud SDK です。
XX.YY.ZZ
は最新版のバージョンが埋め込まれます。こちら の右上にあるXX.YY.ZZ is the latest of ...
からもバージョンを確認できます。 -
thing-if-sdk は Thing-IF SDK です。
1.0.0 未満のバージョンが埋め込まれていることを確認します。
いずれも、先頭にキャレット
^
を付けて "^XX.YY.ZZ" のように指定されているため、次回の npm install や npm update で SDK のマイナーバージョンアップの内容が自動的に取り込まれます。予期しない更新を避けたい場合は、キャレットを削除してバージョンを固定することもできます。-
型定義ファイルを作成します。
typings をインストールして型定義ファイル(d.ts ファイル)を作成します。
$ npm install typings -g $ typings install npm:thing-if-sdk --save
作成結果はプロジェクトの
typings
ディレクトリ上に保存されます。Web アプリの実装ファイルで SDK を参照します。
Web アプリを実装する際には、Kii Cloud SDK と Thing-IF SDK を使用できるよう、
require()
やimport
を使って SDK を参照します。Kii Cloud SDK の機能を使用するすべての TypeScript ファイルでは、以下の命令を実行します。
declare function require(string): any; var kii = require('kii-cloud-sdk').create();
Thing-IF SDK の機能を使用するすべての TypeScript ファイルでは、以下の命令を実行します。
/// <reference path="./typings/modules/thing-if-sdk/index.d.ts" /> import * as ThingIF from 'thing-if-sdk';
Web ブラウザー用の JavaScript ファイルを生成します。
Web アプリの実装後、webpack や Browserify を使ってビルドします。
webpack でビルドする際、XMLHttpRequest.js で
Cannot resolve module 'child_process'
、Cannot resolve module 'fs'
エラーになる場合は、webpack.config.js に以下のexternals
からの 3 行を追加してください。module.exports = [ { ...... externals:[{ xmlhttprequest: '{XMLHttpRequest:XMLHttpRequest}' }], ...... } ]
また、SDK がコンパイルエラーになる場合は、TypeScript コンパイラのバージョンなどを確認してください。バージョンは package.json の
devDependencies
内にあるtypescript
で確認できます。Kii Cloud の SDK は、SDK のリリース時点における、最新の安定版でビルドできることを確認しています。
JavaScript コードを直接記述する場合
以下の手順に従いプロジェクトを設定します。
Kii Cloud SDK for JavaScript を用意します。
アプリケーションの作成 でダウンロードした Kii Cloud SDK for JavaScript の .js ファイルを用意しておきます。
まだ SDK をダウンロードしていない場合は、開発者ポータル の "ダウンロード" のリンクよりダウンロードできます。
Thing-IF SDK for JavaScript をビルドします。
GitHub から Thing-IF SDK for JavaScript のソースファイルをダウンロードして、Node.js を使ってビルドします。
まず、以下のコマンドでソースファイルをダウンロードします。Thing-IF SDK は 1.0.0 未満のバージョンを指定します(最新版は 0.2.6 です)。1.0.0 以上は特定案件向けのバージョンであり、本ドキュメントの内容とは仕様が異なるため、指定できません。
$ git clone -b 0.2.6 https://github.com/KiiPlatform/thing-if-JSSDK/
ダウンロード後、Browserify を使って Thing-IF SDK をビルドして、thing-if-sdk.js を生成します。
$ cd thing-if-JSSDK $ npm install $ npm install browserify -g $ browserify . -s ThingIF > thing-if-sdk.js
ビルド中、SDK がコンパイルエラーになる場合は、TypeScript コンパイラのバージョンなどを確認してください。バージョンは package.json の
devDependencies
内にあるtypescript
で確認できます。Kii Cloud の SDK は、SDK のリリース時点における、最新の安定版でビルドできることを確認しています。リリース用にファイル圧縮(minify)された thing-if-sdk.min.js が必要な場合は、uglifyify などを使用できます。
Web ブラウザーに組み込みます。
Kii Cloud SDK と Thing-IF SDK の .js ファイルと HTML ファイルを Web サーバーに配置して Web ブラウザーから読み込める状態にします。
HTML ファイルに以下のようなスクリプトを埋め込みます。
<script src="scripts/KiiSDK.js"></script> <script src="scripts/thing-if-sdk.js"></script>
KiiSDK.js と thing-if-sdk.js のパスは、Web サーバー上での位置に合わせて書き換えてください。なお、リリース時には KiiSDK.min.js などを使って読み込み時間を短縮することもできます。
このスクリプトにより、Kii Cloud SDK と Thing-IF SDK がグローバル領域に読み込まれます。Web アプリのコードからは特別な宣言を行わずに SDK の機能を利用できます。