Vue.jsとは?すぐに分かる概要から特長・使い方まで解説!
thumb_vuejs_01
Vue.jsとは?すぐに分かる概要から特長・使い方まで解説!
アンドエンジニア編集部
2024.02.02
この記事でわかること
Vue.jsとは、オープンソースのJavaScriptフレームワークを指し、利用者が増えています
構造がシンプルで、徐々に拡張できるためプログレッシブフレームワークと名付けられています
JavaScriptフレームワークであるAngularの良い点を抽出しており、多数のメリットがあります

Vue.jsとは

img_vuejs_01

Vue.jsとは、オープンソースのJavaScriptフレームワークを指します。ユーザインターフェース構築に利用します。プログレッシブフレームワークと名付けられており、ビュー層のライブラリ利用から段階的に導入することができます。動的にサーバーと通信する、SPA(シングルページアプリケーション)まで対応します。 【参考】:Vue.js

JavaScriptに関するフレームワークについて徹底解説!

Vue.jsのコミュニティ

Vue.jsのコミュニティは活動は盛んで、日本にも、Vue.js 日本ユーザーグループがあります。Vue.jsの普及と、Vue.jsエコシステムへの貢献を行っています。大規模カンファレンスである、「Vue Fes Japan」を年に一度実施しており、2022年も10月16日オンライン開催を予定しています。 【参考】:Vue.js JP 【参考】:Vue Fes Japan

Vue.jsの活用事例

Vue.jsの活用事例ですが、国内外問わず利用が拡大しています。最新の事例は、Vue.js 日本ユーザーグループが主催する「Vue Fes Japan」でも公開されています。

コミュニティを通じた活用事例発表の他にも事例は多くありますが、今閲覧しているサイトにVue.jsが使われているかどうかは簡単にわかります。具体的には、Chrome拡張機能の「Vue.js Devtools」をインストールすると、Vue.jsで開発されているサイトがロードされる際に、「Vue.js Devtools」のアイコンが緑色(アクティブ)になります。 【参考】:chrome ウェブストア Vue.js devtools

アイコンが緑色になるサイトの代表例は、「Apple SwiftUI Tutorials」「ZOZOTOWN」「WORKMAN」「マイニンテンドー」など多数あります。 【参考】:Apple SwiftUI Tutorials 【参考】:ZOZOTOWN 【参考】:WORKMAN 【参考】:マイニンテンドー

Vue.jsのメリット

img_vuejs_02

Vue.jsは、Evan Youによって開発されましたが、AngularJSを使用したアプリ開発の経験からAngularの気に入っている部分を抽出し開発した経緯があります。そのメリットですが、以下のような点が挙げられます。 【参考】:Vue.js

構造がシンプル

リアクティブという、単純で直観的に管理できるJavaScriptオブジェクトシステムを採用しています。構造がシンプルで拡張しやすいというメリットがあります。プログレッシブフレームワークという段階的導入に対応し、ビュー層のみのライブラリ利用から段階的に導入することができます。

学習しやすい

ドキュメントが豊富で、JavaScriptオブジェクトモデルの構造が理解しやすくなっています。そのため、学習効果が高く、他のフレームワークよりも覚えやすい特長があります。

コーディングしやすい

HTML・CSSとJavaScriptを完全に分離しているため、コーディングしやすい特長があります。アプリはコンポーネントという分割単位で管理され、再利用できます。また、プラグイン機能を利用することで、コードの再利用を容易にしています。

HTML・CSSとは何か?使い方やできること、独学方法を解説!

DOM操作が不要

JavaScriptのフレームワークでは、通常DOM(Document Object Model)の操作が必要です。Vue.jsではディレクティブ機能があり、HTMLに属性を付与することで自動的にDOM操作を行うことができます。そのため、コードがシンプルになりメンテナンスも容易です。

手間が少ない

サーバー通信量を抑えるSPA(シングルページアプリケーション)をベースとしており、ルーティングによる移行遷移のマッピングを容易にしています。また、トランジションコンポーネントにより、DOM操作を自動的に行うこともできます。

Vue.jsのデメリット

img_vuejs_03

Vue.jsは、作者のEvan YouがAngularの良いとこどりから着想を得ていますので、総じて目立ったデメリットはありません。Vue.jsのデメリットですが、あえて挙げるならば以下のような点が挙げられます。

大規模プロジェクトがカバーされない

Vue.jsは、軽く動作することを主眼に置いて設計されており、比較的小規模なプロジェクト用を想定しています。そのため、大規模プロジェクトで想定している、モジュール連携や制御が十分ではありません。

ウェブシステムに限定される

JavaScript用フレームワークですので、利用がウェブサイトやウェブアプリなどのウェブシステムに限定されます。スマホに代表されるモバイル端末等では、App StoreやGoogle Payなどからネイティブアプリをダウンロードし利用できますが、このような用途では利用することができません。

他のフレームワークやライブラリとの違い

img_vuejs_04

Vue.jsは、他のフレームワークやライブラリからの移行も進んでいます。ここでは代表的なライブラリであるjQueryやReact、およびフレームワークであるAngularを取り上げてVue.jsと比較していきます。特長や用途の違いについて解説していきます。

jQueryとの違い

jQueryは、JavaScriptライブラリの1つでコードをシンプルに開発するために考案されました。イベントハンドラ・アニメーション・Ajax用のAPIが提供されます。 【参考】:jQuery

Vue.jsとjQueryの違いは、簡単に言うとVue.jsがフレームワークで、jQueryは単なるライブラリです。jQueryは最小のコード量で、より多くの事を実装することを目標として開発されており、導入がしやすく多くのフロントエンドアプリケーションで使用されています。

その反面、DOM操作を手動で行う必要があり多少手間がかかります。また、SPA(シングルページアプリケーション)のニーズに対応できないため、高度な処理には不向きです。

jQueryとは?特徴・できること・導入方法・使い方を解説!

Reactとの違い

Reactは、ユーザーインターフェース構築のためのJavaScriptライブラリです。Facebook(現Meta)とコミュニティによって開発されました。 【参考】:React

Reactでは、ライブラリながらいくつかVue.jsと同等の機能を実装しています。具体的には、仮想DOMを利用しており、DOMの状態をメモリ上にキャッシュし効率化を図っていることが挙げられます。コンポーネントをベースにしていますので、小さなコンポーネントを組み合わせて複雑なインターフェースを構築していきます。

Reactはライブラリのみなので、コードサイズが小さい特長があります。加えて中・大規模の開発向けにも利用できます。Vue.jsの場合は、コードが読みやすいため学習効果が高く簡単に記述できるメリットがあります。そのため、ReactからVueへ移行するのも簡単です。

Reactの将来性はVue超え?できることやメリット・デメリットも解説
ReactとVue.jsの違いは何?概要や具体的な違いを整理する

Angularとの違い

Angularは、Googleと個人やコミュニティによって開発されました。JavaScriptのスーパーセットであるTypeScriptベースで、フルスタックのフレームワークです。 【参考】:Abguolar

Angularは、TypeScriptをベースとしています。TypeScriptは、JavaScriptを大規模プロジェクトで利用できるように改良したものです。そのためAngularは、大規模アプリの開発に適しています。その反面、TypeScriptの知識が必要ですので多少知識のハードルがあがります。

フルスタックのフレームワークであり、ウェブユーザインターフェースの構築以外にも対応できます。SPA(シングルページアプリケーション)開発で、複雑なウェブアプリケーションに対応できます。必要な機能が揃っているため、コードサイズに関しては多少大きくなります。

Vue.jsは、Angularに影響を受けて開発されたフレームワークですので、構文が似ています。すでにフレームワークを利用している方は、理解しやすいメリットがあります。そのためVue.jsは、学習効果が高く簡単に記述できると言えます。

TypeScriptはJavaScriptの上位互換?違いは開発規模や機能面にアリ

Vue.jsの使い方

img_vuejs_05

Vue.jsの使い方ですが、HTMLにScriptの要素となる<script>を記述し、JavaScriptコードを作成します。JavaScriptコードはHTMLと同じファイルでも別ファイルでも構いません。最初に「Hello World の例(Hello Vue)」を見ておくと、理解が進むでしょう。

【参考】:Vue.js 基本的な使い方 【参考】:Vue.js はじめに 【参考】:Codepen Hello Vue

Vue.jsのインストール

Vue.jsのインストール方法はいくつかあります。自身の環境に合わせて利用します。 【参考】:Vue.js インストール

CDNを使う ローカルに保存せずに、CDN(コンテンツデリバリネットワーク)のサイトを利用し、コードに取り込みます。

<script src="https://unpkg.com/vue@next"></script>

ローカルに保存する CDNサイトからダウンロードし、ローカルに保存しておきます。使用する際には、<script>でローカルファイルを指定します。

npmを用いる パッケージ管理ツールであるnpmでローカルに保存します。

Vue.jsの環境に慣れてきたら、CLIをインストールしてより高速に処理を進めることもできます。

Vue.jsのコードの具体例

具体例ですがメッセージを表示するには、HTMLに次のようにコードを追加します。こちらの記述方法は、Hello World(Hello Vue)でも確認できますので、すぐに理解できるでしょう。

<div id="app">   {{ message }} </div>

JavaScriptコードは次に様に記述することで、”メッセージの表示”がされます。

const App = {   data() {     return {       message: 'メッセージの表示'     }   } } Vue.createApp(App).mount('#app')

触ってみて違いを理解しましょう

img_vuejs_06

Vue.jsのような、ウェブアプリケーションの開発フレームワークでは、机上で理解するよりも実際に使用した方が、画面の遷移や制御の理解がしやすくなります。ある程度特徴が理解できたら、実際に操作してみて感覚をつかむことで、一層理解が進むでしょう。

Vue.jsの学習におすすめの本8選!学ぶメリットも併せて解説
JavaScriptの資格とは?資格の種類・特徴・難易度を解説
気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT