どのような流れでTypeScript初心者がプログラミングに取り組むべきか、学習ロードマップをもとに解説します。
TypeScriptとは
TypeScriptは、MicroSoftによって開発されたプログラミング言語です。
TypeScriptの応用範囲は幅広く、JavaScriptを用いる新規プロジェクトではTypeScriptが使われるというのが当たり前の光景になりつつあります。
TypeScript学習前に知っておくべきこと
TypeScriptを学ぼうとするプログラミング初心者にとって、TypeScript学習にJavaScript学習が前提になっていることがあります。
実際、多くのTypeScriptエンジニアはJavaScriptから学習した経緯があります。
事実としてこれは正しい経緯の一つであり、TypeScriptの公式サイトであるLearning JavaScript and TypeScriptに以下の内容が記載されています。
We frequently see the question “Should I learn JavaScript or TypeScript?“.
The answer is that you can’t learn TypeScript without learning JavaScript!
TypeScript shares syntax and runtime behavior with JavaScript, so anything you learn about JavaScript is helping you learn TypeScript at the same time.
上記の内容を翻訳すると以下になります。
「JavaScript と TypeScript のどちらを学ぶべきでしょうか?」という質問をよく目にします。
答えは、JavaScript を学ばずに TypeScript を学ぶことはできないということです。
TypeScript は構文と実行時の動作を JavaScript と共有しているため、JavaScript について学ぶことは、同時に TypeScript を学ぶことにも役立ちます。
JavaScriptをベースに開発されたTypeScriptだからこそ当然の内容になります。
しかし、個人的にはJavaScriptを学んでからでなければTypeScriptを学べないわけではありません。
また、JavaScriptから始めるとかえってTypeScript習得まで学習過程が長くなってしまいます。
そのため、TypeScript学習を起点にJavaScript学習にも幅を広げる学習計画が重要になります。
TypeScriptの学習難易度
TypeScriptは、静的型付け以外の部分はJavaScriptであるため、JavaScriptと比較すると学習難易度高めです。
つまり、JavaScriptの学習+型定義を理解すれば文法レベルであれば問題ないです。
また、学習難易度は比較的高めですが、利用するべきメリットも存在します。
さらに詳しくTypeScriptの人気を知りたい人は、「【TypeScript】難しい理由と解決策を徹底解説!」を一読ください。
初心者がTypeScriptを学習するメリット
初心者の中でも、フロントエンドエンジニアを目指す人にとってTypeScriptは今後重要性が高まります。
また、TypeScriptにおける学習のメリットは以下のものです。
- TypeScriptの学習と同時にJavaScriptも学習できる
- フロントエンド + サーバーサイド開発が経験できる
- ネイティブアプリ開発ができる
- エンジニア市場の価値を高められる
TypeScriptは、「JavaScript + 静的型付け」で構成されたプログラミング言語になります。
逆に言えば、静的型付け以外の部分はJavaScriptそのもであるため、TypeScriptの学習は同時にJavaScriptの学習にもつながります。
また、TypeScriptを用いる場合にJavaScript(Node.js)が関わるため、フロントエンド+サーバーサイド開発が同時に学べます。
そのほかに、クロスプラットフォームとフレームワークを駆使することで、ネイティブアプリ開発も可能です。
そのため、エンジニアとしてのスキルセットを幅広くカバーできるため、TypeScriptの学習でエンジニアの市場価値を高めることができます。
同時にJavaScriptも学習できる
TypeScriptを理解することは、同時にJavaScriptを理解することにつながります。
特に、フロントエンド領域のアプリ開発においてJavaScriptの理解は必須になります。
そのため、TypeScriptの習得が難しいと判断した場合、JavaScriptの習得に移行することができます。
Webアプリ開発によるポートフォリオが手に入る
TypeScriptを利用する場合は、必ずReactといったライブラリやNext.jsといったフレームワークを利用します。
実際に、ライブラリやフレームワークを利用することでTypeScriptによるWebアプリ開発ができるわけです。
そのため、TypeScriptの学習とセットでReactやNext.jsによるWebアプリ用のポートフォリオが手に入ります。
ポートフォリオがあれば、エンジニア転職やプログラミング業務を獲得するきっかけにつながります。
TypeScriptの学習ロードマップ
ここでは、TypeScriptを学習したいプログラミング初心者のための学習ロードマップを解説します。
以下の流れを取り組むことで、TypeScriptの学習手順に沿って最短学習が見込めます。
- TypeScriptの開発環境構築
- TypeScriptにおける基本文法や型を理解する
- チュートリアルなどでフレームワークを理解する
- 実践的なWebアプリ開発に取り組む
それぞれのステップに分けて解説します。
TypeScriptの開発環境構築
TypeScriptを利用するためには、以下の開発環境を整える必要があります。
- Node.jsのインストール
- TypeScriptのインストール
- VSCodeのインストール
ここでは、最低限の開発環境構築について解説していきます。
Node.jsは、JavaScriptを動かす実行環境になります。
Node.jsをインストールすることで、JavaScriptを実行するnodeコマンド、パッケージをインストールするnpmコマンド(Node Package Manager)が使えるようになります。
TypeScriptをインストールするためには、npmコマンドを使います。
また、TypeScriptをインストールするとTypeScriptをコンパイルするtscコマンドが使えるようになります。
さらに、プログラミング用のコードエディタであるVSCode(Visual Studio Code)は、コマンドを実行できるターミナルが付属しているため、編集したソースコードのコンパイル/実行をVSCode上で実施できます。
画像を含む詳細な開発環境構築を始めたい人は、「【TypeScript】インストール方法や開発環境構築を徹底解説!」を一読ください。
TypeScriptにおける基本文法や型を理解する
プログラミング言語を扱う上で、コーディングに必要な基本文法と型を理解する必要があります。
最低限でも、以下の基本項目を理解しておきましょう。
- 変数と定数
- 型定義
- 演算子
- 配列
- オブジェクト
- 関数
- 条件分岐
- クラス
上記を理解することで、基本的な文法が身に付きます。
TypeSciriptにおける無料学習サイトを知りたい人は、「【無料】TypeScript入門・練習できるサイトをまとめて紹介!」を一読ください。
テキストベース・動画ベースの2軸で紹介しています。
チュートリアルなどでフレームワークを理解する
TypeScriptにおける無料学習サイトなどにも記載されているものや公式ドキュメントなどで、チュートリアルをかつようするのも一つです。
実際に、チュートリアルの中でもTypeScriptが利用できるフレームワークを選択することでアプリケーション開発への学習につながります。
- React.js
- Next.js
- Nuxt.js
- Nest.js
- Angular.js
- Vue.js
筆者としては、Next.jsがおすすめです。
Next.jsはReactを元にして、サーバー側で描画(サーバーサイドレンダリング)できるように開発されたフレームワークです。
フレームワークについての学習サイトも知りたい人は、「【TypeScript】言語の難易度やJavaScriptと比較して徹底解説!」を一読ください。
実践的なWebアプリ開発に取り組む
上記で紹介したフレームワークを一つ選択できれば、Webアプリ開発に取り組みましょう。
とはいえ、いきなり大規模かつクオリティの高いアプリを構想するのも開発するのも難しいはずです。
そのため、個人的におすすめしているアプリ開発学習は教材の写経になります。
数千円程度あれば紙書籍/電子書籍は購入できますし、Udemyなどで気にあるフレームワークによるアプリ開発を検索するのもよいでしょう。
反復学習と応用の重要性
TypeScriptはJavaScriptの上位言語にあたるため、必ずReactやNest.jsなどライブラリとフレームワークが関与します。
純粋に一度きりの基礎学習やWebアプリ開発ではTypeScriptの習得は難しいです。
特に、たとえ簡易的であってもWebアプリ開発を反復しない限り、Web/DBなどの知識もセットで身に付けるのが困難になります。
そのため、ロードマップ通りに学習する中で実践的なWebアプリ開発を重点的に実施しましょう。
TypeScriptの学習における注意点
これはTypeScriptだけでなく全てのプログラミング言語学習に通ずるのが、学習の目標設定と学習環境の重要性です。
おそらく、リスキリングなども含む書籍・ネットによる学習環境の充実度は、エンジニアといった職種が圧倒的に1位だと感じています。
また、資格が必須である職種でもないため、ネット環境さえあれば取り組むことができる好待遇な職種だと言えます。
それでも、市場ではエンジニア不足(経済産業省調べ)と言われており、原因の一つとして学習時の挫折が起因しています。
そのため、プログラミングを学習するために、目標設定と学習環境を整えましょう。
特に、以下の学習環境があるか調査するとよいです。
- 低価格帯でメンター付きの期間を設けた学習環境があるか
- テキスト学習/動画学習だけでなく質問できるコミュニティがあるか
- 現役エンジニアと接点を持てる環境があるか
上記3つにおける環境の有無によって、学習の継続率が全く異なります。
エンジニア業務の中でコーディングは一部に過ぎず、アプリ開発などは様々な工程(端的に上流/下流工程での業務の切り分け)があります。
多くの経験を持つ現役エンジニアから、実践的な業務上でのスキルを学べるのは、スタートを切ってからの初速が違うはずです。
また、現場で様々な経験を積んだエンジニアがメンター、あるいは質疑応答可能な環境があれば、モチベーションを保ちながら最短でエンジニアとしてスタートできます。
ただでさえ、一日で習得できる概念ではないため、学習の継続性を高めるために環境づくりを徹底しましょう。
TypeScriptの欠点とは
TypeScriptを利用する上で、TypeScriptで解決できない場面を把握しておくことは重要です。
開発時にTypeScriptの欠点を理解することで、改善策が立てやすいからです。
TypeScriptの言語特性からアプローチできるかどうかを知っておきましょう。
- 実行時の高速化・省メモリ化に影響しない
- TypeScriptランタイムはない
- TypeScriptコンパイラは最適化しない
上記の各欠点をさらに詳しく理解したい人は、「【TypeScript】言語の難易度やJavaScriptと比較して徹底解説!」を一読ください。
TypeScriptはなぜ人気なのか?
JavaScriptに対してコンパイルし利用する言語を「AltJS」と呼び、TypeScriptもその一種になります。
多くのAltJSの中でもTypeScriptは、最も人気な言語の一つです。(ランキングトップクラス)
実際に、「Stack Overflow」や「The State of JavaScript」など様々なアンケート調査・サイトで人気度の高さを誇っています。
他にも以下のポイントで人気を博しています。
- ネット上における圧倒的な情報量
- エコシステムの充実度
- TypeScriptによる就職採用率
さらに詳しくTypeScriptの人気を知りたい人は、「【TypeScript】難しい理由と解決策を徹底解説!」を一読ください。
JavaScriptのメリットも享受できる
TypeScriptの人気の背景には、間違いなくJavaScriptがベースにあることが考えられます。
特に、昨今の開発プロジェクトは求められるコードが複雑かつ規模拡大を前提としているため、フロントエンドとサーバーサイドを統一した言語で取り組むことも多いです。
そのため、TypeScript/JavaScriptどちらであっても、Node.jsによる統一化を図るのでTypeScript案件とJavaScript案件を同時に狙えるエンジニアになれます。
TypeScript初心者におすすめの本
現在、TypeScriptに限らずプログラミング言語学習の方法は多岐に渡ります。
- Google検索結果の上位サイトを参考にする
- Progateやドットインストールなどの無料学習サイト
- TypeScriptにおける公式ドキュメントやチュートリアル
- YouTubeやUdemyなどの動画学習教材
上記内容に沿って、TypeScriptの学習を進めている人もいるかと思います。
ただ、学習内容が合っていても学習しやすいとは限らず、視聴時間や取り組みやすさの違いによって挫折することもあります。
そのため、金額的にもリーズナブルで何度も手元で読み返せる本がおすすめとして挙げられます。
ここでは、以下の書籍を紹介します。
- プロを目指す人のためのTypeScript入門
- 図解!TypeScriptのツボとコツがゼッタイにわかる本
- モダンJavaScriptの基本から始めるReact実践の教科書
- ゼロからわかるTypeScript入門
- TypeScriptとReact/Next.jsでつくる実践Webアプリケーション開発
それぞれの書籍について、概要や詳細内容を知りたい人は「TypeScriptの学習におすすめできる本を目的別に紹介!」を一読ください。
おすすめのTypeScript学習・練習サイト
読者によっては、TypeScriptの学習において最適な手段を選択するべきです。
以下の手段から考えると、TypeScriptにおけるおすすめな学習教材の選択が変わります。
- テキスト型教材
- 動画視聴型教材
どちらにおいてもTypeScriptを学習できる内容ではありますが、より読者のタイプを考えると以下の入り方も合わせて取り入れましょう。
文法レベルから学ぶTypeScript
多くのテキスト型教材は、TypeScriptの文法レベルから学ぶことが大半です。
実際に、基礎を押さえられていない初学者は、意図を理解していないコード記述になりいわゆるコピペプログラマーになります。
そのため、基本的な文法やコード規約・オブジェクト指向といった基礎固めからじっくり始めたい人はテキスト型教材がおすすめです。
開発体験型から学ぶTypeScript
一方で、アプリケーション開発から取り組むのも最適な学習手段の一つです。
なぜなら、基礎学習で挫折してしまうと開発までたどり着けず、プログラミング学習を断念するケースが多いからです。
また、プログラミングは開発こそが楽しいわけで、基礎学習だけではモチベーション維持が困難です。
そのため、始めは教材の手順に沿って写経し、あとからコードの意図を調べる開発体験型学習もおすすめです。
TypeScript入門・練習サイトの特徴
以下は、TypeScriptの学習サイト・動画サイトを簡潔にまとめています。
サイト・チャンネル名 | テキストベース | 動画ベース |
---|---|---|
【公式】TypeScript ハンドブック(日本語翻訳版) | ||
TypeScript Deep Dive (日本語版) | ||
サバイバルTypeScript | ||
TypeScript Tutorial | ||
TypeScript Tutorial – W3Schools | ||
TypeScript超入門 覚えることは9個だけ! | ||
日本一わかりやすいTypeScript入門シリーズ | ||
超TypeScript入門完全パック- TypeScriptでアプリを作りたい方必見! | ||
プログラミングチュートリアル | ||
ムーザルちゃんねる |
TypeScriptの各学習サイトの詳細を知りたい人は、「【無料】TypeScript入門・練習できるサイトをまとめて紹介!」を一読ください。
【10日間】実務レベルのTypeScriptを学習したい人へ
エンジニア業務を通して疑問を感じるのが「多くのプログラミングスクールにおける学習期間」あるいは「プログラミングそのものにかける学習時間」です。
実際に、プログラミング学習を始めたいと考える人もこんな疑問を持っていませんか?
- 多くのプログラミングスクールが設けた期間は長すぎないか
- 本当にサポート体制は充実しているのか
- そもそもプログラミング学習の時間に無駄はないか
特に、上記の3つが学習に対するモチベーションの低下につながってしまいます。
というのも、学習をスタートした時点から日が経つごとにモチベーションは落ち始めます。
そのため、最短期間かつ掲げてる目標地点に最適なサポートを受ける必要があり、目的に沿った最短学習時間を設ける必要があるわけです。
本サイトもTypeScriptを中心に現役フリーランスエンジニアとして働く筆者が監修した学習プログラムを用意しています。
特に、以下の内容に特化してプログラムを作成しています。
- 10日間でTypeScriptの学習を完了させる
- コミュニティによるサポート体制整備
- 最新のエンジニア情報をメルマガ配信
より実務的にTypeScriptを学べるよう学習サポートを強化しています。
また、メルマガ登録頂いた方に、無料教材として「Webアプリ開発資料」を配布しています。
気になる方は、ぜひ一読ください。
コメント