TypeScript + React-Redux なプロジェクトを作ろうとしてる話

https://github.com/wusagi24/agqr-player/tree/d33c50f3f63990506b0d9e36fd62fe6622833e67

React-Redux 構成の SPA を TypeScript で書いてみたいと思って、とりあえず必要そうなものいろいろ組み合わせた雛形(?)を作成してみました。

半年後にはもう参考にならないものになってそうだけども…

ゴテゴテ

ただ使ってみたいってだけだったり、雛形の段階では不要だけど後から入れることになると面倒くさいタイプだったりのパッケージを始めから組み込んであるので、雛形の時点でゴテゴテ感が否めません…少なくとも最小構成ではない。

でもここから、dev 時と prod 時でのビルド処理の振り分けスクリプト書いたり設定ファイル増やしたり、十中八九使うけどまだ入れてないライブラリ足したりで、さらにゴテゴテしていくはずです。

今に始まったことではないですが、「うーん、なんかなー」って感じ。

まぁ、しばらくは web のフロントエンドに寄り添いたいと思っているので、そんなもんかなーと思うことにしています。

あと完全に好みの話ですが、フルスタックなフレームワークよりは、薄いフレームワークやライブラリを積み重ねていくほうがまだ好きなので。

TypeScript + React-Redux

TypeScript で React-Redux 構成を作るのは初めてだったんですが、最小構成での話であれば

[ES next] -> babel -> [JS] の流れが、

[TypeScript] -> typescript -> [JS] になるだけなので、

ややこしさは大差ないかなという印象です。

ただ、(特に Redux 周りの)大小様々なパッケージを追加しつつ実際に作って行く中で、なんやかんや TS ならではの面倒くさいことは出てきそうな気はしています。

いまのきーもち

VS Code だと何かと気が利いていて便利そうなのと、知識欲の観点から TS 採用してみましたが、少なくとも “ひとりプロジェクト” だったら ES next な記法を Babel 通して使ったほうが何かと手っ取り早かったり、将来性があったり、不要な地雷が増えなかったりで、いいんじゃないかなと今のところ思ってます。

一応型がある安心感が分からないわけではないんですが、そもそも JS で独自型ごりごり作っていく設計が個人的にあんまり…
出来る限り、プリミティブ型と、浅い構造のオブジェクトと、ピュアな関数でどうにかしたほうが、JS は活き活きする気がしてる(謎スピリチュアル言葉選び