JavaScript를 공부하기 위한 초보 개발자들을 위한 기초적인 사용 가이드
JavaScript(Js)의 탄생배경
요약: 웹 브라우저에 생명을 불어넣기 위해 탄생되었다.
1990년대 초반의 웹사이트는 단순히 글과 이미지만 보여주는 ‘정적인 문서’에 가까웠습니다.
사용자가 클릭을 하거나, 글자를 입력해도 아무런 반응이 없었고, 다른 페이지로 넘머가는 게 전부였죠.
넷스케이프(Netscape)라는 회사는 이 문제를 해결하고 싶었습니다. “사용자가 웹페이지와 상호작용(Interaction)하게 만들 수는 없을까?” 라는 생각에서 출발했죠. 예를 들면,
- 회원가입 양식에 이메일 주소를 잘못 입력하면 “이메일 형식이 아닙니다!” 라고 즉시 알려주기
- 버튼 위에 마우스를 올리면 색깔이 바뀌거나 간단한 애니메이션 보여주기
이런 ‘동적인 기능’을 쉽고 빠르게 구현하기 위해 웹 브라우저 안에서 바로 실행되는 스크립트 언어로 개발된 것이 바로 JavaScript, Js라고 불리는 프로그래밍 언어 입니다.
JavaScript의 주요 사용처
JS는 자신의 고향인 웹 브라우저를 넘어, 이제는 거의 모든 영역에서 사용하는 만능 언어가 되어가고 있습니다.
- 프론트엔드 (웹 브라우저)
- 설명: js의 전통적인 무대이자 가장 중요한 사용처입니다. 웹 브라우저가 유일하게 지원하는 프로그래밍 언어입니다. (웹 브라우저를 제작할 때 Js 이외의 언어를 사용할 수 없습니다.)
- 역할: 사용자가 눈으로 보는 거의 모든것(UI, User Interface)을 만들고, 클릭/입력 등 모든 상호작용을 처리합니다. 웹에서 작동하는 앱플리케이션을 만듭니다.
- 백엔드 (서버)
- 설명: 이 부분은 Node.js 라는 프로그램 덕분에 가능해진 영역입니다.
- 역할: 로그인 처리, 데이터베이스 관리, 결제 등 웹사이트의
보이지 않는 뒷단(서버)의 모든 로직을 처리합니다. JS
하나만으로 웹의 앞(프론트엔드)과 뒤(백엔드)를 모두 개발할
수 있게 되었습니다.
- 모바일 앱
- 설명: React Native, NativeScript 등의 프레임워크를
사용합니다.
- 역할: 하나의 JavaScript 코드로 안드로이드와 iOS 앱을
동시에 만들 수 있습니다.
- 데스크톱 앱
- 설명: Electron이라는 프레임워크를 사용합니다.
- 역할: 우리가 매일 사용하는 많은 프로그램들이 사실 JS로
만들어졌습니다. (예: Visual Studio Code, Discord,
Notion)
node.Js는 무엇인가?
"자바스크립트를 웹 브라우저 밖(당신의 컴퓨터)에서 실행시켜주는
프로그램(실행 환경)"
- 원래 JavaScript는 웹 브라우저라는 특정 환경 안에서만 살 수
있는 '물고기'였습니다.
- Node.js는 이 '물고기'를 브라우저라는 '강물' 밖으로 꺼내,
당신의 컴퓨터라는 '육지'에서도 살 수 있게 해주는 특수
어항(실행 환경, Runtime) 같은 것입니다.
- Node.js 덕분에 JavaScript는 웹 브라우저를 제어하는 언어에서
벗어나, 컴퓨터의 파일 시스템에 접근하고, 서버를 만들고, 다른
프로그램과 통신하는 등 일반적인 프로그래밍 언어가 할 수 있는
모든 것을 할 수 있게 되었습니다.
결론: Node.js는 JS를 백엔드와 같이 다양한 환경에서 쓸 수 있게
해주는 핵심 기술입니다.
최종 정리
- JavaScript: 원래 웹의 상호작용을 위해 태어났지만, 이제는
어디서나 쓰이는 다재다능한 언어.