Thing-IF SDK の導入手順

Thing-IF を利用するために必要な設定を行います。

設定手順は、開発環境と言語の選択 で選択した方式によって異なります。

いずれの方法でも、Kii Cloud SDK と Thing-IF SDK の 2 つを組み込みます。

Node.js で TypeScript コードをビルドする場合

以下の手順に従いプロジェクトを設定します。

  1. Node.js 上でプロジェクトを準備します。

    事前に Node.js 上で開発プロジェクト用のディレクトリを作成し、npm init で package.json を生成しておきます。また、Web アプリの開発に使用するフレームワークなどを組み込み、"Hello World" 的な Web アプリが動作する状態にしておきます。

    実装した Web アプリは webpackBrowserify を使ってビルドし、生成した JavaScript ファイルを HTML から読み込むことを想定しています。

    これらの Web アプリの開発方法は Kii Cloud 外の技術であるため、詳細は Web 上の一般的な技術情報をご覧ください。

  2. プロジェクトにライブラリーを組み込みます。

    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 のマイナーバージョンアップの内容が自動的に取り込まれます。予期しない更新を避けたい場合は、キャレットを削除してバージョンを固定することもできます。

  3. 型定義ファイルを作成します。

    typings をインストールして型定義ファイル(d.ts ファイル)を作成します。

    $ npm install typings -g
    $ typings install npm:thing-if-sdk --save
    

    作成結果はプロジェクトの typings ディレクトリ上に保存されます。

  4. 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';
    
  5. 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 コードを直接記述する場合

以下の手順に従いプロジェクトを設定します。

  1. Kii Cloud SDK for JavaScript を用意します。

    アプリケーションの作成 でダウンロードした Kii Cloud SDK for JavaScript の .js ファイルを用意しておきます。

    まだ SDK をダウンロードしていない場合は、開発者ポータル の "ダウンロード" のリンクよりダウンロードできます。

  2. 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 などを使用できます。

  3. 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 の機能を利用できます。