SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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ウィジェットの多彩な機能をより詳しく説明していきたいと思います。

参考資料

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
jQuery UIの標準ウィジェットを補完する高機能ライブラリ「Wijmo」の活用連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7736 2014/07/01 12:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング