スマホ向けサイトを作るのに、いい感じ表示してくれるツールとして、今まではjQuery Mobileをたま〜に利用していました。
ですが、最近は「jQueryはもう時代遅れの技術」みたいな話をちょいちょい見かけるので、最近流行り?のOnsenUIでページを作成してみました。
とりあえず今回はOnsenUIをダウンロードして、使えるようにするところまでやってみたいと思います。
ダウンロード & インストール
GithubのReleaseページからOnsenUIの最新版をダウンロードしてきます。
wget https://github.com/OnsenUI/OnsenUI-dist/archive/2.0.4.tar.gz tar xvf 2.0.4.tar.gz # 展開 mv OnsenUI-dist-2.0.4 OnsenUI-2.0.4 # 名前の変更
ブログ作成現在では、2.0.4が最新版でした。
ページヘの埋め込み
いろいろなサンプルページからOnsenUIの利用方法をみてそれっぽく書いてみます。
公式チュートリアルのJS:Creating a pageを参考に記述しました。
<!DOCTYPE html>
<html lang="js">
<head>
<meta charset="UTF-8">
<title>OnsenUI test</title>
<!-- OnsenUIを使うための記述 -->
<link rel="stylesheet" href="OnsenUI-2.0.4/css/onsenui.css">
<link rel="stylesheet" href="OnsenUI-2.0.4/css/onsen-css-components.css">
<script src="OnsenUI-2.0.4/js/onsenui.min.js"></script>
<!-- なんだかこの記述が必要っぽいけど、あるとエラーとなるし動いてるからとりあえずよしとする…。
<script type="text/javascript"> ons.bootstrap(); </script>
-->
</head>
<body>
<ons-page id="helloworld-page">
<ons-toolbar>
<div class="center"></div>
<div class="right">
<ons-toolbar-button>
<ons-icon icon="ion-navicon, material:md-menu"></ons-icon>
</ons-toolbar-button>
</div>
</ons-toolbar>
<p style="text-align: center">
<ons-button>Click me!</ons-button>
</p>
</ons-page>
<script type="text/javascript">
document.addEventListener('init', function(event) {
var page = event.target;
if (page.matches('#helloworld-page')) {
page.querySelector('ons-toolbar .center').innerHTML = 'My app';
page.querySelector('ons-button').onclick = function() {
ons.notification.alert('Hello world!');
console.log("clicked");
};
}
});
</script>
</body>
</html>
ブラウザから file:///File/to/path/inde.html みたいな感じにアクセスすると、それっぽくなったページが表示されます。(Chromeの開発タブ?からスマホっぽいビューを使いました)
![]() |
![]() |
まとめ
とりあえず、これでOnsenUIを単体で利用することができました。多くの記事はAngularJSとかと組み合わせたりしています。また、それらをbrewやnpmなどパッケージ管理ツールを用いてインストールをしていますが、とりあえず素の?状態で動作させることができました。
JSを見ていると、やっぱりOnsenUIはきれいに見せるためのもので、それに対してJSをゴリゴリ生で書くのは大変そうですね…。やっぱり、AngularJSとか使うべきなのかな。。。
参考ページ
Onsen UI 2: HTML5モバイルアプリを速く、美しく (OnsenUI公式サイト)

