프로그래밍을 처음 시작하면 많은 사람이 파이썬부터 배운다. 문법이 쉽고, 영어 문장처럼 읽히기 때문이다. 그래서 처음에는 “파이썬이 이렇게 쉬운데, 왜 웹사이트는 JavaScript로 만들지?”라는 생각을 하게 된다.
나도 처음 HTML과 CSS를 배우고 나서, 웹사이트에 버튼을 누르면 글자가 바뀌게 만들고 싶었다. 그런데 강의를 보니 모두 JavaScript를 쓰고 있었다. 그때는 “파이썬으로 하면 더 쉬울 텐데 왜 굳이 JavaScript를 배우지?”라는 생각이 들었다.
하지만 직접 웹사이트를 만들다 보니, 웹브라우저 안에서는 JavaScript만 특별하게 실행될 수 있기 때문이라는 것을 알게 됐다.
결론부터 말하면, 파이썬은 배우기 쉽지만 웹브라우저는 기본적으로 JavaScript만 이해한다. 그래서 웹사이트의 움직임과 기능은 대부분 JavaScript로 만든다.

웹사이트는 세 가지로 만들어진다
웹사이트는 보통 아래 세 가지로 이루어진다.
- HTML → 글과 구조
- CSS → 색깔과 디자인
- JavaScript → 움직임과 기능
예를 들어 로그인 화면을 만든다고 해보자.
- HTML은 아이디 입력칸과 버튼을 만든다.
- CSS는 버튼 색과 글씨 크기를 바꾼다.
- JavaScript는 버튼을 눌렀을 때 실제로 로그인 기능이 작동하게 만든다.
즉, JavaScript는 웹사이트가 “움직이게” 해주는 역할을 한다.
예를 들어 아래 같은 기능은 모두 JavaScript가 담당한다.
- 버튼을 누르면 메뉴가 열리기
- 슬라이드 배너 자동으로 넘어가기
- 댓글 작성하기
- 로그인하기
- 새로고침 없이 글 불러오기
그래서 웹사이트를 제대로 만들려면 결국 JavaScript가 필요하다.
왜 웹브라우저는 JavaScript만 실행할까
우리가 웹사이트를 볼 때 사용하는 크롬, 사파리, 엣지 같은 웹브라우저는 오래전부터 JavaScript를 기본 언어로 지원해왔다.
즉, 브라우저 안에는 JavaScript를 실행하는 기능이 원래 들어 있다.
예를 들어 HTML 파일 안에 아래처럼 쓰면:
<script>
alert("안녕하세요");
</script>
브라우저는 바로 실행해서 화면에 알림창을 띄운다.
하지만 같은 방식으로 파이썬을 쓰면:
<script>
print("안녕하세요")
</script>
브라우저는 이 코드를 이해하지 못한다.
왜냐하면 브라우저는 기본적으로 JavaScript만 읽을 수 있기 때문이다.
쉽게 비유하면, 웹브라우저는 영어만 알아듣는 사람과 같다. 파이썬은 한국어처럼 쉬울 수 있지만, 상대방이 영어만 알아듣는다면 결국 영어로 말해야 한다. 웹브라우저에게는 그 영어가 바로 JavaScript다.
그렇다면 파이썬은 웹사이트에서 아예 못 쓸까
그렇지는 않다. 파이썬도 웹사이트를 만들 때 많이 사용된다. 다만 파이썬은 보통 웹브라우저 안이 아니라, 서버 쪽에서 사용된다.
예를 들어 사용자가 로그인 버튼을 누르면:
- JavaScript가 아이디와 비밀번호를 서버로 보낸다.
- 서버에서는 파이썬이 그 정보를 확인한다.
- 맞으면 “로그인 성공”을 다시 보내준다.
즉, JavaScript는 사용자 화면에서 움직이고, 파이썬은 뒤에서 데이터를 처리한다.
쉽게 말하면:
- JavaScript = 손님과 대화하는 직원
- Python = 주방에서 실제 일을 하는 사람
그래서 많은 웹사이트는 JavaScript와 파이썬을 함께 사용한다.
예를 들어:
- 화면과 버튼 → JavaScript
- 회원가입, 데이터 저장 → Python
실제로 인스타그램, 유튜브 같은 서비스도 화면은 JavaScript로 만들고, 서버 쪽은 Python이나 다른 언어를 사용하는 경우가 많다.
그런데 왜 파이썬으로 웹사이트를 만들 수 있다는 말을 들을까
인터넷을 보면 “파이썬으로 웹사이트 만들기”라는 말도 많이 보인다. 그래서 더 헷갈릴 수 있다.
이 말은 보통 파이썬으로 서버를 만든다는 뜻이다.
예를 들어 Flask나 Django 같은 파이썬 도구를 사용하면, 로그인이나 게시판 같은 기능을 만들 수 있다.
대표적인 파이썬 웹 프레임워크는 아래와 같다.
- Flask → 간단하고 배우기 쉬움
- Django → 기능이 많고 큰 사이트에 적합
하지만 이 경우에도 결국 화면에서 움직이는 부분은 JavaScript가 맡는다.
즉, 파이썬만으로는 웹사이트의 버튼, 애니메이션, 메뉴 열기 같은 기능을 직접 만들 수 없다.
그래서 “파이썬으로 웹사이트를 만든다”는 말은 정확히는 “파이썬으로 웹사이트의 서버를 만든다”는 뜻에 가깝다.
JavaScript가 웹사이트에서 꼭 필요한 이유
웹사이트는 사용자가 클릭하고, 입력하고, 바로 반응하는 것이 중요하다.
예를 들어 쇼핑몰에서 장바구니 버튼을 눌렀는데, 매번 화면이 새로고침된다면 굉장히 불편할 것이다.
하지만 JavaScript를 사용하면 새로고침 없이도:
- 장바구니 숫자 바꾸기
- 좋아요 버튼 색 바꾸기
- 댓글 바로 추가하기
- 검색 결과 즉시 보여주기
같은 기능을 만들 수 있다.
즉, JavaScript는 웹사이트를 더 빠르고 편하게 만들어준다.
그래서 오늘날 대부분의 웹사이트는 JavaScript를 사용한다. 심지어 React, Vue, Next.js 같은 유명한 웹사이트 도구도 모두 JavaScript 기반이다.
그렇다면 초보자는 무엇부터 배우는 게 좋을까
처음 프로그래밍을 배우는 사람이라면, 파이썬으로 시작하는 것이 좋다. 문법이 쉽고, 프로그래밍 개념을 이해하기 쉽기 때문이다.
하지만 웹사이트를 만들고 싶다면, 결국 JavaScript도 반드시 배우게 된다.
추천 순서는 아래와 같다.
- HTML 배우기
- CSS 배우기
- JavaScript 배우기
- 그다음에 Python으로 서버 배우기
나도 처음에는 JavaScript가 파이썬보다 훨씬 어렵게 느껴졌다. 하지만 버튼 하나가 눌리고, 글자가 바뀌고, 화면이 움직이는 것을 직접 만들어보니 왜 웹사이트에서 JavaScript를 쓰는지 바로 이해됐다.
반대로 파이썬은 로그인 정보나 데이터 처리처럼 뒤에서 작동하는 기능을 만들 때 정말 편했다.
파이썬과 JavaScript는 경쟁자가 아니라 역할이 다르다
많은 초보자가 “파이썬이 더 쉬운데 왜 JavaScript를 쓰지?”라고 생각한다. 하지만 사실 두 언어는 서로 경쟁하는 것이 아니라, 사용하는 장소가 다르다.
| 언어 | 주로 사용하는 곳 | 역할 |
|---|---|---|
| Python | 서버, 데이터 처리, AI | 뒤에서 계산하고 처리 |
| JavaScript | 웹브라우저, 웹사이트 화면 | 사용자 화면을 움직임 |
즉, 웹사이트에서는 JavaScript가 필요하고, 서버에서는 Python이 강하다.
그래서 실제로는 둘 중 하나만 선택하는 것이 아니라, 둘을 함께 사용하는 경우가 가장 많다.
앞으로 웹사이트를 공부하다 보면 JavaScript를 계속 만나게 될 것이다. 그때 “왜 굳이 JavaScript를 쓰지?”라는 생각이 들더라도, 웹브라우저가 JavaScript만 이해하기 때문이라고 기억하면 훨씬 이해하기 쉬워질 것이다.