자바스크립트의 탄생과 표준화
연도 | 사건 | 설명 |
1995 | 자바스크립트 탄생 | 넷스케이프 커뮤니케이션즈에서 도입 - 웹페이지의 보조적인 기능 수행 - 브라우저에서 동작 - 경량 프로그래밍 언어 |
1996 | JScript 출시 | MS에서 IE에 자바스크립트의 파생버전인 JScript를 출시함 |
1997 | ECMAScript 1 사양 완성 | - 자바스크립트와 JScript의 양립으로 자바스크립트 파편화, 크로스 브라우징 이슈 (모든 브라우저에서 동작하지 않음) 발생하여 넷스케이프에서 ECMA에 표준화를 요청함 |
2009 | ES5 | HTML5와 함께 출현한 표준 사양 |
2015 | ES6(ECMAScript 2015) | ECMA 사양에 주요 기능 대거 도입 |
자바스크립트의 성장의 역사
시기 | 등장 기술 | 설명 |
1999 | Ajax (Asynchronous JavaScript and XML) |
- 비동기 방식 데이터 교환 통신 기능 - 등장 이전: 변경 발생시 웹페이지 전체 렌더링, 불필요한 데이터 통신 발생, 화면 깜밖임 현상 발생, 성능 불리 - 등장 이후: 서버로부터 필요한 데이터만 전송받아 변경, 부분적 렌더링 가능, 빠른 성능, 부드러운 화면 전환 - 주요 사용처: 구글 맵스 (2005) |
2006 | jQuery | - DOM 제어 간편해짐 - 크로스 브라우징 이슈 어느정도 해결 됨 |
2008 | V8 자바스크립트 엔진 | - 개발배경: 더 빠르게 동작하는 엔진 필요 - 데스크톱 애플리케이션과 유사한 사용자 경험 제공 가능해짐 - 서버 사이드 로직들이 대거 클라이언트(브라우저)로 이동함 |
2009 | Node.js | - V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경 - 브라우저 이외의 환경에서도 JS동작 되도록 해주는 실행 환경 - 용처: 서버사이드 애플리케이션 개발 (빌트인 API 제공됨) - 장점: 프론트/백엔드에서의 동형성으로 언어 학습 시간 감소, 비동기I/O 지원, 단일 스레드 이벤트 루프 기반 동작 -> 요청 처리 성능 좋음 (SPA에 적합) - Node.js등장으로 자바스크립트는 크로스 플랫폼을 위한 중요 언어로 자리잡음 |
SPA 프레임워크 (Angular, React, Vue.js, Svelte 등) |
- 개발 규모 및 복잡도 증가로 인한 유연하고 확장성 있는 애플리케이션 아키텍쳐 구축의 필요성으로 프레임워크 등장함 - CBD(component based development)방법론을 기반으로 하는 SPA(Single page application) 대중화로 SPA 프레임워크/라이브러리 다수 등장 |
자바스크립트와 ECMAScrpit
JS의 특징
1) 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
2) 인터프리터 언어이다.
- 현재 모던 브라우저에서 사용되는 인터프리터는 명시적인 컴파일 단계를 거치지 않지만 일부 소스코드를 컴파일하고 실행하기도 한다.
- 그러나 JS는 런타임에 컴파일되며, 실행파일이 생성되지 않고, 인터프리터가 필요하므로 인터프리터 언어이다.
3) 멀티 패러다임 프로그래밍 언어이다.
- 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원한다.
4) 프로토타입 기반의 객체지향 언어이다.
References...
1) 모던 자바스크립트 Deep Dive, 이웅모, 위키북스
'JavaScript > 모던자바스크립트 Deep Dive 스터디' 카테고리의 다른 글
[모던JS DeepDive] 7장 연산자 (0) | 2023.01.03 |
---|---|
[모던JS DeepDive] 6장 데이터 타입 (0) | 2023.01.03 |
[모던JS DeepDive] 5장 표현식과 문 (0) | 2023.01.03 |
[모던JS DeepDive] 4장 변수 (0) | 2023.01.03 |
[모던JS DeepDive] 1장 프로그래밍 (0) | 2023.01.02 |
댓글