ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트란?
    Study/JavaScript 2021. 8. 22. 22:32

    자바스크립트란?

    2-1. 자바스크립트의 탄생

    1995년, 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하며 탄생한 것이 Brendan Eich가 개발한 자바스크립트이다. 

    자바스크립트의 아버지, 브랜든 아이크

     

    2-2. 자바스크립트의 표준화

    1996년, 넷스케이프 커뮤니케이션즈는 컴퓨터 시스템의 표준을 관리하는 비영리 표준화 기구인 ECMA 인터내셔널에 자바스크립트의 표준화를 요청한다. 

    1997년, 표준화된 자바스크립트 초판 사양이 완성되었고 자바스크립트는 ECMAScript로 명명된다.

    2015년, ECMAScript 6 (ES6)는 let/const 키워드, 화살표 함수, 클래스, 모듈 등과 같은 범용 프로그래밍 언어로서 갖춰야 할 기능들을 대거 도입하는 큰 변화가 있었다. 

     

    2-3. 자바스크립트 성장의 역사

    2-3-1. Ajax

    1999년, 자바스크립트를 이용해 서버와 브라우저가 비동기(asynchronous) 방식으로 데이터를 교환할 수 있는 통신 기능은 Ajax (Asynchronous JavaScript and XML)가 XMLHttpRequest라는 이름으로 등장했다. 

    Ajax의 등장으로 웹페이지에서 변경할 필요가 없는 부분은 다시 렌더링 하지 않고, 서버로부터 필요한 데이터만 전송받아 변경해야하는 부분만 한정적으로 렌더링 하는 것이 가능해졌다. 이로써 웹 브라우저에서도 빠른 성능과 부드러운 화면 전환이 가능해졌다. 

     

    2-3-2. JQuery

    2006년, JQuery의 등장으로 다소 번거롭던 DOM( Document Object Model) 을 더욱 쉽게 제어할 수 있게 되었고 크로스 브라우징 이슈도 어느정도 해결되었다. 

     

    2-3-3. V8 자바스크립트 엔진

    v8 자바스크립트 엔진의 등장으로 자바스크립트는 데스크톱 앱과 유사한 사용자 경험 UX를 제공할 수 있는 웹 어플리케이션 프로그래밍 언어로 정착하게 되었다. 

    V8 자바스크립트 엔진으로 촉발된 JS의 발전으로 과거 웹 서버에서 수행되던 로직들이 대거 클라이언트(브라우저)로 이동했고, 이는 웹 앱 개발에서 프론트엔드 영역이 주목받는 계기로 작용했다. 

     

    2-3-4. Node.js

    2009년, 라이언 달이 발표한 Node.js는 구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임환경이다. 

    Node.js는 브라우저의 자바스크립트 엔진에서만 동작하던 자바스크립트를 브라우저 이외의 환경에서도 동작할 수 있도록 자바스크립트 엔진을 브라우저에서 독립시킨 자바스크립트 실행환경이다. 

    자바스크립트의 동형성은 별도의 언어를 학습하기 위한 시간을 덜 수 있다는 장점이 있다.

    Node.js는 비동기 I/O를 지원하며 단일 스레드 single thread 이벤트 루프 기반으로 동작함으로써 요청처리 성능이 좋다. 

    적합 부적합
    데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는
    SPA에 적합하다.
    CPU 사용률이 높은 애플리케이션에는 권장하지 않는다.

     

    2-3-5. SPA 프레임워크

    모던 웹 어플리케이션은 데스크톱 앱과 비교해도 손색없는 성능과 사용자 경험을 제공하는 것이 필수가 되었고, 더불어 개발 규모와 복잡도도 상승했다.
    복잡해진 개발 과정을 수행하기 위해 많은 패턴과 라이브러리가 출현했지만 변경에 유연하면서 확장하기 쉬운 애플리케이션 아키텍처의 구축을 어렵게 했고, 필연적으로 프레임워크가 등장하게 되었다. 

    이러한 요구에 발맞추어 Component Based Development 방법론을 기반으로 하는 SPA single page application이 대중화되면서 Angular, React, Vue.js, Svelte 등 다양한 SPA 프레임워크, 라이브러리 들이 등장하였따. 

     

     

     


    간단히 둘러본 자바스크립트의 배경과 성장 과정이다. 

    브라우저에서 동작하는 경량 프로그래밍 언어로 시작해, 어플리케이션의 복잡도와 규모가 커지면서 그에 발맞추어 성능과 기능이 빠르게 성장하고 있는 자바스크립트. 나 또한 브라우저 화면에서 유일하게 동작하는 자바스크립트가 매력적이었고 나아가 백엔드 영역에서도 사용할 수 있다는 동형성이 매력도의 정점을 찍게 해주었다. 나중에 리액트에 좀 더 익숙해 질 때 쯤, 노드.js도 공부해 프론트와 백을 다루어 온전히 내가 만든 작은 프로젝트를 만들어 보고 싶다. 
    앞으로의 성장이 또한 기대되는 언어인 거 같다.

    'Study > JavaScript' 카테고리의 다른 글

    [Data Structure] Set  (0) 2020.07.13
    splice 와 split :: 활용예제  (0) 2020.07.12
    Object 프로퍼티 접근, 할당, 중첩  (0) 2020.06.25
    클래스 생성자와 메소드  (0) 2020.06.25
    function 함수의 형태와 구성  (0) 2020.06.25

    댓글

Designed by Tistory.