サイトアイコン IT NEWS

【Ratchet】WEB上で簡単にiOSやAndroidライクなSPAが実現できるフレームワーク

ratchet

SPAシングルページアプリケーション)のフレームワークと聞くと、どうしてもReactAngular等のJavaScriptライブラリを想像すると思いますが、今回は学習コストがかかるような複雑なものでなく、iOSAndroidネイティブアプリのようなUIを実現するためのCSSを中心としたシンプルなSPAフレームワークRatchet」を紹介します。

Ratchet

フレームワークの選考基準

導入が簡単であること
テーマ用のCSSもあるが、基本ファイルはCSSJS2つだけ
学習コストがかからないこと
書き方がBootstrapとほぼ変わらないので馴染みがある
依存、または干渉しないこと
ピュアなJavaScriptなので、jQueryなどのライブラリも使える
ネイティブっぽいこと
PjaxPushState + Ajax)を利用したページ遷移とエフェクトでネイティブアプリっぽい

SPA(シングルページアプリケーション)とは?

シングルページアプリケーション(英: single-page application、SPA)とは、単一のWebページのみから構成することで、デスクトップアプリケーションのようなユーザ体験を提供するWebアプリケーションまたはWebサイトである。
必要なコード(HTML、JavaScript、CSS)は最初にまとめて読み込むか、ユーザの操作などに応じて動的にサーバと通信し、必要なものだけ読み込みを行う。

シングルページアプリケーション – Wikipedia

Ratchetの導入

上記の通り、Ratchetの導入は下記の2行をheadタグ内に記述して読み込むだけの簡単作業です。
CDNもありますので、こちらをどうぞ。

<link href="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/css/ratchet.min.css" rel="stylesheet">
<script src="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/js/ratchet.min.js"></script>

iOSテーマにしたい場合は、

<link href="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/css/ratchet-theme-ios.min.css" rel="stylesheet">

Androidテーマにしたい場合は、

<link href="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/css/ratchet-theme-android.min.css" rel="stylesheet">

ratchet.min.cssの下に加えてください。

Ratchetの書き方

基本的に、table-view > table-view-cellな感じで構築するようです。
Getting startedに書いてありましたので転記します。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Ratchet template page</title>    <!-- Sets initial viewport load and disables zooming  -->
    <meta name="viewport" content="initial-scale=1, maximum-scale=1">    <!-- Makes your prototype chrome-less once bookmarked to your phone's home screen -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">    <!-- Include the compiled Ratchet CSS -->
    <link href="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/css/ratchet.min.css" rel="stylesheet">    <!-- Include the compiled Ratchet JS -->
    <script src="//cdnjs.cloudflare.com/ajax/libs/ratchet/2.0.2/js/ratchet.min.js"></script>
  </head>
  <body>    <!-- Make sure all your bars are the first things in your <body> -->
    <header class="bar bar-nav">
      <h1 class="title">Ratchet</h1>
    </header>    <!-- Wrap all non-bar HTML in the .content div (this is actually what scrolls) -->
    <div class="content">
      <p class="content-padded">Thanks for downloading Ratchet. This is an example HTML page that's linked up to compiled Ratchet CSS and JS, has the proper meta tags and the HTML structure. Need some more help before you start filling this with your own content? Check out some Ratchet resources:</p>
      <div class="card">
        <ul class="table-view">
          <li class="table-view-cell">
            <a class="push-right" href="http://goratchet.com">
              <strong>Ratchet documentation</strong>
            </a>
          </li>
          <li class="table-view-cell">
            <a class="push-right" href="https://github.com/twbs/ratchet/">
              <strong>Ratchet on Github</strong>
            </a>
          </li>
          <li class="table-view-cell">
            <a class="push-right" href="https://groups.google.com/forum/#!forum/goratchet">
              <strong>Ratchet Google group</strong>
            </a>
          </li>
          <li class="table-view-cell">
            <a class="push-right" href="https://twitter.com/goratchet">
              <strong>Ratchet on Twitter</strong>
            </a>
          </li>
        </ul>
      </div>
    </div>  </body>
</html>

他にも、ヘッダーとフッター、スライドショーやモーダルなども用意されていますので、詳しくはComponentsをご覧ください。

サンプルアプリケーション

公式サイトのサンプルがありますので、こちらをご覧ください。

モバイルバージョンを終了