TypeScript (1) 사용 배경과 환경 설정하기

2020. 11. 10. 00:06Project-Review

JavaScript를 사용하는 사람이라면 TypeScript를 들어보기라도 했을 것이다. 이번 프로젝트에서 간단하게나마 사용해봤는데, 이유는 다음과 같았다.

 

  • 많은 사람들이 사용하고 있으니까
  • 검토해야할 오류를 줄이고 싶어서

우선 해마다 타입스크립트의 사용자는 늘어나고 있다. 그만큼 사용하는 이유가 확실하기 때문이다. 그 중 하나로 오류를 줄일 수 있는 것이 가장 매력적이었다. 자바스크립트로 프로젝트를 시작했을 때, 느낀 점 중 하나는 특정 API를 실행하는데 오류가 걸렸다면, 얘가 로직을 잘못짜서 문제가 생긴건지 아니면 타입의 문제인지 확인하기 위해 Conosle.log나 테스트케이스 같은 것 중 하나를 살펴봤야 하는데, 타입스크립트 사용시 적어도 들어오고 나오는 것에 문제가 있는지 없는지를 판별 할 수 있다. 그리고 이는 실행이나 테스트를 통해서가 아니라 애초에 코딩을 짜면서 확인할 수 있는 것이므로 시간 절약이 된다고 생각했다.

 

그렇지만 장점만 있는 것은 아니다. 주관적인 어려움에는 다음과 같은 것이 있었다.

( 물론 입문자의 입장이므로 숙련된 사람들과의 생각은 충분히 다를 수 있다. )

 

  • 러닝커브
  • @types...설치
  • tsconfig.json
  • 이게 정말 필요한 것일까

페이스북에서 타입스크립트를 왜 사용하지 않는지에 대한 설문을 했다고 한다. 그 중 하나가 러닝커브 떄문이라고 한다. 타입만 설정해주면 되는 것 아니냐는 말이 나올 수 있지만, 때로는 어떻게 설정해야 할지 막막할 때가 있는 것도 사실이다. 또한, 한 번 본다고 바로 적용할 수 있는 사람은 많지 않을 것이라는 생각도 든다.

 

또한, @types 같은 라이브러리를 설치해야한다. 이건 내가 편리하게 할 수 있는 방법을 몰라서 그럴 수 있겠지만, 적어도 하나하나 찾아보면서 설치하는 것은 굉장히 불편했다. express를 사용한다면, express만 사용하는 것이 아니라 안에서 다양한 라이브러리를 설치할 텐데, 이걸 또 @types 붙어있는 라이브러리를 설치해야했다.

 

위에 것은 뭐 그렇다 칠 수 있다고 생각한다. 그렇지만, tsconfig.json 설정할 때가 가장 힘들었던 것 같다. 구글링을 하면 해결은 할 수 있지만, 아직까지도 다시 설정해보라면 막막할 것 같다. 이 또한 러닝커브에 속해 있는 분류 중 하나지만, 가장 생각나는 어려움이어서 따로 적었다.

 

이렇게 생각하다보면 그냥 쓰지 말까? 라는 생각이 자연스레 떠오른다. 같이 개발한 팀원도 같은 생각을 했다고 한다. 그렇지만, 프로젝트가 끝나갈 때즘 얘기한 것은 '편리하긴 편리하다!'라는 것이었다. 결국 사용 과정과 끝을 종합해서 생각하보면 얼마나 많이 써보고, 능숙하게 사용하는지에 따라 생산성과 완성도가 많이 차이나는 기능인 것 같다.

 

결론을 말하자면, 쓰면 쓸수록 좋다!가 내 생각이다. 그래서 앞으로는 타입스크립트 사용을 간단하게나마 써보려고한다.