Was Bloomberg bei der großflächigen Einführung von TypeScript gelernt hat
(techatbloomberg.com)- Das Bloomberg Terminal ist das Hauptprodukt: Es gibt mehr als 10.000 Apps
→ Anzeige von Echtzeitdaten, Nachrichten, Trading, Messaging usw.
→ 2005 wurde bestehender Fortran-/C-/C++-Servercode auf JS migriert, und seit 2012 ist auch der Client in JS
→ Es gibt mehr als 50 Millionen Zeilen JS-Code und mehr als 2.000 JS-Entwickler
→ In dieser Größenordnung von JS auf TS umzusteigen, ist eine große Sache, und in Großunternehmen werden technologische Umstellungen oft gescheut und spät angegangen
→ Interessanterweise haben die Engineers, sobald die TS-Umstellung begann, die Initiative selbst ergriffen und wurden zu Champions
→ Allein im ersten Jahr wurden 200 Projekte umgestellt, und kein Projekt wurde zurückgerollt
- Zentrale Prinzipien
→ Scalability: Auch bei weiterem Wachstum soll die Entwicklungsgeschwindigkeit hoch bleiben
→ Ecosystem Coherence: Alle Pakete müssen zusammen funktionieren, und Dependency-Upgrades sollen keine Schwierigkeiten verursachen
→ Standards Alignment: Standards wie ECMAScript sollen eingehalten werden, damit man auch für den nächsten Schritt vorbereitet ist
- 10 Erkenntnisse
-
TypeScript kann JavaScript + Types sein.
-
TS entwickelt sich schnell weiter, daher ist es gut, dem neuesten Compiler zu folgen.
-
Einheitliche
tsconfig-Einstellungen sind wertvoll. -
Es ist wichtig, an welcher Stelle Dependencies angegeben werden.
→ Verwendung von Ambient Modules
-
Die Deduplizierung von Types ist wichtig.
-
Implizite Type-Abhängigkeiten sollten vermieden werden.
-
In Declarations-Dateien gibt es drei Export-Modi:
global,module,implicit exports
→ Wenn möglich, module verwenden
-
Die Kapselung von Paketen kann verletzt werden.
-
Automatisch generierte Declarations können Types aus Dependencies inline übernehmen
-
Generierte Declarations können nicht zwingend erforderliche Dependencies enthalten
Noch keine Kommentare.