ブルームバーグがTypeScriptを大規模導入して学んだこと
(techatbloomberg.com)- ブルームバーグ Terminalが主要プロダクト:1万を超えるアプリがある
→ リアルタイムデータ表示、ニュース、トレーディング、メッセージングなど
→ 2005年に既存のFortran/C/C++サーバーコードをJSへ移行し、2012年からはクライアントもJS
→ JSコードは5,000万行を超え、JS開発者は2,000人以上
→ この規模でJSからTSへ移るのは大きなことであり、大企業では技術転換を敬遠し、動きが遅くなりがち
→ 興味深いことに、TS移行を始めると、エンジニアたちが自発的に動いて皆が推進役になった
→ 初年度だけで200プロジェクトが移行し、元に戻ったプロジェクトはない
- 中核原則
→ Scalability:拡張が進んでも、開発速度を速く維持する
→ Ecosystem Coherence:すべてのパッケージは一緒に動作すべきで、依存関係のアップグレード時に困難があってはならない
→ Standards Alignment:ECMAScriptのような標準に準拠し、次にどこへ進んでも対応できるようにしておく
- 10の教訓
-
TypeScriptはJavaScript + Typesでありうる。
-
TSは急速に進化するため、最新コンパイラに追従するのがよい。
-
一貫したtsconfig設定には価値がある。
-
どの場所に依存関係を明示するかが重要。
→ Ambient Modulesを使用
-
Typeの重複排除は重要。
-
暗黙的な型依存関係は避けるべき。
-
宣言ファイルには3つのExportモードがある:global、module、implicit exports
→ 可能ならmoduleで
-
パッケージのカプセル化は破られうる。
-
自動生成された宣言は、依存関係から型をインライン化できる
-
生成された宣言には必須ではない依存関係が含まれることがある
まだコメントはありません。