JavaScript를 공부하기 전, 탄생배경에 대해 알아보고자 한다.
Mark Andreessen이 만든 사용자들이
쉽게 만들 수 있는 UI 요소가 더해진 Browser
Mark Andreesen이'Netscape'를 차린 후
Mosaic에서 조금 더 UI요소가 추가된 Browser
시장에서 80%의 점유율을 차지, 매우 정적
Q. Andreesen -> Dynamic 하게 만들 수는 없을까?
A. Scripting 언어를 추가하자!!
1) 지금 뜨고 있는 JAVA를 이용.
Why? 현재 웹개발을 하는 이용자들이 사용하기엔 어려움
2) Scheme를 만든 Brendan Eich 스카웃
Scheme Script를 조금 변형하자. 컨셉은 유지하는데 문법은 Java같은 우리만의 새로운 언어를 만들자.
근데 시간이 없으니 10일 안에 만드셈.
추후 LiveScript로 rename.
Netscape Navigator 안에는 LiveScript를 이해하고 실행할 수 있는 Interpreter가 포함되어 출시
당시 Java의 인기가 치솟고 있었음.
Netscape는 이 인기를 버스 타려고 LiveScript에서
JavaScript로 rename.
사람들이 Java와 JS를 혼동하는 이유!
JS를 베껴서 MS만의 언어인 JScript 만듦
동시에 Internet Explorer 출마!
Internet Explorer, Netscape 둘 다 동작하는
page를 만들어야 하는 개발자들은 눈물만 흘림
ex) Best view in Netscape(Internet Explorer)
Netscape -> ECMA International : JS 표준화 추진.
ECMA Script?
Browser에서 동작하는 언어를 만들 때, 해당 언어를
이해하는 Engine이 이해하기 위한 문법을 정리한 문서
많은 사람들의 다양한 Idea가 제안된 4 출시.
MS의 Internet Explorer가 시장 점유율의 95% 달성.
MS: 'We don't care. 이제 ECMA 표준안에 참가 안 할래!
Moz://a 의 Firefox 출시.
ECMA에 찾아가서 '우리는 ActionScript, Tamarin 사용했는데 표준화 하는 거 어때?'
MS, Netscape, Moz://a가 표준안을 두고 견제
구석에서 눈물 흘리던 개발자들 커뮤니티 형성
다른 Browser의 구현사항에 신경 쓰지 않도록 도와주는
JQuery, dojo 등 library 등장.
JIT 엔진을 탑재한 Browser인 Chrome이 세상에 나옴
JIT (Just-In-Time-Complication) ?
: JS의 실행속도가 매우 빠른 강력한 엔진다른 Browser의 긍정적인 자극을 줌.
우리 이제 표준안을 제정하자,,
현재까지 매 해마다 수정사항이 반영되지만,
커다란 틀은 항상 ECMA Script 5, 6에 정의 됨.
이제는 library의 도움 없이 JS, Web APIs 만으로 동작O
행복해진 개발자들
개발: 최신 Version의 ECMA Script 사용
배포: BABEL을 사용하여 배포
BABEL: JavaScript Transcompiler
ECMA Script 5, 6 버전으로 변환해서 배포해줌.
Single Page Application
하나의 page에서 data를 받아와서 부분적으로 update
이 SPA를 용이하게 해주는 React, Angular 등 출현!
해당 POST는 유튜브 드림코딩 by 엘리님의 영상을 참고해서 작성했습니다. 제가 작성하는 모든 POST는 저의 공부를 위해서 작성하기때문에 가독성이 별로일 수 있어요.
더 자세히 알고싶으신 분들은 하단의 링크를 참조해주세요!