2 minute read

본 내용은 Dream Coding Academy의 강의 내용입니다 Go to Dream Coding


1. 자바스크립트의 역사/현재/미래

언어의 역사를 파악하는 이유!

  • 공부의 방식을 명확하게 하여 시간을 단축할 수 있다.
  • 해당 언어가 어떻게 탄생했으며, 어떤 문제를 해결하기 위해 만들어 졌으며,이 언어를 배움으로써 어떤 능력을 얻을 수 있는지 생길 수 있는 이득은 무엇인지 알게 되면 어떻게 공부를 해야 하는지 명확해 진다.
  1. 1993년 Mosaic Web Browser 등장 (by Marc Andressen )
  2. 1994년 Netscape Navigator (by Marc Andressen // Netscape 설립)
    • HTML에 링크를 건 단순한 정적인 웹사이트간 이동만 가능한 구조
    • 시장의 80% 점유, 동적인 웹사이트를 만들기 위해 노력⇒Script언어 제작을 결심
    • Java(Sun//웹 개발에 다소 무겁고 어려움)와 Scheme(Brendan)중 Scheme와 새로운 언어 개발을 결심⇒기존의Scheme의 개념을 가져오면서 문법은 Java 스럽게 만들게 됨

      1994년 9월 단기간에 새로운 언어 탄생 Mocha(내부적) ⇒ LiveScript

      - 따라서 Netscape Navigator에 LiveScript Interpreter엔진을 포함 시켜 출시
      - 즉, 웹 개발자들이 LiveScript언어를 이용해서 웹페이지를 만들게 되면 브라우저가 그 언어를 이해하면서 실행하고자 하는 것에 알맞게 DOM요소들을 변경시키는 것이 가능하게됨.
      - 당시 유행이던 Java의 유명세를 빌려 유명해지기 위해 이름을 JavaScript로 변경하게됨. ### 1995년 Microsoft사가 NetscapeNavigator를 Reverse Engineering해 자신만의 언어인 것처럼 J Script를 만들고 IE를 만들어 출시함
      - (Reverse Engineering : 만들어진 프로그램의 바이너리코드를 분석해서 소스코드를 복원)
      - 새로운 브라우저가 생기면서 웹 개발자들은 브라우저에 따른 개발을 해야하기 때문에 어려움이 생겨 Netscape사가 ECMA에 표준을 만들자고 제의를 하게됨.
      

1997년 7월 ECMAScript1 탄생

1998년 ECMAScript2

1999년 ECMAScript3 ⇒error handling방식,관계연산자 등 추가

2000년 ECMAScript4 ⇒class 등 다양한 아이디어 반영

  • IE 점유율이 95%가되며 이러한 표준안에 참가하지 않게 된다

2004년 Firefox 출시(mozilla) ActionScript3/Tamarin엔진으로 표준안 작성제안

  • 하지만 기존에 사용하던 JavaScript, J Script와 너무 달라 표준안에 제한됨,따라서 개발자들의 스트레스가 증폭됨
  • AJAX기술 명세서 표기(Asychronous JavaScript and XML)발표 (Jeames Garrett)
  • AJAX: 비동기적으로 데이터를 받아오고 처리 할 수 있는 기술

개발자들 사이에서 강력한 커뮤니티가 형성됨

  • jQuery, dojo, mootools 등의 라이브러리가 출범
  • 출범이유: 브라우저에 제한적이지 않게 개발하기 위함 이 중에서 jQuery 가 각광받음
  • 좋은프로그래밍의 철학: servic 계층, presentation계층, bussiness계층을 만들때 APIs를 잘만들어서 프로그램 변경시 사용자가 이용하는 인터페이스를 수정하지 않고 변경하는 것!

2008년 Google에서 Chrome브라우저를 출시 JIT엔진(just-in-time compilation)

  • javaScript를 실행하는 속도가 엄청나게 빠름

    2008년 7월 각 브라우저들 간 협의가 시작됨

    2009년 ECMAScript5 출시 ⇒주요 사용되는 기능들

    2015년 ECMAScript6 출시 ⇒주요 사용되는 기능들

  • (class,const,let,arrowFunction 등)
  • 그 후에도 매해 새로운 버전 출시 조금씩 추가됨

    이제는 JavaScript는 성숙하고 잘 정착된 언어임을 인정받음

    모든 브라우저들이 ECMA의 표준안을 잘 따르고 있으므로 더이상 jQuery등의 라이브러리의 도움이 필요없게됨

  • 각 브라우저별 다양한 엔진들이 있으며 특히 Chrome 브라우저의 V8엔진은 node.js와 ELECTRON에서 이용됨
  • 하지만 모든 사용자들이 최신 ECMA표준안을 설치해서 사용하지는 않음 따라서 개발자들은 최신버전을 이용해 개발을 하고 배포 할 때만 JavaScript trannscompiler(BABEL)를 이용해서 배포

현재 트렌드 SPA(Single Page Application)필요한 부분만 업데이트해서 바꿈

  • (이것을 쉽게 하기 위해 React,vue,Angular 등장)
  • 또한 V8엔진을 이용해 back-end를 만들 수 있는 Node.js등장/react.native를 이용해 모바일/ELECTRON을 이용해 Desktop 프로그램을 만들 수도 있음

즉 JavaScript를 통해 무궁무진한 개발이 가능함!!!

Categories:

Updated: