ここに書いてあるBeforeのコードに強い危機感を覚えている。あそこまでこんがらがってはいないけど、jQueryとテンプレートエンジンでお茶を濁してバックエンドとフロントエンドの境界が曖昧になり、つらみがある点は自分も同じなので。
RailsでフルスタックWebフレームワークの扉が開き、様々な言語でRailsインスパイアなWebフレームワークが作られ、jQueryと共に成長してきたはいいけど、UIの表現力が乏しいのでフロントエンド周辺がカオスになってしまう。すごくよくある話だと思う。
この状況だと、フロントエンドがどんどんバックエンドを侵食すべきで、フロントが書ける人間がバックエンドを書けばいい。で、TypeScriptで統一しちゃって、メンバーがフロント・バックの両方を書けるようになるのが一番いい気がしている。なので、T3 Stackに大いに可能性を感じている。
今まで(Rails,Cake.Django等)のフルスタックなWebフレームワークは、MVCのMCがメイン。Vが弱くHTMLを吐き出すテンプレートエンジンがある程度で、UIの状態管理がフレームワーク側でできないので、jQueryでカオス(煩雑で似たようなコード)を多く生み出してしまう。UIに関する変更コストって結構高いんだよね。
令和のフルスタックは、Cを意識しなくて良くなる。エンドポイントが自動で生えるから。tRPCとか使うと。VとMがスキーマを共有してつながり、Viewは宣言的にスッキリと作れ単体でテスト可能になる。いいじゃん、これで。この開発体験で気持ちよい。
TypeScriptのエコシステムはどんどん拡大している。ReactからZodでバリデーション決めてtRPC叩いてORMまで一気通貫。T3 Stackがまさにそれ。
3年後ぐらいにTypeScriptできるエンジニアの市場価値がもっと上がる!はず・・・!