最近よく聞く「web3(web3.0)」とは一体何なのか? | 1R_Techブログ
こんにちは、イチアール株式会社人事担当です。 近年、Web技術の過渡期ということでWeb3が注目を集めていますが、本記事では、そんなWeb3についてご紹介していきます。 ...
https://www.wantedly.com/companies/company_3056942/post_articles/468895
こんにちは、イチアール株式会社人事担当です。
近年、JavaScriptの後継ということでTypeScriptが注目を集めていますが、
本記事では、そんなTypeScriptについてご紹介していきます。
TypeScriptはJavaScriptを拡張する形で開発されたプログラミング言語です。正式にリリースされたのは2017年なので歴史は浅いです。JavaScriptの弱点を補う形で作られているので、JavaScriptにはない機能があります。
しかし、TypeScriptは機能性が高い分難易度は高くなります。少なくとも、JavaScriptよりは習得のハードルが高いでしょう。ただし、すでにJavaScriptのスキルがある場合はプラスアルファの学習ですぐに習得できます。
ゼロから習得する場合はTypeScriptはJavaScriptよりも難易度が高くなりますが、すでにJavaScriptのスキルがある場合、JavaScriptをゼロから習得するよりは圧倒的に簡単でしょう。
JavaScriptの経験がない人がいきなりTypeScriptを習得することも可能ではあります。難易度は高めになるので、その点はあらかじめ覚悟のうえ学習に臨むことが必要です。
TypeScriptはJavaScript同様、主にWeb制作のフロントエンド開発に使われます。TypeScriptはすでに多くの開発で使われていますが、有名な企業が開発に使用した事例もあります。
具体的には、TypeScriptを開発したMicrosoftをはじめ、Google、BMW、VMWareなどの企業がTypeScriptを使用してWeb開発をしています。MicrosoftやGoogleはTypeScriptを社内標準言語として使用しています。
現状TypeScriptよりもJavaScriptが普及していて、今後もJavaScriptがなくなることは考えにくいでしょう。それは、TypeScriptとJavaScriptは一長一短だからです。すべての面でTypeScriptの方が優れているというわけではありません。ではTypeScriptにはどのようなデメリットがあるのでしょう。
以下が挙げられます。
・使用人口が少ない
・情報が少ない
・学習のハードルが高い
まずTypeScriptは使用人口が少ないです。使用人口が少ないと開発に導入するのが難しく、また情報も少ないということになります。インターネットで検索しても情報が少なく、エラーの対処も難しくなります。日本語では情報が見つからず、英語の情報にたどり着くといったこともあるでしょう。
上でご説明した通りTypeScriptはJavaScirptよりも言語仕様として難しく、また情報も少ないということです。結果的に、二重に学習のハードルは高くなります。
TypeScriptとJavaScriptは似ていますが、いくつか違いがあります。中でももっとも大きな違いは、データの型付けでしょう。JavaScriptが動的型付けであるのに対し、TypeScriptは静的型付けになっています。
JavaScriptの場合、プログラムの最初に変数や関数のデータ型を宣言する必要がありません。プログラムの内容によって自動的にデータ型が決定されます。一方で、TypeScriptの場合は最初に変数や関数のデータ型を宣言する必要があります。
以上の説明だと、JavaScriptの方がシンプルでコードが少なく済むので、JavaScriptの方が優れているように思えるかもしれません。しかしデータ型がわからない分可読性が下がったり、エラーにつながることが多くなります。そのため、改良という形でTypeScriptは静的型付けに仕様変更されています。
TypeScriptの普及率はまだそれほど高くありません。JavaScriptと比較すると、案件数は少ないです。今後に期待という状況ですが、TypeScriptが今後伸びると予測できる要素は複数あります。
JavaScriptよりも機能面で優位な部分があるのはもちろん、案件単価がTypeScriptよりも高めに設定されています。案件単価が高いということはエンジニアの供給が増えます。
供給が増えれば需要も増える可能性が高いので、JavaScriptからTypeScriptに代替されていくと考えられます。現段階では、JavaScriptとTypeScriptの両方のスキルを身に付けるのが良いです。
TypeScriptはJavaScriptに要素をプラスしたプログラミング言語なので、JavaScriptから学習するのがおすすめです。ただし、TypeScriptから学習するのがNGというわけではありません。TypeScriptを早急に習得する必要がある場合、TypeScriptから学習するルートもあります。
また、そもそもJavaScriptとTypeScriptは類似しています。TypeScriptの方が機能がプラスされていますが、基本文法や多くのライブラリは共通しています。順序に関係なく、どちらかのスキルを習得すればもう一方の習得も容易です。
TypeScriptは静的型付けになっているので、コーディングの時点でエラーに気付くことができます。エラー修正時に補完が表示されるので、修正しやすいというメリットもあります。型の管理を考えてあらかじめ詳細設計を細かく行う必要があるので、これも見方によってはメリットと言えます。
TypeScriptの強みとして、以下が挙げられます。
・読みやすい
・JavaScriptと互換性がある
・エラー防止できる
・ジェネリックで汎用性を上げることもできる
・エディタの機能をフル活用できる
TypeScriptには以上のような強みがあります。まず、静的型付けなのでコードが読みやすいという強みがあります。JavaScriptと互換性があるので、JavaScriptの実行環境でそのまま開発できます。
型推論がJavaScriptよりもきっちりしているため、事前にエラーを防止できる点も強みになります。ただし、型推論はプログラミングの利便性を下げることにつながる場合もあります。特定の型でしか使えなくなるからです。
そこで、ジェネリックという機能があります。ジェネリックは型を抽象化し、汎用的に使えるようにする機能です。静的型付けによって型が固定されると、利便性が下がる場合もあります。
ジェネリックを使用することで、あらかじめ複数の型を入れる前提でプログラミングすることができます。TypeScriptは新しいプログラミング言語なので、エディタも高性能です。
JavaScriptと同じエディタを使用する場合でも、TypeScriptの方がコード補完やエラー検知機能が優秀です。システム開発において、プログラミングのしやすさは生産性に大きく影響します。
Googleの社内言語は、C/C++、Java、JavaScript、TypeScript、Python、Goです。GoogleがTypeScriptを社内言語に採用しているということは、今後他の企業で使われるようになる可能性も高いと言えるでしょう。
TypeScriptには以下のような欠点があります。
・使用者が少ない
・学習の時間がかかる
・コードが長い
まずTypeScriptは使用者が少ないので、情報も扱える人も少なく、結果的にプロジェクトに導入するのが難しくなります。今後は使用人口が増えると考えられますが、JavaScriptを上回る可能性は低く、また普及するまでに時間もかかります。
TypeScriptは情報が少なく、JavaScriptより機能が多い分学習の時間がかかります。型情報を記述する必要があるので、JavaScriptよりもコードが長くなります。JavaScriptのライブラリを使用する際に記載する情報が増える場合があるので、ここでもコードが長くなる可能性があります。
人気が上昇しているTypeScriptですが、その需要は徐々に増えつつあります。
未経験でも可能な補助的な業務もあり、イチアールでもTypeScript案件を取り扱っております。
ご興味がある方は、ぜひ気軽にお話を聞きに来てください!