[Javascript] 자바스크립트 역사, 배경

728x90
반응형

예전에 노션에 정리했던게 있는데 다시 읽어보니 괜찮아서 옮겨적었습니다. 추후 다시 정리하고 내용 추가할게요

 

 

  • 95년 90퍼 시장 점유율로 웹 브라우저 시장을 지배하던 넷스케이프 커뮤니케이션즈가 정적인 html을 동적으로 표현하기 위해 경량의 프로그래밍 언어를 도입하기로 결정
  • 브랜던 아이크가 개발
  • 넷스케이프의 웹 브라우저인 netscape navigator 2에 탑재되었고 mocha 로 명명된 후 livescript로 최종적으로 javascript로 명명
  • 자바스크립트 탄생한 후 얼마지나지 않아 파생 버전인 JScript 가 출시되어 위기를 맞음 (javascript와 jscript가 독자적으로  각자의 브라우저에 다르게 개발되면서 브라우저에 따라 구현을 다르게 해야 되는 등 개발자들을 힘들게 했던 브라우저 전쟁이 시작되었다)

크로스 브라우징 이슈

  • 마이크로소프트가 파생버전인 jscript를 internet explorer 3에 탑재함 (문제의 시작)
  • 문제: jscript와 javascript 가 표준화되지 못하고 적당이 호환됨
  • 자바 브라우저의 시장 점유율을 위해 자사 브라우저에만 동작하는 기능을 경쟁적으로 추가함. 브라우저에 따라 웹 페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈 발생
  • 모든 브라우저에 동작하는 웹 페이지 개발하는 것이 어려워짐

Ecmascript

  • ecma-262라 불리는 표준화된 자바스크립트 초판의 명세가 완성됨
  • 상표권 문제로 자바스크립트가 ecmascript로 명명됨

자바스크립트 성장 역사

  • 초창기 대부분 로직은 웹 서버에서 실행되었고 브라우저는 서버로부터 전달받는 html, css를 단순히 렌더링하는 수준

  • 99년 자바스크립트 이용해 비동기적으로 서버와 브라우저가 데이터를 교환할 수 있는 통신 기능인 ajax가 xmlHttpRequest라는 이름으로 등장함 (ajax는 자바스크립트로 부분적으로 데이터를 주고받을 수 있는 기술입니다~! 전체 페이지를 다시 받지 않고 부분적으로 필요한 부분만 다시 내려받으면서 빠르게 동작할 수 있게 되었죠)

  • 이전 웹 페이지는 서버로부터 완전한 html을 전송받아 웹 페이지 전체를 렌더링하는 방식으로 동작함 ⇒ 화면이 전환되면 서버로부터 새로운 html을 전송받아 웹 페이지 전체를 다시 렌더링함

  • 불필요한 부분도 다시 서버로부터 전송받아 불필요한 데이터 통신이 발생하고 성능 측면에서 불리함

  • 화면 전환이 일어나면 화면이 순간적으로 깜빡이는 현상이 발생함

  • ajax 등장으로 변경이 필요없는 부분은 다시 렌더링하지 않고 서버로부터 필요한 데이터만 전송받아 한정적으로 렌더링하는 것이 가능해짐

  • 웹 브라우저에서도 데스크톱 애플리케이션과 유사한 빠른 성능과 부드러운 화면 전환이 가능해짐

  • jquery 등장으로 dom을 쉽게 제어하면서 크로스 브라우징 이슈도 어느정도 해결함 (각 브라우저의 구현사항을 알지 않아도 jquery가 알아서 자체 문법으로 처리해준다고 합니다.)

  • 웹 애플리케이션을 구축하려는 시도가 늘면서 빠르게 동작하는 자바스크립트 엔진이 요구된다. v8 자바스크립트 엔진 등장 으로 데스크톱 어플리케이션과 유사한 사용자 경험을 제공할 수 있는 웹 애플리케이션 개발 언어로 정착함

  • v8 엔진 등장으로 웹 서버에서 수행되던 역할들이 클라이언트로 이동했고 프론트 엔드가 주목받기 시작함

 

참고: edu.goorm.io/learn/lecture/557/%ED%95%9C-%EB%88%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-node-js/lesson/174353/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%9D%98-%EC%97%AD%EC%82%AC

728x90
반응형
TAGS.

Comments