Typescript Korea MeetUp 2018
2018년 1월 18일 강남 마루180 19:00 ~ 21:10
Typescript 로 부터 얻은것과 잃은 것
- 발표자 손찬욱 (네이버) eg.js 개발중
Typescript 사용기
egjs 작업중 movablecoord
- 마우스, 터치로 이동하는것을 x,y값으로 변경후 ui로 반응
- x,y 이동만 가능
- 줌, 키보드 , 휠 도 가능하게 요구사항 생김
문제 발생
- 다형성의 필요성을 느낌
- 동일 형태 동일 역할이므로 인터페이스를 구현하면 됨
- js에는 인터페이스가 없음
- 그냥 만드면서 문서화만함
- 더 많은 요구 사항 발생 (다중의 축을 적용)
해결법
- 다양한 입력 타입은 인터페이스 적용
- 기능별로 implement 함
Typescript로 얻은것
- 코드 의도가 분명해짐
- definition 파일까지 자동으로 만들어줌
- 안정성
- 데이터 타입 관리 수월
- 코드 이동
- 데이터 흐름 추적(함수형으로 작성할때 특히 좋음)
- 높은 커버리지(config에서 target을 변경하면 es3까지 지원가능)
Typescript로 잃은것
- 3’rd party
특정 라이브러리는 UMD 형식을 사용해서 es6이상으로 작동 될때 CommenJS방식으로 개발된다. 그 상황에서 babel과 es6사이에 호출방식에 차이점을 보여준다.
package.js에서 main에서 찾는데 module을 선언하면 es6로 불러올 수 있다.
- 3’rd party @types
라이브러리 내부에 옵션값으로 선언을 안 할 수 있지만 옵션값 내부에 필수 값이 있을 경우 문제가 발생
- 코드 가독성이 낮아 질 수 있다.
Q&A
- babel로 트렌스파일 할때와 아닐때 용량 차이
크다
코드 한 줄 없는 Typescript 사용기
- 김상원 (텀블벅)
steadio 제작기
Typescript는 어떻게 신뢰를 주었나
- 과거의 코드를 믿을 수 있다.
- 빠른 디버깅
- 적지만 믿을 수 있는 코드
테스트 코드의 양이 줄어들기 때문에 결국 코드의 양이 줄어 들게됨
- 코드 자체가 문서가 되기 때문에
- 팀 협업
단점
- 빌드 프로세스 수립과정이 복잡
지원하지 않는 라이브러리는 타입스크립트 컴파일후 웹팩 빌드를 해야함
- XXX as any
- 코드와 타입이 불일치
타입 업데이트가 코드를 따라 가지 못한 경우
코드의 일부분만 선언된경우
타입과 코드가 다른경우
React with Typescript
- 발표자 최종욱 (후이서울)
리액트
- 스스로를 UI를 위한 라이브러리
- 리액트는 간단하지만 엄격한 방식으로 한가지를 매우 잘하는 함수이다.
With 타입스크립트
- self describing
Q&A
- 디렉토리 구조?
???