자바스크립트 성장의 역사
초창기엔 웹페이지의 보조적인 기능을 수행하기 위해 한정적인 용도로 사용되었다.
이 시기에 대부분의 로직은 주로 웹 서버에서 실행되었고,
브라우저는 서버로부터 전달받은 HTML과 CSS를 단순히 렌더링하는 수준이다.
Ajax
서버와 브로우저가 비동기(asynchronous) 방식으로 데이터 교환할 수 있는 통신 기능
이전엔 HTML 코드 전체를 전송받아 웹페이지 전체를 렌더링하는 방식으로 동작
Ajax의 등장으로 변경 부분만 한정적으로 렌더링 가능
JQuery
번거롭고 논란이 있떤 DOM(Document Object Model)을 더욱 쉽게 제어 가능
V8 자바스크립트 엔진
데스크톱 애플리케이션과 유사한 사용자 경험(UX; user experience)를
제공할 수 있는 웹 애플리케이션 프로그래밍 언어로 정착하게 되었다.
과거 웹 서버에서 수행되던 로직들이 클라이언트(브라우저)로 이동했고,
프론트엔드 영역이 주목받는 계기가 됨
Node.js
V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경(runtime environment)
브라우저 외에도 동작할 수 있도록 브라우저에서 독립시킨 실행 환경
서버 사이드 애플리케이션 개발에 주로 사용됨
프론트와 백에서 자바스크립트를 사용할 수 있다는 동형성은 학습 시간을 덜 수 있다
비동기 I/O를 지원하며 단일 스레드(single thread) 이벤트 루프 기반으로 요청 처리 성능이 좋다
데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA(single Page Application)에 적합함
특징
HTML, CSS와 함께 웹을 구성하는 요소 중 하나로
웹 브라우저에서 동작하는 유일한 프로그래밍 언어
별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(interpreter language)
명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는
멀티 패러다임 프로그래밍 언어 이다
프로토타입 기반의 객체지향 언어 이다
# 나만의 quiz
- '이것'의 등장으로 웹페이지전체를 렌더링하는 방식에서 한정적으로 렌더링 할 수 있게 되었다.
또한 서버와 브로우저가 비동기(asynchronous) 방식으로 데이터 교환할 수 있는 통신 기능은?
- Ajax - JS는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로
웹 브라우저에서 동작하는 유일한 프로그램 언어이다. O / X?
- O
'JavaScript > Deep Dive' 카테고리의 다른 글
06 데이터 타입 (0) | 2024.09.13 |
---|---|
05 표현식과 문 (0) | 2024.09.13 |
04 변수 (1) | 2024.09.13 |
03 자바스크립트 개발 환경과 실행 방법 (0) | 2024.09.13 |
01 프로그래밍 (0) | 2024.09.13 |