[Javascript]자바스크립트란

조재권·2021년 6월 16일
0
post-thumbnail

2. 자바스크립트란?


출처 모던 자바스크립트 Deep Dive을 보고 정리한 내용입니다.

자바스크립트의 역사

넷스케이프 커뮤니케이션즈 사, JavaScript 등장(1995) -> 마이크로소프트사 JScript등장(1996) -> 크로스브라우징 이슈 -> 자바스크립트 표준화 요청, ECMA-262완성, ECMA Script로 명명(1996) -> Ajax 등장, SPA 주목(1999) -> 구글맵스 등장, 웹 어플리메이션의 발전 가능성(2005) -> JQuery 등장(2006) -> 구글의 V8엔진 등장, 프론트엔드 영역 주목(2008) -> Node.js등장, 자바스크립트를 여러 플랫폼에서도 사용 가능(2009) -> ES5, HTML5 등장(2009) -> ES6 등장(2016)

Ajax(Asynchrnous JavaScript and XML)

1999년 자바스크립트를 이용해 비동기(Asynchronous) 방식으로 데이터를 교환할 수 있는 기능이 등장하였다. 기존에는 서버에서 전달받은 HTML과 CSS을 랜더링하고, Javascript를 이용하여 보조적인 기능만을 다루었다. 때문에 서버로부터 데이터 변경이 있다면 페이지 전체를 처음부터 랜더링해야만 했다. 그러나 Ajax의 등장으로 웹페이지에서 변경이 필요한 부분만 변경이 가능해졌고, SPA(Single Page Application)이 주목받았다.

V8 엔진

2005년 구글 맵스의 등장과 함께 자바스크립트를 이용한 웹 어플리케이션 개발이 주목받았다. 구글은 인터프리터의 장점과 컴파일러의 장점을 합친 V8 자바스크립트 엔진을 만들어냈고, 이를 통해 웹 어플리케이션은 데스크탑 어플리케이션과 같은 수준의 UX를 보여주었다. 이를 통해 서버단에서 처리하던 많은 로직들을 클라이언트 단에서 처리할 수 있게되었고, 이는 곧 프론트엔드 영역의 주목을 이끌었다.

Node.js

2009년 라이언 달이 발표한 Node.js는 구글 V8 엔진으로 빌드된 자바스크립트 런타임 환경을 발표했다. Node.js는 브라우저에서만 주로 사용되던 자바스크립트를 다른 영역에서도 사용할 수 있게했으며 프론트엔드와 백엔드 영역에서 모두 자바스크립트를 사용할 수 있게 하였다.
Node.js는 Asynchronous I/O, 단일 쓰레드 이벤트 루프 기반으로 동작하여 요청의 처리 성능이 좋다.

SPA 프레임워크

웹 어플리케이션의 성능 증가, ajax를 통한 SPA 수요 증가 등으로 인해 기존의 방식으로 개발과정에 어려움이 있었고, CBD(Component Based Development) 방법론을 적용한 Angular, React, Vue.js, Svelte 등의 SPA 프레임워크가 대중화 되었다.

궁금점 : Angular, React, Vue.js, Svelte의 차이점은 무엇이며, 2021년 현재 React가 가장 높은 점유율을 유지하고 있는 이유는 무엇인가?

자바스크립트의 특징

ECMA Script와의 관계

ECMA Script는 자바스크립트의 표준사양인 ECMA-262를 말하며, 값, 타입, 객체, 프로퍼티, 함수 등 핵심문법을 규정한다. 각 브라우저 사는 이를 준수하여 내장되는 자바스크립트 엔진을 만든다. 자바스크립트는 클라이언트 사이드 Web API(DOM, BOM, Canvas, XMLHttpRequest fetch, requestAnimationFrame, SVG, Web Storage, Web Component, Web Worker)를 포함하는 개념이다.

특징

  1. 웹 브라우저에서 동작하는 유일한 프로그래밍 언어
  2. 인터프리터 언어
  3. 명령형 언어
  4. 함수형 언어
  5. 프로토타입 기반 객체지향 프로그래밍 언어
profile
프론트엔드 새내기의 발전 일기

0개의 댓글