React+TypeScriptでアプリケーション開発する意味

前書き

前回、自然言語処理の記事を書きました。
これをフロントエンドから動かしたいなと思い、何らかのアプリケーションを開発します。
サーバーサイドに軽量なFlaskを採用し、フロントエンドにはモダンなreact+TypeScriptを採用します。

近年では静的型付け言語でもあるTypeScriptが流行しているので、勉強がてらに取り入れました。

なぜTypeScriptか?

「静的型付け」

型宣言を行うことで、アプリケーションの安全性を担保できます。
これは関数に対してどのような変数を与えれば良いのかが厳密にはっきりしていますし、
バグが発生した際に対処しやすく、可読性も高いドキュメントの役割を果たすことができます。

エンジニアはアプリケーションの可読性・安全性を重視するアプリケーション開発を目指すので、
学生の身分のうちにTypeScriptを吸収した方がいいと感じました。

オブジェクト指向

JavaScriptでは オブジェクト指向の概念をあまり使ってきませんでした。
自分がRubyPythonで意識したことはありますが、正直そこまで慣れていません。
TypeScriptではクラス・継承を使用できます。

静的型付け言語やオブジェクト指向JavaやGoでも共通しますし、
他の言語での開発を行うと考えて、やって損はありません。

JavaScriptのバージョン問題

JavaScriptには毎年バージョンアップがなされているようですが、
全てのユーザーも普段からブラウザのアップデートするとも限りません。
ほとんどのブラウザに対応しているのが、ECMAScript2015(ES6)らしく、
ここに対応したコードでアプリケーションを開発する必要があります。

コンパイラを通して任意のバージョンのJavaScriptに変換してくれるありがたい役割付き。

tech.playground.style

なぜReactか?

まず最初に挙げられるのは、TypeScriptとの相性です。
今までこれはReactの方が上だと言われ続けてきました。
ただ最近ではVue3.0が公開されてから、VueとTypeScriptの相性が格段に向上したとのことです。

Reactの特徴

  • JSX記法
  • Hooksで拡張性・汎用性のあるロジックで書ける
  • 性能面で総合的に有利
  • 厳密性とTypeScriptとの相性

Vueの特徴

  • HTML/CSSが書ければできてしまう
  • JSX記法でないため、個人的に可読性が高い気がする
  • CSSの使い方が楽

世界ではReactの方が格段に人気で、VueはReactの後塵を拝んでいるようです。日本ではVueとReactの双璧人気。