Community

자바스크립트 프레임워크 역사 (1)

Primal Skill Programming 블로그의 요약/번역 글입니다 --- 주제와 연관된 Fireship의 비디오에서 영감을 받아 쓴 글입니다. JavaScript, 새로운 프로그래밍 언어의 등장 * Netscape Navigator로 웹 브라우저 시장을 휘젓고 있던 Netscape는 Scheme 개발 언어를 브라우저 도입하려고 Brendan Eich를 고용함 * Brendan Eich는 10일 만에 새로운 개발 언어를 고안해냈고 이를 Mocha 라고 칭함. (이후, LiveScript → JavaScript로 변경됨) * JavaScript란 이름은 단지 마케팅 용도로 채택된 이름 (당시 Java 개발 언어가 인기였음. Java와 JavaScript는 기술적으로 전혀 관련이 없음) * Netscape는 JavaScript를 빠르게 표준으로 정의하길 원했고 Ecma International를 통해 ECMAScript Standard를 만들게 됨 * 이러나 저러나, JavaScript는 현재 가장 많이 사용되는 개발 언어 중 하나가 되었고 Netscape 사는 AOL에 인수 된 뒤 역사 속으로 사라지게 되었음 브라우저 전쟁 * 현재 복잡한 문제를 더 복잡하게 풀고 있는 모던 웹 프레임워크의 이유를 이해하려면 90년대 중반 ~ 2000년대 초반을 보면 알 수 있음 * 2000년대 초반만 하더라도 브라우저는 Netscape / Firefox 나 Internet Explorer가 주류였고 이중 전자가 시장의 90%를 차지하고 있었음 * Safari는 후발주자였고 아무도 진지하게 대하지 않았음 * 빌 게이츠와 스티브 발머 산하 마이크로소프트는 상당히 경쟁적이었음. 그러니까 경쟁사를 그냥 없애버리는 수준이었음. * 마이크로소프트에게 웹 브라우저도 그저 제품에 불과했고 이들은 시장 점유율을 독점하기 원했음. 그래서 윈도우에 기본적으로 탑재 되도록 했고 이는 어느 정도 먹혀들었음 * 이에 대응해 Netscape 당시 ISP만 제공하던 소프트웨어를 브라우저와 같이 묶어서 내놓았고 마이크로스프트도 이에 대응해 IE를 사용하려면 다른 써드 파티 앱도 같이 묶도록 조치해놓았음 * 당시 마이크로소프트는 스크립트 언어에 대해서 웹 표준을 따르지 않았음 * 만약 마이크로소프트가 이겼다면 우리 모두 IE와 VBScript를 사용하고 있을 것 * 심지어 마이크로소프트는 JavaScript를 리버스 엔지니어링 해 JScript라는 언어도 만들었었음 * 결국 OS와 웹 브라우저는 분리되어야 하고 사용자들이 선택할 수 있어야 한다는 취지가 되었음 * VBScript, JScript, JavaScript 중 후자가 승리한 이유는 단지 한 언어로 다양한 브라우저를 감당할 수 있기 때문이었음 jQuery의 등장 * 2000년 대 초반은 정말 대혼란의 시기였음. 미국 서부 개척 시대와 맞먹을 정도. 정말 많은 “표준”이 존재했고 많은 기업들이 어떻게 웹 개발 할지 고민하던 시기였음 * 만약 오늘의 웹 개발이 복잡하고 느껴진다면 당시 웹 개발은 무질서 그 자체였고 쉽게 참고 할 만한 튜토리얼 따위는 없었음 * 이 시기에 jQuery가 등장했음. 무수히 많은 표준들을 하나의 API로 퉁 칠수 있는 것은 큰 매력으로 다가왔음 * 아래 코드는 당시 혼란스러웠던 웹 개발을 보여주는 간단한 예시임. 이벤트 리스너를 추가 하려면 이렇게 작성했어야 했음 function myEvent() { alert('click event'); } if (elem.addEventlistener) { elem.addEventListener("click", myEvent, false); } else if (elem.attachEvent) { elem.attachEvent("onclick", myEvent); } * jQuery의 간단한 API로 다양한 브라우저를 지원할 수 있다는 사실에 당시 개발자들은 빠르게 jQuery를 도입했고 현재까지도 가장 많이 쓰이는 웹 프레임워크 중 하나임 (물론 WordPress 덕분이라고 생각하는 사람들도 있겠지만) * jQuery의 등장으로 현재 우리가 사용하는 웹 표준이 좀 더 발전 되었다고 생각함 * 브라우저와 JS 사이의 문제들을 해결한 jQuery의 다음 행보는 플러그인 시스템을 도입하는 거였음 * 라이브러리의 코어는 작게 유지한 채 jQuery를 사용할 수 있게 해주었음 --- 다음 글에서 이어집니다! (TBC) 원글: https://primalskill.blog/a-brief-history-of-javascript-frameworks

알림

알림이 없습니다