안녕하세요.
이번시간에는 타입스크립트 언어에 대해 이해하는 시간을 가져보겠습니다.

1)TypeScript 소개

-마이크로소프트가 추진하는 오픈소스 자바스크립트 지원 개발언어
-자바스크립트 언어 확장기능 지원(정적타입 기능제공)
-별도의 컴파일 과정을 통해 순수 자바스크립트로 변환할수 있는 프로그래밍 언어인 AltJS 언어의 일종
-자바스크립트 기반 프론트엔드/백엔드  개발표준 언어으로 발전중


2)AltJS 란?
-AltJS는 JavaScript의 대안으로 개발된 다양한 언어들을 총체적으로 지칭하는 용어
-AltJS 언어로 개발된 소스를 컴파일 과정을 통해 순수 자바스크립트 소스로 변환해 사용하는 패턴적용
-자바스크립트 언어의 한계점을 극복하기 위한 수단으로 많이 활용되고 있음
-AltJS 언어들은 JavaScript로 컴파일되는 과정을 통해 최종 자바스크립트가 웹 브라우저에서 실행됨
-AltJS 언어를 이용해 JavaScript의 한계를 극복하고, 개발자들이 선호하는 다른 프로그래밍 패러다임이나 문법을 사용할 수 있게 지원함
-AltJS 언어들은 JavaScript로 컴파일되어 최종 웹 브라우저나 Node Framework 기반에서 실행됨
-대표적인 AltJS언어로 TypeScript,CoffeeScript,Elm

**TypeScript를 포함한 AltJS 언어들은 각각의 AltJS언어로 프로그래밍된 원본소스를 컴파일 과정을 통해 순수 자바스크립트파일로 변환하고 변환된 순수 자바스크립트 소스로
프론트엔드 환경인 웹브라우저나 서버측 환경인 리눅스 서버 실행환경(런타임환경)에서 실행될수 있게하는 개발패턴을 사용합니다.


AltJS 개발소스 -> AltJS컴파일러 컴파일링 -> 순수자바스크립트 생성 - 순수자바스크립트 각종 실행환경 실행


3)TypeScript 등장 배경 및 사용목적
-자바스크립트 언어의 불안전성 해결
-자바스크립트는 컴파일과정이 없어 사전에 에러를 찾고 해결이 어려움
-자바스크립트는  서비스 시점에 예기치 못한 문제 발생우려가 큼   
-특히 타입이 없는 자바스크립트의 특성으로 협업 개발시 다양한 어려움 발생
-C#,JAVA와 같은 정적 타입기반 컴파일 언어의 장점을 자바스크립트 언어 기반 개발환경에 도입
-타입스크립트로 개발된 소스를 컴파일 과정을 통해 순수 자바스크립트 소스로 변환해 사용하는 패턴 사용
-타입스크립트는 자바스크립트에 정적타입 언어 기능을 추가한 AltJS 언어의 한 종류임


4)TypeScript 사용의 목적 과 주요 장점/단점
-컴파일 과정을 통해 사전 에러 검출 가능
-정적 타입 적용을 통한 코드의 안정성 보장
-대규모 웹 어플리케이션 개발 및 협업시 재사용 가능한 모듈 환경지원으로 개발생산성이 높음
-자바스크립트 문법을 확장한 상위 호환성 제공(SuperSet)을 통해 순수 자바스크립트와 혼용하여 사용가능
-타입스크립트의 상위호환성(SuperSet)이란 타입스크립트가 JavaScript의 모든 기능을 포함하며, 그 위에 추가적인 기능을 제공한다는 의미
-타입스크립트가 제공하는 추가적인 기능 중 가장 중요한 기능은 정적 타입 검사 기능임
-정적타입 검사 기능을 통해 코드를 실행하기 전에 타입 오류를 잡아내어 버그를 줄이고, 코드의 가독성과 유지 관리성을 향상시킴
-타입스크립트는 최신 JavaScript 기능을 지원하며, 이러한 기능들은 모든 웹 브라우저나 Node Framework에 호환성을 제공함
-타입스크립트는 JavaScript의 상위 집합으로서, JavaScript의 기능을 확장하고 개선하는 역할제공


-주요 단점으로는 
대규모 어플리케이션이나 소스가 큰 경우 컴파일 타임이 길어질수 있음
-팀내 타입스크립트 경험자가 없는경우 도입이 어렵거나 초기학습비용 발생


5)TypeScript 실습환경 준비하기 

** TypeScript 실습에 앞서 여러분 컴퓨터에 VSCode와 Node Framework이 설치되어 있어야하며 관련 내용은 아래 링크를 참고바랍니다.

웹 개발 환경(VSCode 설치) 구축하기
https://mixedcode.com/blog/detail?pid=10 

Node Framework 기반 개발환경 구축하기
https://mixedcode.com/blog/detail?pid=17 

기초 npm 명령어 사용법 익히기 
https://mixedcode.com/blog/detail?pid=18 


A) 실습용 작업폴더 생성하기
여러분 컴퓨터의 특정폴더에 TypeScript 실습 폴더를 생성합니다.
C:\TypeScript or D:\TypeScript


B) 전역 패키지로 typescript 노드패키지 설치하기
npm install -g typescript

이번시간에는 타입스크립트 언어와 AltJS언어들에 대한 이해와  타입스크립트 노드 패키지 설치를 통해 향후 타입스크립트 파일(~.ts)을 컴파일하여
순수 자바스크립트 파일(~.js)로 만들수 환경을 구성해 보았습니다.

다음 블로깅으로 이어집니다.