プログラミング初心者にオススメ!シンプルで学習障壁が低いJavaScriptのフレームワーク「Vue.js」の特徴と学習方法
突然ですが、皆さんはJavaScriptのフレームワークを学習したことがありますか?
数あるJavaScriptのフレームワークの中でも、シンプルで学習障壁が低いと言われているのが「Vue.js」です。ご存知でしょうか。
まだ比較的若い気鋭のフレームワークではありますが、データのやりとりを中心に様々なことを実装することができます。JavaScriptを触ったことがあるけれども、まだフレームワークまでは触ったことがないという方にはぴったりのフレームワークです。
そこで今回は、簡単なJavaScriptの知識しかない方でもスムーズに基本を理解できるように、わかりやすくVue.jsの概要について解説していきます。
Vue.jsとは?
JavaScriptのフレームワークとして有名なものに、「Node.js」や「AngularJS」、「jQuery」などがありますが、*「Vue.js」*とはどのようなものなのでしょうか。
Vue.jsは、MVVMと呼ばれる設計パターンを採用しているフレームワークです。
詳しくは後述しますが、すごく簡潔にいえば*「見た目であるUI部分とロジック部分をわけて設計している」*フレームワークになります。
このMVVMを採用しているフレームワークには、他に「Knockout.js」があります。Vue.jsはKnockout.jsよりわかりやすくシンプルな設計になっています。Knockout.jsは汎用性があり、複雑な処理を行うことができますが、Vue.jsはデータのやりとりに特化しているため、とてもシンプルに書くことができるのです。
Vue.jsの特徴
それでは、Vue.jsの特徴について、もう少し深堀していきましょう。
1. 学習障壁が低い
Vue.jsは学習障壁が低く、基本的なJavaScriptの知識さえあれば学びやすくなっているのが特徴の一つです。
簡単なことをするだけであればシンプルなコードを書けばよくて、複雑なことをしたくなった場合にはAPIリファレンスやコーディングサンプルを参照することができるので、他のフレームワークほど習得に苦心することはないでしょう。
2. ディレクティブ
JavaScriptではHTML要素を操作する機能があり、これを「DOM操作」と呼びます。
DOMとはDocument Object Modelの略で、ツリー状の階層的な構造としてHTML要素を認識し、HTML要素を書き換えたり並び替えたりすることができます。
Vue.jsでは、こうしたDOM操作ができる特徴のことを*ディレクティブ(directive)*といいます。
先ほどVue.jsではデータのやりとりに特化していることに触れましたが、Vue.jsでは、ロジック部分とHTMLの表示を同期させたり、ロジック部分に格納した値に応じてHTML要素の表示や非表示を切り替えたりすることができます。
ディレクティブは機能ごとに様々なものが用意されているので、ディレクティブを扱うことに慣れてくれば、直接DOMを操作するコードを書くことが少なくなります。ディレクティブには*「v-」*から始まるプレフィックス(接頭辞)の属性をHTML要素に付加します。
3. コンポーネント思考
*「コンポーネント思考」*という言葉はプログラミング暦が浅いと聞き慣れない言葉かもしれませんが、簡潔にいえばUIの部品を組み合わせてアプリケーションを作るという考え方のことです。例えば、ログインフォームの部品は、一度作れば様々な場所に使いまわすことができます。
MVVMとは?
Vue.jsを語る時に、外すことのできない考え方が*「MVVM」*という設計パターンです。
「MVVM」とは、「Model View ViewModel」(モデル・ビュー・ビューモデル)の略で、ソースコードを*「Model」(ロジック部分)・「View」(見た目部分)・「ViewModel」*(データのやりとりの橋渡し部分)にわけてプログラミングを行う考え方です。
なぜわけるのかというと、その方がコーディングの生産性が上がり、コードの保守・管理がしやすいからです。
例えば、大規模なWebアプリケーションを制作する場合、UI/UXデザイナーのような、ホームページの見た目を司るフロントエンドデベロッパーと、システムの処理のロジック部分を書くバックエンドデベロッパーに役割をわけることがあります。
ロジック担当者は送信ボタンをどのように装飾するかなどの見た目部分には関与する必要はなく、ブラウザから受け取ったデータをどう処理するかだけを考えます。
また、データのやりとりが上手くいかない場合に、ロジック部分に問題があると考え、ロジックのソースコードを分析・改良します。
もちろんJavaScriptなのでサーバーを通じたデータのやりとりは基本的には行いませんが、このように「ロジック」と「見た目」、「橋渡し部分」をわけることで生産性が上がるという考え方の元に、それぞれが分離しています。
MVVMをソースコードで理解しよう
それぞれの役割を確認するために、次のようなソースコードを見てみましょう。
[HTML]
<div id="app-input">
<p> { { message } } </p>
<input v-model="message">
</div>
[JavaScript]
var appInput = new Vue({
el: '#app-input',
data: {
message: 'Hello Vue!'
}
})
このソースコードでは、「app-input」という部品(コンポーネント)を作成し、pタグとテキストボックスを表示しています。
ブラウザでは、このように見えるはずです。
▲ pタグとテキストボックスが表示されます
テキストボックスの中身はJavaScriptの中のappInputのmessageと連動しています。このmessageが書き換えられると、pタグの中身も連動して書き換わる仕組みとなっています。
上の図でいえば、①と③を②が繋げている、と考えるとシンプルに捉えることができます。
▲ テキストボックスの中身を書き換えると、pタグも連動して書き換えられます
サポートブラウザ
Vue.jsはAngularJSとは異なり、モダン・ブラウザ(Internet Exproler 9以降)のみをサポートし、レガシー・ブラウザ(IE9以前)は非サポートとなっています。
モダン・ブラウザのみをサポートしているのは、モダン・ブラウザに特化することで高速な動作を実現するためです。レガシー・ブラウザーに基準を合わせると、新機能として搭載されているたくさんの便利な機能を持つモダン・ブラウザのJavaScriptの機能を手放すことにつながり、パフォーマンス上の足枷になると考えられています。
Vue.jsについて体系的に学ぶには?
Vue.js 公式ガイド
https://jp.vuejs.org/v2/guide/
Vue.jsの公式ガイドが日本語で提供されています。
基本的なプログラミングの知識さえあれば読み解くことができると思いますが、わかりにくい場合には次に紹介する動画コンテンツと一緒に学んでみるといいでしょう。
ドットインストール Vue.js入門
http://dotinstall.com/lessons/basic_vuejs
たった3分の動画でプログラミングを学ぶことができるドットインストールでは、「Vue.js入門」が用意されています。
Vue.js入門に関する全14回のコンテンツはプレミアム会員向けになっていますが、第1回から第3回までは無料で観ることができます。
まとめ
2016年10月にはバージョンが2.0となり、便利な機能が実装続けられているVue.js。
2017年にはさらなるパフォーマンスの改善を目指すことが公式ブログでも触れられており、これからも期待できるJavaScriptフレームワークの一つです。
プログラミングが得意でない方でも、基本事項さえ押さえれば簡単な処理を行うことができます。
Vue.jsは導入となる考え方は聞き慣れないものが多いですが、そのハードルを乗り越えれば、あとは実装に挑戦するだけです。
ぜひ、チャレンジしてみてください。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- UI
- UIとは、ユーザーインターフェイス(User Interface)の略で、ユーザー(使い手)とデバイスとのインターフェイス(接点)のことを意味します。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- UI
- UIとは、ユーザーインターフェイス(User Interface)の略で、ユーザー(使い手)とデバイスとのインターフェイス(接点)のことを意味します。
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- フォーム
- フォームとは、もともと「形」「書式」「伝票」などの意味を持つ英単語です。インターネットの分野では、パソコンの操作画面におけるユーザーからの入力を受け付ける部分を指します。企業のホームページでは、入力フォームが設置されていることが多いようです。
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- UI
- UIとは、ユーザーインターフェイス(User Interface)の略で、ユーザー(使い手)とデバイスとのインターフェイス(接点)のことを意味します。
- UX
- UXとは、ユーザーエクスペリエンス(User Experience)の略で、ユーザーが製品・サービスを通じて得られる体験を意味します。似たような言葉に、UI(ユーザーインターフェイス、User Interface)がありますが、こちらはユーザーと製品・サービスの接触面を指した言葉です。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング