자바스크립트 프레임워크 역사 (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

A Brief History of JavaScript Frameworks

Primal Skill Programming

A Brief History of JavaScript Frameworks

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 3월 4일 오전 7:18

댓글 0

    함께 읽은 게시물

    iOS 19가 아니라 이제 iOS 26?

    ... 더 보기

    No iOS 19: Apple Going Straight to iOS 26

    MacRumors

    No iOS 19: Apple Going Straight to iOS 26

    🌎 해외에서 일하면 뭐가 좋을까요❓

    외국어를 사용해서? 돈을 더 많이 벌어서? 새로운 기회가 많아서? 글로벌 경력을 쌓을 수 있어서?

    ... 더 보기

    IT 회사의 업무에서, 지금까지는 디자이너와 특히 개발자가 병목이었는데, 대 AI 시대에는 기획자가 병목이 될 수도 있겠다. 조금이라도 규모가 있는 기업에서의 가장 큰 병목은 보통 의사결정자라는 것을 생각해보면 그렇다.


    즉, 실무보다 의사결정을 AI에게 맡기는 것이 병목을 해소할 수 있는 가장 확실한 방법이며, 그러므로 부장님과 사장님을 AI로 대체하는 것이야말로 인류의 번영을 위한 가장 빠른 지름길이다. (아님. 아니 맞나?!)


    무너지고 있는 프론트엔드, 백엔드 직군의 경계에 대한 고찰

    AI 기술이 우리 일상과 산업 전반에 스며들면서 소프트웨어 개발 환경 역시 큰 변화의 물결을 맞이하고 있다. 특히 코딩을 돕는 AI 에이전트의 등장은 개발 생산성에 대한 큰 변화를 만들고 있다. 나 역시 이러한 변화를 체감하며, 나에게 익숙한 소프트웨어 개발의 대표적인 두 축인 프론트엔드와 백엔드 영역에서 AI 기술이 미치는 영향과 그로 인해 변화하는 소프트웨어 엔지니어의 역할에 대해 개인적인 생각을 정리해 본다.

    ... 더 보기

     • 

    저장 33 • 조회 4,580


    AI(LLM) 애플리케이션의 발전 속도가 AI 지능(능력)의 발전 속도를 따라가지 못하고 있는 상태가 되었다. 즉, 이제 AI가 부족한 것이 문제가 아니라, AI의 능력을 100% 활용하지 못하고 있는 것이 문제인 상태가 되었다는 이야기.

    조회 1,115


    👋 LLM 활용에 도움이 되는 가이드 모음

    ✅️Prompting Guide 101 by Google : https://lnkd.in/d8UwPWeN

    ... 더 보기

     • 

    저장 12 • 조회 931