2021/02/26 に公開 1138 views

このエピソードについて

ep.77 の延長戦として、@potato4d が、 @hyena_shoyo_kyo と @pittanko_pta に、 TypeScript を推進していくための考え方について話しました。

ゲスト紹介

  • shoyo.kyo
    • @hyena_shoyo_kyo
    • フロントエンド開発センター UIT 1室 UIT Dev 3 Team
    • LINEポイントクラブとLINE LIVEのフロントエンドをメインに担当
  • amon.keishima
    • @pittanko_pta
    • LINE Growth Technology UIT Team
    • LINEポイントクラブのフロントエンドをメインに担当

TypeScript 移行について『中立派』の意図とは

  • TypeScript 賛成派と TypeScript 反対派が居るなか、中立の意図は
    • どちらの気持ちもわかる
    • 実際移行に踏み切れなかったときもあった
    • が、自分の中で腹落ちしたことがあったので、中立的な観点で反対派の話も聞いていきたい

TypeScript とコストパフォーマンス

  • 新規の場合は TypeScript 自体の学習コストで良い
  • 既存からのマイグレーションの場合は、それに合わせて歴史とのコストがある
    • 例えば ES2015 以前だと Type Friendly ではないコードが多い
    • 複数の型のデータを場合に応じて返すコードなど
  • 時代とのギャップが有るほどコストはかかる

コストについて

  • 実はコストは TypeScript 特有のものではない
    • そもそも移行というものはコストがかかるものである
  • その中でも、 TypeScript は移行しやすい部類
    • TS はあくまでも JS のスーパーセットであるため
    • TS のコードは全部 JS に変換できる
  • LINE ポイントクラブでは、 Perl to Kotlin をやっている
    • もちろん Perl は JVM 言語ではないので互換性がない
    • フルスクラッチでのリプレースとなるので、人員も時間もかかる
    • 一方で JS to TS は段階的な移行が可能で、プロダクトの開発ラインを止めないで済む
    • そういった点で優秀

TypeScript とこれから

  • 短期的な旨味はある?
    • API の型定義に追従しやすい
    • ライブラリのドキュメントを見に行く時間が減る
  • TypeScript が当たり前になる未来はある?
    • 専門学校にカリキュラムが追加されるほどになってきた
    • 今後絶対にきそう

Refs