본문 바로가기

자바스크립트

왜 웹 개발은 Javascript로만 해야할까?

JS의 탄생

자바스크립트의 탄생

  • 95년, 약 90%의 시장 점유율로 웹 브라우저 시장을 지배하고 있던 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 결장하였다. 그렇게 탄생한 것이 브렌던 아이크가 개발한 JS다.
  • 96년 3월에 넷스케이프 내비게이터2에 탑재되었고 모카로 명명되었다.
  • 그러다 9월 라이브스크립트로, 12월에는 오늘날의 우리가 아는 자바스크립트라는 이름으로 최종 명명되었다.
  • 현재 모든 브라우저의 표준 프로그래밍 언어로 자리 잡았다. 그러나 JS가 탄생하고 얼마 뒤 파생버전인 Jscript가 출시되어 위기를 맞는다

자바스크립트의 표준화

  • 96년 8월, MS는 JS 파생 버전인 JScript를 인터넷 익스플로러 3.0에 탑재했다. 하지만 표준화되지 못하고 적당히 호환되었다.
  • 두 회사는 서로 경쟁을 하였고 자사 브라우저에서만 동작하는 기능으로 경쟁하게되었다.
  • 이로 인해서 크로스 브라우징 이슈가 발생했고, 이는 개발자가 모든 브라우저에서 정상적으로 동작하는 웹페이지를 개발하기가 무척 어려웠다.
  • 이로 인해서 넷스케이프는 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구인 ECMA 인터내셔널에 JS의 표준화를 요청하였다.
  • 97년 7월 ECMA-262라 불리는 표준화된 JS 초판이 완성되었고, 상표권이 문제로 ECMAScript로 명명되었다.
  • 99년 ES3, 2009년(ES5)가 HTML5와 함께 출시되었다. 2015년 ES6가 출시되었고 이제 프로그래밍 언어로서 갖춰야 할 기능들이 대거 도입하는 큰 변화가있었다.

자바스크립트 역사

  • 초창기 js는 웹페이지의 보조적인 기능을 수행하기 위한 한정적인 용도로 사용되었고, 대부분의 비즈니스 로직은 주로 웹 서버에서 실행되었다.
  • 브라우저는 단지 서버로부터 받은 HTML, CSS를 단순히 렌더링하는 수준이었다.

Ajax

  • 99년 js를 이용해 서버와 브라우저 비동기 방식으로 데이터를 교환할 수 있는 통신 기능인 Ajax가 등장한다.
  • 이전의 웹은 HTML코드를 서버로부터 전송받아 렌더링하는 방식이었다. 따라서 페이지를 이동하면 다시 이 동작을 수행했다.
  • 이 방식은 변경이 필요없는 부분까지 처음부터 렌더링해야 하기 떄문에 성능에서도 불리했다. 이로 인해서 화면에 깜빡이는 현상이 발생
  • 하지만 Ajax의 등작으로 변경할 필요가 없는 부분은 다시 렌더링을 하지 않고, 서버로 부터 필요한 데이터만 받아 부분적으로 렌더링 하였다.이로써 웹도 빠른 성능과 부드러운 화면 전환이 가능해졌다.
  • 2005년 구글이 발표한 구글맵스는 JS 가능성을 확인하는 계기가 되었다. JS와 Ajax를 기반으로 동작하는데 데스크톱 애플리케이션과 비교해도성능과 부드러운 화면 전화 효과를 보여준 것이다.

jQuery

  • 2006년 jQuery의 등장으로 DOM을 더욱 쉽게 제어하고, 크로스 브라우징 이슈도 어느 정도 해결되었다.

V8 자바스크립 엔진

  • 구글 맵스로 JS 가능성을 확인하면서 웹 애플리케이션을 구축하려는 시도가 늘면서 더욱 빠르게 동작하는 JS 엔진의 필요성이 대두되었고2008년 등장한 구글의 V8 JS엔진은 이러한 요구에 부합하는 빠른 성능을 보여주었다.
  • 이후 JS발전으로 웹 서버에서 수행되었던 비즈로직이 클라로 이동했고, 이는 프론트엔드 영역이 주목받는 계기로 작용했다.

Node.js

  • 2009년 라이언 달이 발표했고 구글 V8JS 엔진으로 빌드된 JS 런타임 환경이다.
  • Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 JS를 브라우저 이외의 환경에서도 동작할 수 있도록 JS 엔진을 브라우저에 독립시킨 JS실행환경이다.
  • Node.js는 다양한 플랫폼에 적용이 가능하지만 서버 사이드 애플리케이션 개발에 주로 사용된다.
  • Node.js 등장으로 JS는 브라우저를 벗아나 서버 사이드 애플리케이션 개발에서도 사용할 수 있는 범용 프로그래밍 언어가 되었다.

JS 특징

  • JS는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다.
  • JS는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어이다. 브라우저의 엔진과 결합하여 비교적 처리 속도가 느린 인터프리터의 언어의 단점을 해결했다.
  • 인터프리터는 소스코드를 즉시 싱행, 컴파일러는 빠르게 동작하는 머신 코드를 생성하고 최적화한다. 이를 통해 컴파일 단계에서 추가적인 시간이 필요함에도 더욱 빠르게 코드를 실행한다.

이와 같이 자바스크립트는 웹 브라우저에서 동작하는 유일한 프로그래밍 언어로서, 브라우저 내에서의 상호작용을 제어하고, 사용자 경험을 향상시키며, 전체적인 웹 생태계에서 중요한 역할을 한다. 자바스크립트의 탄생과 발전은 현대 웹 개발의 핵심이 되며, 다른 언어와 비교해도 그 필요성과 중요성은 매우 크다.

출처: 모던 자바스크립트 책

'자바스크립트' 카테고리의 다른 글

JS 아코디언 구현하기  (1) 2025.01.19
JS 설문조사 창 구현하기  (0) 2025.01.19
원시와, 객체에 대한 메모리  (1) 2025.01.16
자바스크립트에서의 메모리란?  (0) 2025.01.07
html , js 정규식  (0) 2024.12.31