React, Javascript vs Typescript

이도현·2023년 8월 14일

0. 개요

React에는 javascript와 typescrpit를 사용할 수 있다. 이 두 언어는 각각 무엇이고
어떤 언어가 적합한지 알아보자

1. Javascript

1) 특징

  • 웹 개발에서 가장 널리 사용되는 언어
  • 동적 타이핑 언어, 변수의 타입 선언 필요없음
  • 웹 브라우저에서 직접 실행될 수 있으며, Node.js와 같은 서버 환경에서도 사용할 수 있다.
  • 유연성이 뛰어나지만 타입 오류가 실행시간에 발견될 수 있으므로 디버깅이 어려울 수 있다.
  • React에서
    초기 설정이 간단하고 직관적
  • 더 넓은 커뮤니티 지원을 받을 수 있으며, 관련 자료가 풍부

2) 역사

  • 1995년: Netscape Communications Corporation의 Brendan Eich가 Mocha라는 이름으로 언어를 개발, 그후 LiveScript, 최종적으로 JavaScript로 명명
  • 1996년: Netscape Navigator 2.0 브라우저에서 JavaScript가 처음으로 사용
  • 1997년: ECMAScript 표준화, 다른 브라우저에서도 JavaScript가 호환되기 시작
  • 2000년대 초: AJAX의 등장: XMLHttpRequest객체의 도입과 함께 AJAX(Asynchronous JavaScript ans XML)가 등장, 웹애플리케이션의 인터렉티브한 기능이 증가
  • 2006년: jQuery의 출시, DOM 조작과 이벤트 처리 등이 훨씬 간편
  • 2009년: ECMAScript 5출시, string mode 추가, JSON 지원 등 중요한 업데이트
  • 2015년: ECMAScrpit6(ES2015) 출시, ECMAScript 표준은 매년 업데이트되기 시작했으며, 새로운 기능과 개선 사항이 지속적으로 추가
  • 현대: Angular, React, Vue.js와 같은 프레임워크와 라이브러리가 나오면서, JavaScrpit는 클라이언트뿐만 아니라 서버 사이드에서도 널리 사용되기 시작(ex: Node.js)

2. Typescript

1) 특징

  • Microsoft에서 개발한 JavaScript의 슈퍼셋
  • 정적 타이핑을 지원하므로, 변수의 타입을 명시적으로 선언
  • 컴파일 시에 타입 오류를 잡아내므로 오류 발견에 용이하고, IDE의 지원을 받아 개발 생산성을 높일 수 있다.
  • TypeScript코드는 JavaScript로 컴파일 되어 실행 되므로, 추가 컴파일 과정이 필요
  • 정적 타이핑을 통해 더 안정적인 코드를 작성
  • 큰 규모의 프로젝트나 여러 사람이 참여하는 팀 작업에 특히 유용
  • 설정과 학습 곡선이 좀 더 가파를 수 있으나, 장기적으로는 코드 품질과 유지 보수성을 높일 수 있음.

2) 역사

  • 2012년: Microsoft에서 Anders Hejilsberg가 주도한 프로젝트로, Javascript의 단점을 보완하고 개발 생산성을 높이기 위한 목적으로 출시
  • 2013년: 0.9출시, 제네릭같은 중요한 프로그래밍 기능 추가
  • 2014년: 1.0출시, 첫 안정 버전
  • 2015년: 1.5출시, ECMAScript 6의 기능 지원을 확대, 주요 프레임워크와 더 잘 통합되기 시작
  • 2016년: 2.0출시, 더욱 강력한 타입 체킹 기능, 비동기 프로그래밍 지원 등이 도입
  • 2017년 이후: 새로운 ECMAScript 표준을 따르고 개선, 매년 여러 버전이 출시 되며 커뮤니티와 협력하여 기능을 개선하고 버그를 수정
  • 현대의 인기와 사용확대: 현재 많은 기업과 프로젝트에서 TypeScript를 선호하고 사용하고 있으며, JavaScript로 컴파일 되기 때문에 브라우저 호환성 문제 없이 널리 사용될 수 있다.

3. React의 적합한 언어

  • JavaScript를 알고 있다면 TypeScript를 학습하고 사용하는 것이 적절하다(결국인 JavaScript의 특성을가지면서 단점을 보완한 언어이기 때문). 하지만 만약 프로젝트의 규모가 작고, JavaScirpt의 학습이 부족하거나 풍부한 Reference를 접하고 싶다면 JavaScript로 시작하는 것도 괜찮다. 언어야 나중에 Convert해주면 되고 얄팍한 지식으로 TypeScript를 사용하다가 너무 많은 시간을 소요하게 된다면 마감기한 오버, 의욕상실, 유지보수의 어려움 등 Risk가 클 것이라는 개인적인 의견을 덧 붙인다.
profile
좋은 지식 나누어요

0개의 댓글