Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

타입스크립트 정말 필수일까요? #3

Open
wontory opened this issue Dec 14, 2023 · 3 comments
Open

타입스크립트 정말 필수일까요? #3

wontory opened this issue Dec 14, 2023 · 3 comments
Labels
question Further information is requested

Comments

@wontory
Copy link
Collaborator

wontory commented Dec 14, 2023

타입스크립트 정말 필수일까요?

최근에 탈 타입스크립트 관련한 이슈가 많이 있었는데요.
Turbo라던가 Svelte가 대표적인 예시라고 할 수 있겠네요!

책의 1장에서는 타입스크립트를 선택이 아닌 필수라는 키워드로 소개하고있습니다.
저는 타입스크립트를 최근에 경험해 본 사람으로써, 타입 선언과 관련한 작업들이 번거롭다고 느껴질 때도 있었는데요.
특히 객체를 사용함에 있어서 타입스크립트여서 발생하는(자바스크립트였다면 발생하지 않았을) 문제들이 개발을 힘들게 했던 것 같습니다.
하지만 곧 4학년이 되는 취업준비생의 시각에서 본다면, 국내에서는 타입스크립트에 대한 공부가 반드시 필요하다고 생각되기도 합니다.
다른 분들은 어떻게 생각하시나요?

@haryan248
Copy link
Member

hotwired/turbo#971
이게 문제의 PR인데, DHH가 말하는 타입스크립트를 없앴을 떄의 장점은 다음과 같은데요.

  • 타입 적용을 위한 문법이 코드를 오염시킨다.
  • 개발자 경험(DX)를 좋지 않게 느끼게 한다.

물론 PR올린지 2시간만에 머지를 해버려서 더욱 더 논란이 커진것 같아요.


저는 일단 타입스크립트를 실무에서 처음 써보면서 배웠습니다. 타입스크립트를 썼을때의 이점이 안썼을때의 이점보다 많다고 생각됩니다.

물론 타입선언과 같은 작업들이 번거롭다고 생각이 들 수도 있는데 저는 그 과정이 번거롭다기 보다는
'타입을 짜는 코드로 인해 안전해질 수 있구나' 라는 느낌이 더 들어 번거롭다는 생각이 들지 않았습니다.

예를 들어 내가 만들었던 util 함수를 협업하는 누군가가 가져가 쓸떄 쓰는 사람 입장에서는 타입에 대한 고려를 하지 않아도 됩니다.

export function someCalculateUtil(params1: ParamsType) {
  // 어떤 특정한 값을 계산하는 Util 함수
}

그리고 자동완성 또한 엄청난 이점이라고 생각이 됩니다.
자동완성을 쓰게되면 위에서 말한 개발자 경험도 같이 해결해주는 요소라고 생각됩니다.

image

FilterList 라는 타입으로 인해 해당 item이 어떤 property를 가지고 있는지 에디터내에서 바로 제공해주기 때문에 개발속도도 그렇게 느려지지도 않는 것 같습니다.

마지막으로 타입스크립트를 쓰는건 자유이지만, 현재 채용공고나 취업시장에서는 타입스크립트를 필수(요새는 거의 기본적인 사항)으로 생각하기에
프론트엔드 개발자 영역에서 빠질수 없는 존재가 된 것 같습니다.

@haryan248 haryan248 added the question Further information is requested label Dec 15, 2023
@jihoo-o
Copy link
Collaborator

jihoo-o commented Dec 18, 2023

저희는 모노 레포에 프론트, 백엔드 모두 타입스크립트를 쓰고 있고, 이걸 오가는 객체들이 타입 없이 돌아다녔다면 어땠을까 생각해보았습니다. 끔찍하네요. ㅎㅎ 경우에 따라 이점이 많은 것 같습니다!😄

@joyfuldev-joy
Copy link
Collaborator

저는 현업에서 자바스크립트 + 뷰로 다양한 형태의 데이터 ( 이미지, pcd, 비디오 등 ) 을 뷰잉하고 편집해야하는 툴을 만든 적이있습니다. 뷰 + 자바스크립트 기술스택으로 선택된 이유가 러닝 커브를 줄여서 신입개발자들도 같이 합류해 빠른 개발을 위함이었고, 초반에는 그 의도대로 빠르게 개발이 되었습니다. 그런데, 기능 고도화 및 추가 기능 요청으로 툴이 거대해져 가면서 디버깅, 유지 보수 시간이 점점 늘어났는데, 그 이유가 바로 타입을 코드를 따라가며 파악해야했기 때문입니다. 결국 js doc 으로 타입을 주석으로 명시해주는 추가 작업을 하게 되었어요. 정말 왜 타입스크립트를 쓰는지 뼈져리게 느꼈던 경험이네요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

7 participants