React+TypeScriptでアプリケーション開発する意味
前書き
前回、自然言語処理の記事を書きました。
これをフロントエンドから動かしたいなと思い、何らかのアプリケーションを開発します。
サーバーサイドに軽量なFlaskを採用し、フロントエンドにはモダンなreact+TypeScriptを採用します。
近年では静的型付け言語でもあるTypeScriptが流行しているので、勉強がてらに取り入れました。
なぜTypeScriptか?
「静的型付け」
型宣言を行うことで、アプリケーションの安全性を担保できます。
これは関数に対してどのような変数を与えれば良いのかが厳密にはっきりしていますし、
バグが発生した際に対処しやすく、可読性も高いドキュメントの役割を果たすことができます。
エンジニアはアプリケーションの可読性・安全性を重視するアプリケーション開発を目指すので、
学生の身分のうちにTypeScriptを吸収した方がいいと感じました。
オブジェクト指向型
JavaScriptでは オブジェクト指向の概念をあまり使ってきませんでした。
自分がRubyやPythonで意識したことはありますが、正直そこまで慣れていません。
TypeScriptではクラス・継承を使用できます。
静的型付け言語やオブジェクト指向はJavaやGoでも共通しますし、
他の言語での開発を行うと考えて、やって損はありません。
JavaScriptのバージョン問題
JavaScriptには毎年バージョンアップがなされているようですが、
全てのユーザーも普段からブラウザのアップデートするとも限りません。
ほとんどのブラウザに対応しているのが、ECMAScript2015(ES6)らしく、
ここに対応したコードでアプリケーションを開発する必要があります。
コンパイラを通して任意のバージョンのJavaScriptに変換してくれるありがたい役割付き。
なぜReactか?
まず最初に挙げられるのは、TypeScriptとの相性です。
今までこれはReactの方が上だと言われ続けてきました。
ただ最近ではVue3.0が公開されてから、VueとTypeScriptの相性が格段に向上したとのことです。
Reactの特徴
- JSX記法
- Hooksで拡張性・汎用性のあるロジックで書ける
- 性能面で総合的に有利
- 厳密性とTypeScriptとの相性