Ajax와 V8 자바스크립트 엔진, 그리고 Node.js와의 관계에 대해서 알게 되었다.
Ajax
이전의 웹페이지는 html 태그로 시작해서 html 태그로 끝나는 완전한 html 코드를 서버로부터 전송받아 웹페이지 전체를 렌더링하는 방식으로 동작했다. 따라서 화면이 전환되면 서버로부터 새로운 html을 전송 받아 웹페이지 전체를 처음부터 다시 렌더링했다.
이러한 방식은 아래와 같은 문제가 있었다.
- 변경할 필요가 없는 부분까지 포함된 html 코드를 서버로부터 받아 불필요한 데이터 통신이 발생
- 화면 전환으로 인한 순간적인 깜빡임 발생
1999년, 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인 Ajax가 XMLHttpRequest라는 이름으로 등장했다. 이로써, 필요한 데이터만 부분적으로 받아 변경이 필요한 부분만 렌더링하는 방식이 가능해졌고, 부드러운 화면 전환이 가능해졌다.
V8 자바스크립트 엔진
자바스크립트는 구글 맵스를 통해 웹 어플리케이션의 프로그래밍 언어로서의 가능성이 확인되었다. 2008년 구글의 V8 자바스크립트 엔진은 이러한 요구에 부합하는 빠른 성능을 보여주었다. 이로써, 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동했고, 프론트엔드 영역이 주목받기 시작했다.
Node.js
Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 하는 자바스크립트 실행 환경이다. Node.js의 등장으로 자바스크립트는 브라우저를 벗어나 서버 사이드 애플리케이션 개발에서도 사용할 수 있게 되었다.
'Javascript' 카테고리의 다른 글
| JSON.stringify()와 JSON.parse() (1) | 2025.01.01 |
|---|---|
| 자바스크립트 Date 객체와 toLocaleDateString(), toLocaleString() (0) | 2024.12.31 |
| 자바스크립트 메서드와 원본 데이터 유지 (0) | 2024.12.31 |
| 단축 평가, 옵셔널 체이닝 연산자, null 병합 연산자의 쓰임 (0) | 2024.12.18 |
| 데이터 타입은 왜 필요한 것일까? (0) | 2024.12.17 |