はじめに
Wijmo(ウィジモ)は、グレープシティがHTML/JavaScript環境に向けて提供しているJavaScriptライブラリで、WebサイトやWebアプリケーションで活用できるUI部品を利用者に提供します。現行版はECMAScript 5に対応した「Wijmo 5」です。
Wijmoは単体でも利用できる一方、Angular、React、Vue.js、Knockoutといった、さまざまなJavaScriptフレームワークやライブラリと組み合わせて利用できます。本連載では、Angularとの組み合わせや、Reactとの組み合わせを紹介してきました。
今回は、AngularやReactと比較されることの多いJavaScript UIフレームワークVue.jsとWijmoを組み合わせる方法を紹介します。
Vue.jsは、GoogleでAngularJSを利用した開発に携わっていたEvan You氏を中心に、オープンソースコミュニティで開発されているJavaScript UIフレームワークです。日本語ドキュメントが充実していることや、Webページに部分的に適用できる(その意味で「プログレッシブフレームワーク」と呼ばれる)特徴から、導入や学習が比較的容易であると言われています。一方で、Webページ全体をVue.jsで実装する、本格的なフレームワークとしての利用も可能です。
[補足]Wijmo最新版「2019J v1」について
Wijmoは継続的にバージョンアップされており、2019年4月にはメジャーバージョンアップとなる「2019J v1」がリリースされました。2019J v1には、新元号「令和」への対応をはじめとして、さまざまな新機能が追加されています。2019J v1の詳細は公式ページで案内されています。
対象読者
- WebサイトやWebアプリケーションのレベルをワンランク上げたい方
- Wijmoと組み合わせるフレームワークを探している方
- Vue.jsでさまざまなUI部品を手軽に使いたい方
必要な環境
Wijmo 5はECMAScript 5に対応するブラウザをサポートします。詳細はWijmoのWebサイトで案内されています。
Vue.jsでは、プロジェクトの生成や実行をコマンドで行えるツール「Vue CLI」が利用できます。Vue CLIの動作にはNode.jsが必要です。また、Vue.jsにはバージョン1と2がありますが、本記事ではバージョン2を利用します。
以上を踏まえて、今回は以下の環境で動作を確認しています。
- Windows 10 64bit版
- Wijmo 5 5.20191.615
- Vue.js 2.6.10
- Vue CLI 3.8.2
- Node.js v10.16.0 64bit版
- Microsoft Edge 44.17763.1.0
サンプルコードを実行するには、プロジェクトのフォルダーで「npm install」コマンドを実行してライブラリをダウンロード後、「npm run serve」コマンドを実行して、Webブラウザで「http://localhost:8080/」を開きます。
Vue.jsプロジェクトの概要
最初に、Vue.jsのプロジェクトについて、生成・実行方法と、Wijmoの導入に必要となる最低限のプロジェクト内容を説明します。
プロジェクトの生成と実行
Vue.jsのプロジェクトを生成するため、まずリスト1のコマンドを実行して、Vue CLIをインストールします。「-g」オプションはVue CLIをシステム全体にインストールすることを表します。
npm install -g @vue/cli
Vue.jsのプロジェクトを生成して実行するには、リスト2のコマンドを実行します。
vue create p001-cli # プロジェクト生成 ...(1) cd p001-cli # プロジェクトフォルダーに移動 ...(2) npm run serve # プロジェクト実行 ...(3)
リスト2(1)実行時に、プロジェクト設定をカスタマイズする選択肢が表示されますが、今回は「default」(デフォルト設定)を選択します。Vue CLIの詳細については、公式ページも参考にしてください。
リスト2(3)を実行して、Webブラウザで「http://localhost:8080/」を開くと、図1のWebページが表示されます。
Vue.jsプロジェクトの構成
生成されたVue.jsプロジェクトにおいて、Webページ表示に関連する主なファイルを、表1に示します。
No. | ファイル | 役割 |
---|---|---|
1 | public/index.html | WebページのHTMLファイル |
2 | src/main.js | Webページ表示時に実行される処理のJavaScriptファイル |
3 | src/App.vue | Webページの内容を表示するVue.jsのコンポーネント |
public/index.htmlには、リスト3の通り、Vue.jsのコンポーネントを表示する<div>タグが記述されています。
<body> (略) <div id="app"></div><!-- ここにVue.jsのコンポーネントが表示される --> (略) </body>
Webページ表示時に実行されるsrc/main.jsの内容は、リスト4の通りです。この処理では、Vue.jsのAppコンポーネントを、「app」というIDが設定されたリスト3の<div>タグに表示します。
new Vue({ render: h => h(App) }).$mount('#app')
以上の仕組みによって、AppコンポーネントがWebページの内容を表示します。本記事では、Appコンポーネントを実装するsrc/App.vueファイルを編集して、Vue.jsのWebページにWijmoのコントロールを表示させていきます。