WEB/Java Script

[Java Script] 자바스크립트의 역사와 현재 그리고 미래

자바칩 프라푸치노 2021. 9. 22. 22:22



자바스크립트 탄생 배경


1993년 집집마다 컴퓨터가 없었던 그 시절
MOSAIC 웹 브라우저가 나온다. 
당시 완전 정적인 웹 사이트만 만들 수 있었다. 
어떻게 하면 동적인 웹사이트를 만들 수 있을까? 고민하다가 scripting언어를 추가하자!라는 결론을 내렸다.

처음으로 고려되었던 것은 java 언어였다. 
하지만 웹사이트를 개발하던 개발사들이 하기에 무겁고 어려웠다
scheme 스크립트를 조금 바꿔보자!!
시간이 없어 10일 안에 만들어보자!!
그리하여 브랜든은 프로토타입을 베이스로 한 유연한 언어를 만들었다.

그것은 livescript이다.

그 당시 자바 언어가 인기가 많았는데
어떻게 하면 자바 인기에 올라탈 수 있을까 해서 자바스크립트라고 이름을 만든다

 



1995년도에 마이크로 소프트도 자신만의 브라우저를 만들어냈다.

reverse engineering을 해서 자바스크립트를 고대로 베껴서 언어를 하나 만들게 된다.

그리고 이름을 jscript라고 낸다.

ecma international이라는 단체에 찾아가서 표준화를 만들어보자라고 제안을 해서 ecma script1이 나온다.
브라우저에서 변수는 이렇게 만들고 함수는 이렇게 만들 어라하는 표준화라는 것이고
매년마다 새로운 버전들이 계속 나오게 되었다. 

 

그러다가 마이크로 소프트사에서 만든 internet explorer의 점유율이 95퍼센트에 달하자

우리가 표준이야!라고 하며 더 이상 ecma script의 표준에 참가하지 않게 된다.

그래서 개발자들은 다양한 브라우저에서 동작할 수 있는 코드를 밤새서 짜야했다.



2004 firefox가 출시되었다.

그리고 ecma 단체에게 가서 우리한테 actionscript3과 tamarin이 있는데 이걸로 표준화를 해보는 거 어때?라고 했다. 하지만 이 actionscript3와 tamarin이 기존에 쓰던 javascirpt와 jscript와 너무나 달랐기 때문에

이걸로 다시 표준화를 진행하기에는 무리가 있었다.

 

그래서 표준안을 앞에 두고 3사(mozila, microsoft, netscape)의 치열한 경쟁전이 있었다.

 

그 와중에 웹 시장에서는 제시 제임스라는 사람이 ajax 기술 명세서를 들고 왔다.

비동기적으로 데이터를 서버에서 받아오고 처리할 수 있도록 도와주는 획기적인 기술이 도입되게 된다.

 

그러는 와중에 개발자들이 웹 시장으로 많이 들어오게 되고 강력한 커뮤니티가 형성되었다.

개발자들이 서로 다른 브라우저 상에서 동작되는 코드를 따로 열심히 짜야하는 불편함을 해소해주고자
jquery dojo mootools와 같은 라이브러리들이 많이 나오게 된다.
너네 이거 따로 신경 쓰지 마
다른 브라우저상에서 동작하게 해 줄게 하는 것이다.
그중에서도 제이쿼리가 인기가 많아졌다. 

 

 


제이쿼리가 강조하는 write less, do more
좋은 프로그래밍의 철학을 여기서 알 수 있는데
서비스 레이어나 프레젠테이션 레이어, 비즈니스 레이어를 만들 때 
apis를 잘 작성해서 나중에 구현 사항이 변경되더라도 
이 인터페이스를 사용하고 있는 사용자의 코드는 변경되지 않도록 하는 것이 좋다.

(이 부분 무슨 말인지 모르겠다)

 

 

더욱 급격하게 웹 시장을 진취적으로 바꾸는 사건이 하나 있었다.

그것은 바로 2008년도에 크롬 브라우저가 출시된 것이다.
JIT -  자바 스크립트를 구동하는 엔진인데 속도가 엄청 빠르다. 

그래서 가만히 있던 다른 브라우저들이 성능 개선을 해야겠다는 자극을 받고
2009년 ecma script 5 , 2015 ecma script 6이 나오게 된다.


매해마다 새로운 버전이 나온다. 

거의 커다란 변화는 5와 6에서 나왔다.

이제 javascript 성숙하고 잘 정착된 언어이다. 
이제 라이브러리들의 도움이 필요 없다.

 



사용자들은 이렇게 다양한 브라우저들을 쓰고

또 모두가 최신 버전의 브라우저를 쓰고 있는 건 아니다.

그런데 개발자들은 최신의 COOL한 ES를 쓰고 싶으니까

개발할 때는 최신 버전의 ES를 쓰고 사용자에게 배포를 할 때만 JS transcomplier를 사용해서

최신 버전의 ES를 5,6로 변환을 해준다.

그것이 바로 BABEL이다.

 

 

 

현재 가고 있는 동향

요즘은 SPA가 뜨고 있다.
하나의 페이지에서 받아와서 부분적으로 업데이트하는 것이 유행하고 있다.
그것을 쉽게 하기 위해 리액트 엥귤러 뷰가 등장했다.

 

그리고 자바스크립트는 브라우저를 위한

브라우저에서 동적인 요소를 추가하기 위해서 만들어진 언어인데

강력한 V8 자바스크립트 엔진을 통해서 node.js가 등장했다.

노드 js를 강력한 v8 자바스크립트 엔진을 이용한

백엔드에서 서비스를 구현할 수 있도록 만들어졌다.

 

 

이용할 수 있는 분야

 

리액트 네이티브로 모바일 애플리케이션도 만들 수 있다.

일렉트론을 이용해서 데스크톱 애플리케이션도 만들 수 있다.

자바스크립트를 배우면 이용할 수 있는 분야는 무궁무진하다

 

 

 

 

뜨고 있는 다른 기술?

브라우저에서 동작할 수 있는 유일한 언어는 자바스크립트였는데

요즘에는 웹 어셈블리가 등장해서

java c# c++ python 등 다양한 언어들을 이용해서 웹 애플리케이션을 만드는 게 다양해졌다.

c++로 만들어진 게임도 웹에서 구동할 수 있게 만들 수 있고

figma도 WA로 만들어진 좋은 예이다.

 

 

 

출처: https://youtu.be/wcsVjmHrUQg

 

 

 

728x90