TypeScriptとはJavaScriptの上位互換。研修に採り入れる価値はある?
TypeScriptはJavaScriptの上位互換と言われます。JavaScriptはWeb開発で長く人気ですが、TypeScriptに切り替える動きもあります。将来性や性能を含め研修に採り入れる価値があるかどうかを検証します。
短期で基礎を習得できるオンライン・リモート講座(入門5日・基礎10日)はこちら
目次[非表示]
- 1.TypeScriptの基礎知識
- 2.将来が期待されている理由について
- 2.1.Googleが推奨している
- 2.2.プログラマーの関心が高い
- 3.TypeScriptのメリットは
- 3.1.JavaScriptと親和性が高くコードも短くて済む
- 3.2.型宣言ができエラーを防げる
- 3.3.大規模開発にも向いている
- 4.TypeScriptの気になる点は
- 4.1.日本語の情報が少ない
- 4.2.JavaScript未経験だとハードルが高い
- 5.TypeScriptの効果的な教育方法は
- 5.1.社外の研修サービスを利用する
- 5.2.社内で研修する
- 6.新入社員へのケアで大切なことは
- 6.1.個人の習得レベルに合わせて対応する
- 6.2.適正を見極めて継続的にサポートする
- 7.TypeScriptは習得の価値がある期待の言語
TypeScriptの基礎知識
TypeScriptは2012年にMicrosoftが外部公開したプログラム言語で、JavaScriptを基に作成されました。TypeScriptによって効率的に大人数での開発・制作が可能となります。特徴や、広く普及しているJavaScriptとの違いについて確認しましょう。
ジョブサポートのフロントエンド(HTML5・CSS・JavaScript)入門5日講座はこちら
Microsoftが開発したプログラミング言語
TypeScriptはJavaScriptを拡張して開発したプログラミング言語です。JavaScriptを拡張して開発されたプログラミング言語であることから、JavaScriptで利用可能なライブラリなどもTypeScriptで使用できます。 大人数のプログラマーが開発に関わる場合でもエラーを防げるように設計されているのが利点です。 Googleでは2017年、標準開発言語に採用しています。この流れを受け、TypeScriptは日本国内でも普及する可能性があり、将来性の高い言語と言えます。
TypeScriptとJavaScriptの違い
TypeScriptとJavaScriptの違いで顕著なのが、変数データの型が「動的」か「静的」かという点です。型の取り扱いが比較的自由で、型が「動的」であるJavaScriptに対し、TypeScriptは事前に変数の型を決める「静的」な方式であることでエラーを防ぐことが可能となりました。この機能によって、大人数での開発でも安定して開発を行うことが可能となるのです。 また、スクリプト言語であるJavaScriptと異なっているのが、トランスコンパイラが必要な点です。JavaScriptではエディタとブラウザが存在するだけで開発環境は整った状態と言えますが、TypeScriptは実行環境を用意し、動作環境の構築を行うことが必要となります。
■関連記事
将来が期待されている理由について
JavaScriptはWeb開発・制作分野において不動の人気を誇る言語です。しかしGoogleがJavaScriptを軸として開発されたTypeScriptを推奨したことで、流れが変わりつつあります。
Googleが推奨している
前述のようにGoogleは2017年、標準の開発言語のひとつとしてTypeScriptを採用しました。これは主にJavaScriptより堅牢、安全、開発効率であるなどの面を考慮した結果と推測されています。 Googleが開発したJavaScriptフレームワークのAngularは、TypeScriptをベースに開発がされていることからもTypeScriptを標準化するという意思が汲み取れます。 また、ReactやVueなどのフレームワークもTypeScriptをサポートするようになっており、今後も需要が拡大していくと見込まれています。
プログラマーの関心が高い
ソフトウェア開発のプラットフォーム「GitHub」では例年、GitHubを利用する開発者の年次レポート「The State of the Octoverse」を作成しており、2020年版によれば、TypeScriptは4番目に多く利用される言語にまで躍進しました。 この結果は非常に大きな意味を持っています。本レポートでの利用者数順位は、1位にJavaScript、2位にPythonとなっていますが、3位になったJavaは1995年に発表された古い言語です。それに対して、TypeScriptは2014年に発表されたばかりの言語であることから、関心を寄せるプログラマーが多く、開発現場に急速に浸透していることがうかがえます。
■関連記事
TypeScriptのメリットは
TypeScriptは簡単に言ってしまえばJavaScriptに新たな機能を追加した進化版です。そのため、JavaScriptとの互換性があります。 また、JavaScriptでエラーを起こしやすかった原因の解消をはじめとして、開発に関わる効率化が施されています。JavaScript利用者からは「かゆいい所に手が届くようになった」との声も聞かれるほどです。
JavaScriptと親和性が高くコードも短くて済む
TypeScriptはJavaScriptを基に開発された言語であることから元々の親和性が高く、トランスコンパイラを利用してJavaScript化した後はJavaScriptと同様に扱うことが可能です。 また、JavaScriptではクラスを生成することができなかったため、どうしてもコードが長くなるという欠点がありましたがTypeScriptはクラスを生成することが可能となりました。 クラスを利用することによって短縮化の上、可読性を上げることも可能となり、TypeScriptを選択する大きな利点となっています。
型宣言ができエラーを防げる
JavaScriptでは型指定を行う必要がなく、どんな値でも入力してしまうことが可能でした。それが柔軟な点でもあり、同時にエラーの温床となる問題点でもあったのです。 しかしTypeScriptは変数を指定するときに型を同時に指定することができます。これによって、「数値」や「文字列」などの取り扱いによるエラーがなくなり、毎回変換するためのキャストを行う必要もなくなりました。 変数データの在り方が静的になるというだけでエラーが減るというのはプログラマーの悩みをひとつ減らすことにつながります。型チェックも容易なため、効率の良い開発につながります。
大規模開発にも向いている
TypeScriptはオブジェクト指向プログラミングが可能です。オブジェクト指向プログラミングが可能であるということは、大規模人数での開発が行われたときにも開発する項目を分担することが可能となります。 従来のJavaScriptの開発では冗長な文章の使い回しなどが多く、大規模な開発になると同じコードが散見されていました。 また、型が指定できることからインターフェースによるエラーが発生することを事前に防ぐことが可能になる点も、JavaScriptでは難しいとされていた大規模開発に向いていると言えます。
■関連サイト
TypeScriptの気になる点は
TypeScriptを利用するときに気になる点は、まだ日本語の情報が少ないことです。言語が発表されて日が浅いこともあり、現状では主に英語圏の情報に頼らざるをえません。 またJavaScriptやオブジェクト指向プログラミングを取り扱う言語が未経験であると学習のハードルが高くなる可能性があります。
企業向け実績2500名以上,個別指導型の通年開講プロエンジニア育成コース(Java1~3ヶ月)はこちら
日本語の情報が少ない
TypeScriptは、公開されてから10年にも満たない若い言語のひとつです。COBOLなど既に60年が経過しているような歴史ある言語とは違い、日本語の情報が少ない問題があります。
TypeScriptの本は少しずつ出版されていることや、エンジニアが情報を発信するオンラインのつながりなどで情報発信も行われています。しかし海外と比べるとやはり情報が少ないと言わざるを得ません。 日本ではITエンジニアの人材不足が顕著なことも一因と考えられています。
JavaScript未経験だとハードルが高い
TypeScriptはJavaScriptを基に開発された言語であるため、JavaScriptを知っていることである程度書き方についての学習コストは下がります。しかしながらオブジェクト指向プログラミングといった特性はJavaScriptだけの学習ではカバーしきれません。
オブジェクト指向プログラミングをしっかりとマスターするには、JavaやC#などのオブジェクト指向プログラミングも学習する必要があります。このため習熟度によっては言語の扱いに差が生じるのを回避するのは難しく、初心者にはハードルが高くなってしまいます。
■関連記事
TypeScriptの効果的な教育方法は
TypeScriptを効果的に学習するためには、研修を行うことです。研修には効率良く学習できる社外での研修サービスのほか、自社で教えるべきことが決まっている場合は社内で研修するという方法があります。 どちらがより効果的かは一概に判断することは難しいですが、プロが教えることの信頼性や社内人材の確保、コストを考えて社外か社内かを選択する必要があるでしょう。
短期で基礎から学べるフロントエンド(HTML5・CSS・JavaScript)入門5日講座はこちら
社外の研修サービスを利用する
どのような会社でも研修期間というものはあるものですが、IT業界においては技術職である以上技術を習得する期間が必要です。この問題について、社内で研修を行うだけの体力のある会社も存在しますが、中小のIT企業などは社外の研修サービスを利用する例が少なくありません。
これは人材が限られる中小では、内部人材によって研修を行うことで、社内の生産性が低下することを避けるためです。また、社外の研修サービスではどのような言語を習得させたいのかなどのゴールを決めて学習させることができ、習熟度も統一させることが可能となっています。
社内で研修する
研修を社内で行う企業も当然存在しています。これは企業専用のフレームワークや、教育方針などが既に決まっていることや、利用するシステムに合わせたオリジナルの研修システムなどが確立されている場合に多くみられます。
自社の社員が講師を勤めるということは、講師は通常業務と合わせて講師の業務も行う必要があるため、負担に偏りが生じないようにチーム単位で研修システムを作ることが必要でしょう。
また、OJTなどを利用することでより実践的な研修を行うことも可能になるため、必ずしも社外の研修サービスが効率的であるとは限らない点も考慮することが大切です。
■関連サイト
新入社員へのケアで大切なことは
新入社員は個人個人でレベルに差があります。そのため適正や既にどれくらいの知識があるのかを理解した上で新入社員ひとりひとりにあった対応やケアを行うことが必要です。
DX時代に活躍する人材育成を! 若手、新人エンジニアの成長を阻む 人材育成5つの失敗と解決策はこちら
個人の習得レベルに合わせて対応する
情報系の大学や専門学校を卒業した新入社員であれば、既にプログラミングに触れていることは十分に考えられます。対して、文系大学出身者だと、全くプログラミングの素養がない場合もありえます。
現代はネットやスマートフォンの普及で情報に触れる機会が増えた代わりに、パソコンを積極的に利用している人と利用しない人など、プログラミングに自分から触れている人、そうでない人の二極化が激しいとされ、新入社員も例外ではありません。 新入社員に対しては個人の習得レベルに合わせて仕事の内容や研修も丁寧にケアしなければならないでしょう。
適正を見極めて継続的にサポートする
IT業界に限ったことではありませんが、新入社員とベテラン社員ではスキルのレベルが全く違います。IT業界は現場で実践を積むことで初めて理解できることが多いため、その差に新入社員がショックを受けることもあるほどです。 研修から戻りOJTの担当になった上司は、まず新人と現場のレベル差があることや研修では教わっていない内容についてのギャップを把握しておく必要があるでしょう。 その上で、新入社員がどのような人材であるのか、適性があるのか、どのような激励方法が正しいのかを見極めることで、正しく教育することが必要です。
■関連記事
TypeScriptは習得の価値がある期待の言語
Googleをはじめとして世界の企業がTypeScriptに注目し利用を始めています。現在もJavaScriptが利用されている言語としては頂点にいますが、課題を解消した上位互換として存在感を現し始めたTypeScriptを習得しない手はありません。
登場から日が浅い言語ではありますが、将来的なことを考えれば習得する価値があり、今後の普及に期待できる言語と言えます。