2019년에는 Flow와 TypeScript 중에 어떤 것이 좋은 선택일까요?

이번에 JS 프로젝트의 정적 타입 분석을 위해 Flow와 TypeScript를 고려하고 있었습니다. 그러다 상대적으로 러닝커브가 낮고 바로 TypeScript로 이주하면 배포 로직을 수정해야 하는 이슈가 있어서 우선 Flow를 체택하게 됐습니다. 흐음, 그러다 지금은 또다시 TypeScript로 이주하기로 생각하고 있는데, 그 이유는 다음에서 느낀 장단점 때문이 아닐까합니다.

우선 지금까지 짧지만 프로젝트를 진행하며 느낀 Flow와 TypeScript의 장단점 중 크게 다가온 부분은 다음과 같은데요.

장점

  • TS는 IDE 서포트가 잘되어있고, 거대한 커뮤니티를 가지고 있다.
  • Flow는 러닝커브가 낮아 입문하기 쉽고 JS의 장점을 살리면서 '정적 타입 분석’만 할 수 있다.

단점

  • TS는 러닝커브가 높아 상대적으로 입문이 어렵다. 그리고 '정적 타입 분석’이 초점이 아닌 철학을 가지고 있어 여러 기능들이 제공된다.(장점인가…!)
  • Flow는 뭔가 이상하다. 오버라이딩된 함수를 체킹하기 어렵고 파일마다 // @Flow를 추가해주는 번거로움도 있고, 아무튼 뭔가 이상하다. 그리고 결정적으로 국내 커뮤니티의 크기가 작다.

이런 생각을 하던 와중에 궁금해졌습니다. 혹시 JSDev 여러분께서 생각하시기에는 Flow와 TypeScript를 비교했을 때 "나는 이 부분이 괜찮다고 생각해 TS나 Flow를 쓴다!"라고 하시면 그건 어떤 것일까요??

사실 이제는 왜 써야한다는 이슈보다는 무엇을 써야한다는 이슈가 강한 것 같아서 질문을 드립니다! TS로 이주를 생각하는 시점에서 농담삼아 들리는 소문에 페이스북도 Flow를 버렸다고 이야기 하시는 분들도 있고, 이미 둘을 비교한 좋은 자료들(https://bit.ly/2I8GmAu, https://bit.ly/2D5zzTZ, …)도 TypeScript를 정론으로 받아드리고 있는 상황인 것 같아서 고민이 깊네용,

일단 대세는 Typescript인거 같습니다. 여기 계신 많은 분들도 사용 중이시고요.

커뮤니티가 작은 기술을 선택했다가 고생했던 과거가 있어서 전 TS를 선호합니다.

대세는 타입스크립트입니다.