728x90
JavaScript 와 ECMAScript 의 탄생
1. JavaScript 의 등장
1993. MOSAIC
- 최초로 널리 인기를 얻은 브라우저
1994. Netscape Navigator
- 마크 앤드리슨 Netscape Navigator 공개
- 마크 앤드리슨은 동적인 웹사이트 위한 스크립트 언어가 필요하다고 생각했다.
- 브랜든 아이크를 고용
1995. JS 탄생
- 브랜든 아이크는 여러가지 언어에서 아이디어를 얻어 시제품 완성 (JS)
- 약 10일 소요가 됐다.
2. 브라우저 전쟁과 ECMAScript 의 등장
1995~2001. 1차 브라우저 전쟁
- 1996년 3월 Netscape Navigator → JavaScript 공개
- 1996년 8월 IE → JScript 공개
- 적당히 JavaScript 호환되는 JScript 때문에 각각의 브라우저에 잘표시된다는 로고를 표현
- 이러한 문제 때문에 Netscape 에서는 ecma 에게 자바스크립트 표준화를 요청한다.
1997. ECMAScript 의 탄생
- 1997년 ECMAScript 의 탄생
3. 웹 개발 생태계의 변화
IE 점유율
- 하지만 2001년 IE 브라우저 점유율은 96% 점유
- Window OS에 IE 기본설치
- IE 브라우저 전면 무료화
- 비표준 IE 전용 웹 규격 사용
- IE는 점유율을 유지하기 위해서 웹표준을 무시하게 된다.
- IE에만 호환되는 비표준(active x) 기술을 적극적 활용 https://namu.wiki/w/ActiveX
jQuery 등장
- 2006년 존 레식 → jQuery 발표
- 크로스 브라우징 이슈 해결
- 크로스 브라우징: 최대한 많은 종류의 웹 브라우저에서 정상적으로 작동하는 웹페이지 만드는 방법론
- DOM 조작, Ajax 요청 등을 바닐라 자바스크립트보다 편하게 만들어준다.
2008. IE에 대항할 Chrome의 등장
- JIT Compiler 포함된 V8 엔진 탑재 https://www.ibm.com/docs/ko/sdk-java-technology/8?topic=reference-jit-compiler
- 다른 브라우저보다 빠른 성능을 가지게 된다.
- 웹 표준 준수
- 2009년 ECMAScript 5 표준화 진행
- Chrome 등장이후 많은 웹 기술의 표준화로 크로스 브라우징 이슈가 많이 해결되었다.
다른 라이브러리, 프레임워크들의 등장
2018. jQuery에서 React
- 모던 자바스크립트 (ES6+) 환경
- ES5~6, HTML5 등 웹 표준의 발전을 통한 크로스 브라우징 이슈 해결
- 바닐라 자바스크립트로도 쉬운 DOM 조작과 Ajax 요청
- jQuery 성능상의 문제
- jQuery는 모든 브라우저에서 동작하게 하기 위해 여러 코드로 wrapping
- 개발자가 원하는 동작을 하기 위해서는 오래걸리게 된다
- 바닐라 자바스크립트보다 훨씬 느린 성능
- 현재 웹사이트는 훨씬 복잡해 지고 많은 데이터를 빠르게 처리해야 하도록 변화됨
- 복잡한 웹페이지와 DOM API
- 현대의 웹페이지는 이전보다 복잡해지고 다루어야할 데이터가 많아진다.
- 다루어야 할 데이터가 많아질수록 더 많은 DOM을 선택
- 코드의 증가, 코드 관리의 어려움, 에러 핸들링과 유지보수의 어려움이 생김
- 리액트는 선언적인 Virtual DOM
- 개발자가 DOM API를 사용해 직접 DOM을 조작하지 않아도 된다.
- 개발자는 변하는 state만 관리하면 React가 알아서 처리해 DOM을 렌더링한다.
- DOM 조작의 최소화로 성능 상승
정리
- 웹 개발 환경의 변화
- 성능 최적화와 생산성
- SPA 대중화
728x90
'Front-End > JavaScript & TypeScript' 카테고리의 다른 글
Web_components with Lit (0) | 2023.11.08 |
---|---|
자바스크립트 메모리 관리 (1) | 2023.10.03 |
data type, let vs var vs const, hoisting (0) | 2022.06.11 |
async vs defer (0) | 2022.05.30 |