♥️

フロントエンド開発をマスターする上で必要な知識 8選 2022年版

2022/09/27に公開

はじめに

フロントエンドは、簡単に言えばWebアプリケーションやWebサイトにおけるユーザが目に見える部分のことを指す。ひとくちにフロントエンドと言っても、学ばなければならないことや知識が数多くあるので初心者にとっては何から勉強すればいいのかわからない人も少なくないだろう。

今回の記事では、個人の一見解としてフロントエンド開発をマスターするのに必要な基礎知識を徹底解説する。今回の記事を通して、フロントエンドの学習方法やその魅力を十分に理解していただければ非常に幸いである。

バックエンドに関しては以下の記事を参照してほしい。

https://zenn.dev/nameless_sn/articles/backend-masternote

フロントエンド開発に必要な知識

1.基本的な知識

フロントエンド開発をマスターする上では、以下の言語の基本文法や知識をマスターしておこう。これはWeb制作やWebデザインにも共通していることである。

  • HTML:Webページを作成するための言語。主にページ内の情報を構造化し、見出し、本文、サイドバーなどを明確にする言語。マークアップ言語で、プログラミング言語とは違うので注意。
  • CSS:HTMLをデザインする言語。HTMLだけのWebページを見やすくするために使われる。
  • JavaScript:Webページに動きやアニメーションをつけるプログラミング言語。フロントエンド開発をマスターするなら必要。

まずはこれらの言語を使って簡単なWebサイトやランディングページを制作することから始めよう。

2.フレームワーク

基本知識を覚えて使いこなすことはもちろん重要であるものの、効率よくフロントエンドを開発するならフレームワークを使い倒そう。フロントエンド開発をマスターする上で必ず押さえておきたいフレームワークは以下の通り。

  • React:Meta社(旧Facebook)が開発した、Webサイト上のUIパーツを構築するためのJavaScriptフレームワーク。InstagramやSlackなど世界有数の企業で採用されている。
  • Next.js:Reactをベースに開発されたJavaScriptフレームワーク。Reactとは異なり、Webアプリけーションの開発に必要な機能がデフォルトで揃っているのが最大の特徴。

3.デザインの知識・デザインツール

フロントエンドエンジニアは主にユーザが使いやすいUIを設計・開発するのが主な役割である。ユーザが使いやすいUIを設計し、実際に形にするためにはデザインの知識やデザインツールの使い方を最低限マスターしておく必要がある。

デザインツールは数多く存在するが、個人的にはFigmaを推奨する。Figmaは無料で活用できるデザインツールで、WebページやWebアプリケーションのプロトタイプやデザインのアイディアを制作する上では必要不可欠である。(余談だが、私の場合はTwitterで共有する図解を作る際にこのツールを活用している)オンラインで作業した内容をリアルタイムで共有できるので、効率的に共同で作業できる。

https://twitter.com/Nameless_SN/status/1545603889688625152

デザインについて基本的な知識を学ぶ上ではこちらの書籍が参考になる。デザインの基本を学ぶ上で必要なことが徹底解説されている。全員必読の1冊。

https://booklive.jp/product/index/title_id/398594/vol_no/001

4.レスポンシブデザイン

Webサイトを制作するときに、スマートフォンやタブレットで見やすいようにデザインするスキルは必要不可欠である。なぜなら、ほとんどのユーザがスマートフォンでWebサイトにアクセスしているからだ。レスポンシブデザインは、ユーザが使うパソコンやスマートフォン、タブレットなどの画面サイズに応じて自動でWebページを最適化させるデザインだ

スマートフォンを使ったWebページへのアクセスはしばらくなくならないので、今後のフロントエンド開発ではスマートフォンでの画面を想定したWebデザインを制作できるスキルが要求される。

5.テスト

Webアプリケーションの開発でテストは必要不可欠である。しかし、テストコードを逐一手書きで書くのはあまり効率的ではない。これはバックエンドでも同様だが、テストに関する基本的な知識やテクニックなどをマスターしたあとは自動テストについて学んでおこう。

主にフロントエンド開発のテストで必ず押さえておきたいテストツールは次の3つ。

  • Jest
  • Cypress
  • Enzyme

6.JSON

JSONはJavaScript Object Notificationの略称で、JavaScriptで値を扱うための規格である。JavaScriptでフロントエンドを実装する際、JavaScriptでサーバと通信してデータを取得できるためにはJSONの知識が必要不可欠である。多くのAPIにはJSONが利用される。JSONは主に3つの役割を果たす。

  • 通信におけるデータのフォーマット
  • ブラウザ内でのデータの保持
  • アプリケーションのデータ構成(余談だが一部のNoSQLではJSONが使われている)

フロントエンド開発をマスターする上では、JSONの基本的な知識や文法、構造に対する深い理解が欠かせない。

7.API

JSONの項目で言及したが、APIに関する深い知識を学んでおこう。特に初心者が学ぶべき内容は次の2つである。

  • 個人開発や実務で使えるAPI
  • RESTとGraphQLそれぞれの特徴と相違点

前者について学びたいならこちらのQiita記事がおすすめである。

https://qiita.com/mikan3rd/items/ba4737023f08bb2ca161

後者についてはこちらの記事を確認しておきたい。

▼こちらの記事は両者を比較している。内容がRESTに肯定的で、GraphQLをWeb開発に使わないほうがいい理由が詳細に書かれている。

https://blog.logrocket.com/graphql-vs-rest-api-why-you-shouldnt-use-graphql

▼こちらの記事は両者を図解付きで徹底解説されている。ざっくり全体像を理解したいならおすすめ。

https://hasura.io/learn/graphql/intro-graphql/graphql-vs-rest/

RESTとGraphQLについて今回の記事では言及しないが、技術選定する段階でそれぞれの特徴や相違点を十分に把握した上で、開発したいプロダクトに最適なものを検討することは非常に重要である

RESTやGraphQL両方にも強みや弱みがあるので、それらを考慮しながら自分のプロダクトに最適なものを選んでいこう。

8.TypeScript

TypeScriptは簡単に言えば、型がついたJavaScriptである。TypeScriptは2022年9月現在のフロントエンド開発においては必要不可欠な言語である。TypeScriptには型推論機能であらゆるところで型を指定する必要がなく、TypeScriptが自動的に型を設定してくれる部分もある。この機能のおかげで、コーディング量を大幅に削減できる。更に、型があることでプログラムをコンパイルする際にプログラムの問題を未然に発見してくれる。

TypeScriptは今後のフロントエンド開発では間違いなくマスト条件になる言語だろう。

▼日本語でTypeScriptを学習する上でおすすめのWebサイト。無料で閲覧でき、英語が苦手なプログラマーには参考になるだろう。

https://typescriptbook.jp/

まとめ

今回の記事では、フロントエンド開発をマスターする上で必要な基礎知識を紹介した。フロントエンド開発を最短でマスターする上で欠かせない知識は以下の8つである。

  • HTML/CSS、JavaScriptの基本知識
  • フレームワーク(ReactとNext.js)
  • デザインの知識・デザインツールの使い方
  • レスポンシブデザイン
  • テスト
  • JSON
  • API
  • TypeScript

今回の記事を通して、フロントエンド開発に興味を持ったり、学習効率を上げたりすることにつながれば幸いである。

参考サイト

GitHubで編集を提案

Discussion