블룸버그가 TypeScript를 대규모로 도입하며 배운 것들
(techatbloomberg.com)- 블룸버그 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. 생성된 선언들은 필수가 아닌 종속성들을 포함 가능