• home
  • ブログ
  • フロントエンド開発におけるフレームワーク、ライブラリのおすすめを3つ紹介!
  • 用語集

22.10.04

  • twitter
  • facebook

フロントエンド開発におけるフレームワーク、ライブラリのおすすめを3つ紹介!

フロントエンドの開発を行うのに、どのライブラリ、フレームワークを使えばいいか迷っている人もいるのではないでしょうか?本記事ではReact.jsやVue.js、Svelteの簡単な説明を行い、それぞれのフレームワーク、ライブラリがどのようなWEBシステムの開発に適しているのかを解説していきます。

フロントエンドとは

フロントエンドとは、ユーザーインターフェースと呼ばれる、WEBページの利用者が目にしたり、実際に操作する画面を作成する機能です。WEBページは基本的に、画面の要素を記述する「HTML」と色や余白などを指定する「CSS」、WEBページの動きを実装する「JavaScript」で構成されます。

 

フレームワーク、ライブラリとは

フレームワークとは、利用することで、基本的な機能が実装されたプログラムを作成することができるテンプレートのようなプログラムのことです。フレームワークを用いることでこれらを少ないコード量で記述することができたり、自分で0からシステム実装をするより簡単にWEBページを実装することが可能です。

また、ライブラリとは、頻出する処理を集めたパッケージとなっており、自身が実装したい処理やプログラムのみを抽出して扱うことが可能です。

 

フロントエンドおすすめのフレームワーク3つ

それでは、今回紹介するフロントエンドのフレームワーク、ライブラリの簡単な説明を見ていきましょう。

React.js

React.jsとは、Facebookによって開発されている、ユーザーインターフェースのパーツを提供するライブラリです。

ライブラリはフレームワークとは異なり、自身が使用したいプログラムのみを抽出して使用することができます。React.jsは、仮想DOMを用いているため、DOMの変更に比べ必要箇所のみを変更するため処理速度が早いです。また、React.jsはWEBアプリケーションの開発に加え、スマートフォンアプリの開発も行うことが可能です。

「React.js」について詳しく知りたい方は、以下の記事をご参照ください。
Reactとは?JavaScriptとの関係やライブラリ・フレームワークについても解説!

 

Vue.js

Vue.jsとはユーザーインターフェース構築のためのフレームワークです。

Vue.jsはHTMLやJavaScriptを組み合わせる書き方で実装が可能で、シンプルな設計なため学習コストが低いです。また、拡張性の高い開発が可能で、WEBシステムの一部分だけをVue.jsなどを利用するなど、柔軟な開発が可能です。

Vue.jsもReact.jsと同じく仮想DOMを用いられているため、処理速度が速いです。仮想DOMによって、必要な箇所のみ描画を行う仕組みとなっているため、SPA(シングルページアプリケーション)の開発に適しています。

「Vue.js」について詳しく知りたい方は、以下の記事をご参照ください。
Vueとは?JavaScriptとの関係やフレームワーク・ライブラリについても解説!

 

Svelte

Svelte(スベルト)とは、Vue.jsと同じくフレームワークです。

React.jsやVue.jsとの大きな違いは、仮想DOMを使用していないことです。JavaScriptで書かれた実行プログラムを、コンピュータが実行できる形にコンパイルする際にピュアなJavaScriptを生成します。その際、変更される可能性がある箇所を自動で検出し、変更された箇所に関する部分のみの再描画を行うようになるため、直接DOMの書き換えをしているにもかかわらず、高速な描画が可能になっています。

また、ライフサイクルフックと呼ばれる要素の状態を変更、保存するコードを必要としないため、コード量が少なく、軽量で高速なパフォーマンスを実現しています。

「Svelte」について詳しく知りたい方は、以下の記事をご参照ください。
Svelteとは?JavaScriptとの関係やフレームワーク・ライブラリについても解説!

 

目的に応じたフレームワーク選びを

本記事では3つのフレームワーク、ライブラリの説明を行いました。

スマートフォンアプリケーションの開発も視野に入れている人はReact.js、フロントエンドの開発経験がなく、ひとまず学習コストの低いVue.jsから開発を行い、慣れたら別のフレームワークに挑戦するなど、フレームワークやライブラリの選び方は多岐にわたります。それぞれの開発したいものやスキルに応じて使い分けを行うことで、よりよい環境でフロントエンドの開発を行うことができるでしょう。