22.09.30.금
1-1. ECMA Script의 탄생 배경
1996년 3월, 당시 웹브라우저 시장 점유율 90%를 차지하던 넷스케이프 커뮤니케이션즈(이하 넷스케이프 사) : 네비게이터 2.0을 출시 + 자바스크립트를 단기간에 개발
ECMA Script는 ECMA 인터내셔널에서 정의한 ECMA-262 기술 규격을 토대로 만든 표준 스크립트 프로그래밍 언어, 자바스크립트의 뼈대를 구성하는 언어이다.
96년 11월, 넷스케이프 사는 ECMA 인터네셔널에 자바스크립트의 표준화를 요청
ECMA 인터네셔널 (Ecma International) : 정보 통신 시스템을 표준화하는 비영리 협회
1-2. ECMA Script version
ES6 : ES2015(ES6를 의미하며, ES6부터는 배포 연도로 이름을 명명한다) 문제가 되던 부분들을 속 시원히 해결하는 const, let, Promise, Arrow function, Class 등의 문법들이 대거 추가되면서 가독성이나 유지보수성이 크게 향상되었다.
ECMA Script는 현재까지 ES2022/ES13 버전이 배포 되었고 계속 업데이트 되고 있다. 2022년에는 class 속성과 관련된 내용이 주를 이루고 있다.
https://www.ecma-international.org/
JavaScript 언어가 실행될 수 있는 환경을 JavaScript 런타임(runtime)이라고 부른다. 자바스크립트는 웹 브라우저와 Node.js 환경, Deno 환경 등에서 실행이 가능하다.
ES6
ECMA(에크마) Script - 표준
JavaScript - 실행할 수 있는 환경(익스플로러, 파이어폭스, 크롬(v8)...같은 브라우저 - 거의 c++로 구현되어있음)
그래서 나온 게 node(v8+@ 서버 ㄴㄴ 서버 환경 ㅇㅇ)
자바스크립트의 대표적인 두 가지 런타임 환경에 대해 알아보자.
2-1. Browser
자바스크립트 런타임에는 자바스크립트 엔진이 필수적으로 필요한데, 자바스크립트 엔진이란 개발자가 작성한 자바스크립트 코드를 해석하고 실행시켜주는 프로그램 혹은 인터프리터를 말한다.
각 브라우저 마다 각기 다른 자바스크립트 엔진이 존재하는데, 그 종류는 다음과 같다.
2-2. Node.js
자바스크립트의 또다른 대표적 런타임 환경인 Node.js는 라이언 달(Ryan Dahl)의 ‘비동기로 작업을 처리할 수 없을까?’ 라는 발상에서부터 개발되어 2009년 세상에 공개되었다.
프레임워크는 개발자가 해당 기능 구현에 필요한 대부분의 기능을 이미 구현해놓은 종합 선물 세트라고 말할 수 있다. 내 코드의 일부분으로 자리잡는 라이브러리와 비교된다.
유연하게 개발하기에는 적합하지 않다. 이제 사용하지 않는 추세.
by 구글의 엔지니어(Evan You)
Vue는 설계를 할 때부터 다른 프로젝트에서 도입하기 쉽도록 설계가 되어 있어 점진적 채택이 가능하다.
일명 기능집합이다. 프레임웤이 이미 모든 기능을 구현해놓은 반면 라이브러리는 일부분의 기능을 제공한다.
💡 프레임웤 : 조립식 건축물(이미 부품들이 다 정해져 있음)
라이브러리 : (조립식이 아닐 수도 있음) 건축물에 들어가는 부품 - 문짝, 세면대, 바닥 등
by 페이스북의 엔지니어(Jordan Walke)
리엑트는 사용자 인터페이스를 만들기 위해 사용된다. Router 기능이 있지만 백엔드 기능을 수행하는 것은 아니다. JSX라는 JavaScript와 XML을 합한 문법을 사용한다. return 안에 h1을 틸트나 따옴표로 감싸주지 않아도 된다.(업데이트가 잦다 - 끊임없이 공부해야한다)
-견고하고 재사용성이 높은 건 리액트
-생산성이 높은 건 뷰
제이쿼리는 DOM을 좀 더 쉽게 조작할 수 있도록 설계 되었다. 단순하고 간단하며, 쉽게 배울 수 있다. 빠르게 유행했으며 한때 널리 사용되었다가 지금은 걷어내고 있는 곳도 많지만 아직 점유율은 매우 높은 상태이고, 배우는 것이 어렵지 않고 아직 jQuery로 된 코드가 많기 때문에 접해보는 것이 좋다. (자스가 제이쿼리를 사용하지 않아도 될 만큼 많이 올라왔다)