# 블룸버그가 TypeScript를 대규모로 도입하며 배운 것들

> Clean Markdown view of GeekNews topic #4386. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=4386](https://news.hada.io/topic?id=4386)
- GeekNews Markdown: [https://news.hada.io/topic/4386.md](https://news.hada.io/topic/4386.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2021-06-03T09:32:01+09:00
- Updated: 2021-06-03T09:32:01+09:00
- Original source: [techatbloomberg.com](https://www.techatbloomberg.com/blog/10-insights-adopting-typescript-at-scale/)
- Points: 20
- Comments: 0

## Topic Body

- 블룸버그 Terminal이 메인 프로덕트 : 1만개가 넘는 앱이 있음

ㅤ→ 실시간 데이터 표시, 뉴스, 트레이딩, 메시징등

ㅤ→ 2005년에 기존 포트란/C/C++ 서버 코드를 JS로 이관했고, 2012년부터는 클라이언트도 JS

ㅤ→ JS코드가 5천만 라인이 넘고, JS개발자가 2천명 이상

ㅤ→ 이 정도 규모를 JS에서 TS로 넘어가는 건 큰 일이고, 대기업에서는 기술 전환은 많이들 꺼리고 늦게 움직임

ㅤ→ 신기하게도 TS 전환을 시작하자, 엔지니어들이 먼저 알아서 다들 움직이고 챔피언이 됨

ㅤ→ 첫해에만 200개 프로젝트가 전환했고, 리턴한 프로젝트는 없음

- 핵심 원칙

ㅤ→ Scalability : 점점 확장되어도, 개발속도는 빠르게 유지

ㅤ→ Ecosystem Coherence : 모든 패키지들은 같이 동작해야 하며, 종속성 업그레이드시 어려움이 없어야 함

ㅤ→ Standards Alignment : ECMAScript 와 같은 표준을 준수하고, 다음에 어디로 가더라도 준비가 되어있어야 함

- 10가지 교훈

1. TypeScript 는 JavaScript + Types 일수 있다.

2. TS는 빠르게 발전하므로, 최신 컴파일러를 따라가는게 좋다.

3. 일관된 tsconfig 설정은 가치가 있다.

4. 어떤 위치에 종속성을 명시하느냐가 중요하다.

ㅤ→ Ambient Modules 사용

5. Type의 중복 제거는 중요하다.

6. 암시적인 타입 종속성은 피해야 한다.

7. 선언 파일엔 세가지 Export 모드가 있다 : global, module, implicit exports

ㅤ→ 가능하면 module로

8. 패키지의 캡슐화는 위반 가능하다.

9. 자동 생성된 선언들은 디펜던시로부터 타입 인라인 가능

10. 생성된 선언들은 필수가 아닌 종속성들을 포함 가능

## Comments



_No public comments on this page._
