ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JS]자바스크립트 역사
    FRONT-END/JS 2020. 6. 4. 23:34

    1993년 컴퓨터 상용화 전

    모자이크 웹브라우저 등장

    설립자 Marc Andereessen이 모자이크 + UI 요소 → Netscape Navigator

    HTML+CSS로 간단히 링크를 걸어서 이동만 가능한 정적인 웹페이지 만듦

    동적인 웹사이트를 만들기 위해 Scripting 언어 추가

    Sun 마이크로시스템스 Java는 무겁고 어두움

    +Scheme Scripting

    LiveScript Interpreter로 DOM 요소를 조작하는 것이 가능해짐

    1995년

    Netscape Navigator 브라우저 + Javascript

    MS사가 Reverse Engineering Binary code 분석 → 소스코드 복원 → Internet Explorer

    Netscape이 ECMA International 찾아가서 표준안 만들자고 제안

    1997, 7

    ECMAScript 1 language specification

    브라우저에서 동작하는 언어를 만들 때 엔진이 이해하도록 함수, 변수 등의 문법을 설명한 문서

    1998, 1999, 2000...

    MS Internet Explorer 95% 시장 점유율 → ECMA 표준안에 참여 X

    2004

    moz://a Firefox → ECMAScript 4 (ActionScript3 Tamarin엔진으로 표준화 제안했지만 기존 브라우저 Jscript, Javascript와 달라서 무리)

    표준안을 두고 3사가 경쟁

    2004

    Jesse James Garrett

    AJAX (Asynchronous Javascript and XML)

    비동기적으로 데이터를 서버에서 받아오고 처리할 수 있게 도와줌

    개발자 커뮤니티가 라이브러리를 만듦

    jQuery(write less, do more) dojo mootoois

    다양한 브라우저 구현 사항 신경 쓰지 않아도 되도록 API

    service/epresentation/business layer를 만들 때 API를 잘 작성해서 구현 사항이 변경되더라도

    사용자의 CODE는 수정하지 않도록 만드는 게 좋음

    2008

    Google Chrome + JIT(just-in-time compilation) 엔진

    자바스크립트 구동 속도 빠름

    2008, 7

    크롬+파이어폭스+IE+Netscape 협력

    2009

    ECMA Script 5

    2015

    ECMA Script 6

    default parameter / class / arrow function / const / let

    2019 ECMAScript 10

    jQuery 등의 라이브러리 도움 없이도 web API 덕에 브라우저에 구애받지 않을 수 있게 됨

    ECMA Script의 표준안을 따르는 Javascript Engines

    2020년 2월 이후 MS Edge에서도 V8 엔진을 쓰고 있음

    모든 사용자가 최신 브라우저를 쓰고 있는 것은 아니나 개발자들은 최신 버전의 ECMAScript를 쓰고

    배포할 때만 ECMAScript 5, 6 버전으로 변환된 코드를 생성해주는 transcompiler

    웹사이트 → 페이지 안에서 필요한 부분만 업데이트

    SPA를 쉽게 구현하도록 도와주는 언어

    V8 엔진을 이용한 벡엔드에서 서비스 구현/ 리액트 네이티브-모바일앱 / 일렉트론-데스크톱앱

     

    WebAssembly RUST/C/C#/GO/PYTHON을 이용해서 웹브라우저에서 동작할 수 있게 만들 수 있음

    예) 그래픽 툴 Figma

     

    querySelector / console.log는 Javascript가 아니라 WebAPIs임

    WebAPI는 웹 앱과 웹 콘텐츠가 기기의 하드웨어에 접근(배터리 상태나 기기의 진동 하드웨어 등)하고 기기의 데이터 저장소에 접근(달력이나 주소록 목록 등)할 수 있도록 해주는 기기 호환과 접근 API의 모음을 나타내는 단어입니다. 이러한 API를 추가함으로써 오늘날 웹이 할 수 있는 일과 과거에 특정 플랫폼에서만 가능했던 일들이 확장되기를 희망합니다.

     

    'FRONT-END > JS' 카테고리의 다른 글

    [JS]script async와 defer의 차이점  (0) 2020.06.28
Designed by Tistory.