Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

WebアプリケーションにリッチUIをもたらす高機能JavaScriptライブラリ「Wijmo」(ウィジモ)

jQuery UIの標準ウィジェットを補完する高機能ライブラリ「Wijmo」の活用 第1回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
目次

Wijmoのライセンス体系

 Wijmoはグレープシティが提供するソフトウェア製品のため、利用に先立ちライセンス体系を理解することが重要です。利用者はWijmoを利用するためのライセンスとして「オープンソースライセンス」と「商用ライセンス」のいずれかを選択できます。

 オープンソースライセンスはGNU GPLv3に基づいており、以下のいずれかの条件を満たしていれば、オープンソースライセンスのもと無料でWijmoを利用できます。

  • a)アプリケーションを配布しない場合
  • b)アプリケーション配布時にソースコードを公開し、かつ改変と再配布を無制限に許可できる場合

 なおオープンソースライセンスを選択した場合、グレープシティからのテクニカルサポートは提供されません。

 オープンソースライセンスを選択できない場合やテクニカルサポートを受ける必要がある場合は、商用ライセンスを購入することになります。Wijmoのラインナップには基本ウィジェットが利用できる「Wijmo Professional」、Professionalの機能に加えてSpreadJSが利用できる「Wijmo Enterprise」、EnterpriseにおいてExcel I/OとGUIのデザイナを利用するための追加オプション「Optional Pack for Wijmo Enterprise」があり、利用する機能の範囲に応じて購入が必要です。ライセンスや購入についての詳細は、グレープシティへ問い合わせてください。

表1 Wijmoのラインナップ
  Wijmo
Professional
Wijmo
Enterprise
Optional Pack for
Wijmo Enterprise
基本ウィジェット -
SpreadJS - -
SpreadJS
デザイナ & Excel I/O
- -
サポート

Wijmoを使ってみよう

 それでは、Wijmoを実際に使ってみましょう。今回は手始めにwijbarchartウィジェットを用いて棒グラフを表示させます。シンプルなサンプルの中にWijmoを利用する基本的な手順が含まれています。

[リスト1]Wijmoを利用した棒グラフのサンプル(wijmo_barchart.html)
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head>
<title>Wijmoサンプル(棒グラフ)</title>

<!-- WijmoテーマCSS ...(1) -->
<link href="http://cdn.wijmo.com/themes/aristo/jquery-wijmo.css" rel="stylesheet" type="text/css" />

<!-- WijmoウィジェットCSS ...(2) --> 
<link href="http://cdn.wijmo.com/jquery.wijmo-pro.all.3.20141.34.min.css" rel="stylesheet" type="text/css" /> 

<!-- RequireJs ...(3) -->
<script type="text/javascript" src="http://cdn.wijmo.com/external/require.js"></script>

<!-- RequireJsにこのページで読み込むライブラリを設定 ...(4) -->
<script type="text/javascript">
    requirejs.config({
        baseUrl: "http://cdn.wijmo.com/amd-js/3.20141.34/",
            paths: {
                "jquery": "jquery-1.9.1.min",
                "jquery-ui": "jquery-ui-1.10.1.custom.min",
                "jquery.ui": "jquery-ui",
                "jquery.mousewheel": "jquery.mousewheel.min",
                "globalize": "globalize.min"
            }
    });
</script>

<script type="text/javascript">
// requireでwijbarchartの使用を宣言 ...(5)
require(["wijmo.wijbarchart"], function () {
  $(document).ready(function () {

    // 棒グラフの設定 ...(6)
    $("#wijbarchart").wijbarchart({
      // 数字のカンマ区切り設定
      chartLabelFormatString: "n0",
      axis: {
        y: {annoFormatString:"n0"},
      },
      // ツールチップ表示
      hint: {
        content: function () {return this.data.label + ': ' + Globalize.format(this.y, "n0");}
      },
      // タイトル
      header: {text: "2014年3月携帯電話純増数"},
      // グラフデータ
      seriesList: [
        {
          label: "全体",
          legendEntry: true,
          data: { x: ['SoftBank', 'KDDI', 'docomo'], y: [649500, 494600, 515500] }
        },
        {
          label: "モジュール",
          legendEntry: true,
          data: { x: ['SoftBank', 'KDDI', 'docomo'], y: [159400, 43200, 6400] }
        }
      ],
      // グラフ表示色
      seriesStyles: [
        {fill: "#5599ff", stroke: "#0066ff", opacity: 0.8},
        {fill: "#ffaacc", stroke: "#ff0066", opacity: 0.8}
      ],
    });
  });
});
</script>

</head>
<body>
<!-- グラフ表示領域 -->
<div id="wijbarchart" style="width: 480px; height: 320px">
</div>
</body>
</html>

 (1)(2)でWijmoに必要とされるCSSを設定しています。(3)(5)はJavaScriptのモジュールローダーRequireJsの設定で、Wijmoおよびライブラリのうち必要とされるもののみをロードすることでページの表示速度を向上させます。

 棒グラフの表示処理は(6)以下です。棒グラフの表示データや色などの定義を含むJavaScriptオブジェクトをメソッドの引数として与えることで、グラフをカスタマイズしています。これだけのシンプルな実装で、表示時アニメーションやマウスオーバー時のフロート表示を含むリッチな棒グラフが生成できます。

図5 リスト1で表示した棒グラフ。マウスオーバー時のフロート表示にも対応
図5 リスト1で表示した棒グラフ。マウスオーバー時のフロート表示にも対応

まとめ

 本記事では、グレープシティが提供するJavaScriptライブラリWijmoについて概要やライセンス体系を説明するとともに、サンプルを用いてシンプルな実装からリッチな機能を利用できることを紹介しました。次回以降は、Wijmoウィジェットの多彩な機能をより詳しく説明していきたいと思います。

参考資料



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト  吉川 英一(ヨシカワ エイイチ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:jQuery UIの標準ウィジェットを補完する高機能ライブラリ「Wijmo」の活用
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5