Flow
먼저 타입스크립트
는 마이크로 소프트사에서 개발한 자바스크립트의 슈퍼셋 언어로 자바스크립트에 선택적 타입 시스템을 추가하고 컴파일 과정에서 타입 검사, 자바스크립트로 트랜스파일등과 기존 자바스크립트보다 강력한 자동완성 기능을 제공하는등
그야 말로 타입 시스템의 추가를 넘어 더 편리하고 강력한 기능을 제공해주는 언어로 불리고 있습니다.
그렇다면 오늘 알아볼 Flow
는 페이스북에서 제작한 자바스크립트의 정적 타입 검사기
입니다.
기존의 자바스크립트에 타입 주석을 추가하는 방식으로 작성할수있으며 타입 검사를 지원합니다 런타임의 오버 헤드없이 정적 분석만을 수행하며 Babel
을 통해 타입 주석제거후 일반 자바스크립트로 변환시킵니다.
간단하게 설명하면 타입스크립트
는 새로운 언어이고 동작하는 컴파일러가 따로있으며 구조적 타입 시스템만 지원합니다
반대로 Flow
기존 자바스크립트에 붙히는 타입 검사기며 컴파일 과정을 거치지않고 바벨과 밀접하게 통합되어있는 구조를 가지고있습니다 덤으로 구조적 타입 시스템과 명시적 타입 시스템 모두 지원합니다.
난 타입스크립트를 먼저 배우긴했지만 Flow
라는 도구를 한번도 들어본적이 없다.
그렇다면 왜 Flow
에 대한 존재를 몰랐을까? 내가 무지했던걸까?
먼저 Flow
의 단점으로 코드에디터와 통합이 잘되어있지않다. 우리가 자주 사용하는 VSC에서도 Flow
가 무슨 역할을 하는지 알려면 추가적인 익스텐션을 추가해야된다. 둘째로는 한국 커뮤니티에서의 부족한 자료다.
백엔드를 공부해본 사람들은 알거다 한국에 백엔드는 대부분 Spring을 사용한다. 그래서 취업시장을 보면 Nest.js를 사용하는 사람들보단 자바와 스프링을 사용하는 개발자의 채용빈도가 높다 라는 말이있다.
그처럼 한국에서 Flow
의 인기가 없고 자료가 없다보니 프론트엔드 시장에서도 당연히 인기 많은 타입스크립트로 개발하는 개발자의 채용률이 훨씬 높고 자료가 많다보니 상대적으로 Flow
보단 타입스크립트로 유입되는 개발자가 훨씬 많을거다.