2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vue.js + Quasarで爆速プロトタイピング(1)〜Hello World編〜

Last updated at Posted at 2019-11-20

1.概要

Vue.js + Quasar Frameworkでプロトタイプ作成を行うことがあったので、メモがてら記録しておきます。

Quasarとは(Google翻訳)

Quasarは、MIT 開発者がライセンスしたオープンソースフレームワーク(Vueで動作)で、Web開発者がレスポンシブ++ Webサイト/アプリを多くのフレーバーで作成するのに役立ちます。

Quasarにより、開発者はコードを一度書くだけで、同じコードベースを使用してWebサイト(SPA、PWA、SSR + SPAクライアントテイクオーバー、SSR + PWAクライアントテイクオーバー)、モバイルアプリ、および/または電子アプリとして同時に展開できます。最先端のCLIを使用し、よく書かれた非常に高速なQuasar Webコンポーネントに裏打ちされた、記録的な速さでアプリを設計します。

公式のドキュメントが充実しまくっています!
Quasarは日本語資料が少ないものの、公式リファレンス読めばなんとかなります。

Vue.js
https://jp.vuejs.org/index.html

Quasar Framework (v0.17系)
https://v0-17.quasar-framework.org/components/

2.開発環境

Visual Studio Code
のみ!

コード整形のためにフォーマッターはあると便利です。
今回使用するファイルはHTML, CSS, JavaScriptの3種類です。
デフォルトのフォーマッターでも大丈夫ですが、僕は「Prettier」というフォーマッターを使っています。

Quarsarは0系を使用しています。

Vue.js v2.5.17
Quasar v0.17.20

3.コーディング

3-1.フォルダ構成

まずは次のフォルダ構成をせこせことつくります。

/vue-sample
 ├ css/
 │ └ style.css
 ├ pages/
 │ └ main.html
 └ app.js

3-2.main.html

ページとなるHTMLを作成します。
Quasarのライブラリや依存ライブラリはCDN経由で読み込んでいますので、インターネット環境が必要です。
https://v0-17.quasar-framework.org/guide/embedding-quasar.html

main.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <link rel="shortcut icon" type="image/x-icon" href="../../favicon.ico" />
    <title>Vue.js + Quasarで爆速プロトタイピング</title>
    <!-- Material Icons -->
    <link
      href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900|Material+Icons"
      rel="stylesheet"
      type="text/css"
    />
    <!-- animations -->
    <link href="https://cdn.jsdelivr.net/npm/animate.css@^3.5.2/animate.min.css" rel="stylesheet" />
    <!-- Finally, add Quasar's CSS -->
    <link
      href="https://cdn.jsdelivr.net/npm/quasar-framework@0.17.20/dist/umd/quasar.mat.min.css"
      rel="stylesheet"
      type="text/css"
    />

    <link rel="stylesheet" type="text/css" href="../css/style.css" />
  </head>

  <body>
    <!-- Vue.js -->
    <script src="https://cdn.jsdelivr.net/npm/vue@latest/dist/vue.min.js"></script>

    <div id="app">
      <q-layout id="main">
        <q-page-container>
          <div class="page">
            <q-input stack-label="greet" v-model="greet"></q-input>
          </div>
        </q-page-container>
      </q-layout>
    </div>
    <!-- IE support -->
    <script src="https://cdn.jsdelivr.net/npm/quasar-framework@0.17.20/dist/umd/quasar.ie.polyfills.umd.min.js"></script>
    <!-- Add Quasar's JS -->
    <script src="https://cdn.jsdelivr.net/npm/quasar-framework@0.17.20/dist/umd/quasar.mat.umd.min.js"></script>
    <!-- If you want to add a Quasar Language pack (other than "en-us"). -->
    <script src="https://cdn.jsdelivr.net/npm/quasar-framework@0.17.20/dist/umd/i18n.ja.umd.min.js"></script>

    <script src="../app.js"></script>
  </body>
</html>

3-3.app.js

mainページにバインドするViewModelを作っていきます。
data, methodsに画面で使用するプロパティやメソッドを記述することで、HTMLから呼び出すことができます。

app.js
// Quasar
Vue.use(Quasar);

var app = new Vue({
  el: "#app",
  data: function() {
    return {
      greet: "Hello World!"
    }
  }
});

app.$mount("#app");

4.完成!

main.htmlをブラウザで開くと、「Hello World!」が画面に表示されましたでしょうか?
<q-input></q-input>を使っているので、Quasarのテキストフィールドで表示されていると思います。
このように簡単におしゃれで高機能なUIを構築できます!

次回 -> Vue.js + Quasarで爆速プロトタイピング(2)〜Toolbar編〜

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?