
웹 개발에 자주 사용되는 프로그래밍 언어 3가지
하루 수천만 명이 방문하는 커뮤니티 웹사이트부터 온라인 쇼핑몰까지, 우리는 단 하루라도 웹사이트 없이 생활하기 어려울 정도로 수많은 웹 서비스와 함께 살아가고 있습니다.
웹이 대중화된 지 20년이 넘었음에도 웹 개발자에 대한 수요는 여전히 견고합니다. 다양한 언어로 웹 서비스를 프로그래밍 할 수 있지만, 이번 포스트에서는 웹 개발에 자주 쓰이는 3가지 프로그래밍 언어를 소개하겠습니다.
1. 자바스크립트(JavaScript)
자바스크립트(JavaScript)는 웹페이지의 뇌와 같습니다. 자바스크립트는 웹사이트에 동적인(Dynamic) 기능을 추가하는 프로그래밍 언어로, 동적인 기능은 사용자 버튼 클릭(Click), 마우스 올려 놓기(Hover), 키보드 입력(Keydown)과 같은 이벤트를 처리하거나 웹 양식(Form)을 제출하는 것을 뜻합니다.
이전의 자바스크립트는 웹 브라우저에서 데이터를 요청하고 웹사이트의 동작을 제어하는 클라이언트(Client)에서만 실행되는 언어였지만, 2009년 등장한 NodeJS와 함께 웹 서버(Server) 개발에도 널리 사용되고 있습니다.
자바스크립트의 특징
브라우저 호환성 : 자바스크립트는 크롬(Chrome), 사파리(Safari), 엣지(Edge) 등 모든 웹 브라우저에서 지원되는 범용적인 언어입니다.
비교적 쉬운 학습 난이도 : 다른 프로그래밍 언어에 비해 프로그래밍 입문자가 학습하기 쉬운 편이며, 웹사이트를 프로그래밍하며 코딩 결과를 시각적으로 확인하기도 용이합니다.
웹 서버, 클라이언트 모든 환경 지원 : Node.js라는 자바스크립트 런타임(실행 환경)을 활용하면 웹 서버와 클라이언트(브라우저) 모두에서 자바스크립트를 사용할 수 있습니다. 요즘에는 자바스크립트로 모바일 앱을 개발하기 위한 React Native와 같은 프레임워크도 등장하여 모바일 앱 개발에까지 활용할 수 있습니다.
웹 브라우저를 기반으로 사용자와 마주하는 클라이언트, 즉 프론트엔드(Front-end) 개발에는 자바스크립트가 필수적입니다.
2. 타입스크립트(TypeScript)
타입스크립트는 Windows, MS Office, Azure 등으로 유명한 마이크로소프트(Microsoft)가 자바스크립트의 한계를 보완하기 위해 만든 언어입니다.
다소 엄격하지 않은 문법으로 프로그램 오류가 잦았던 자바스크립트에 타입(Type, 자료형) 기반의 엄격한 문법을 적용해, 프로그램 오류를 최소화 합니다.
타입스크립트의 특징
코드 안정성 : 데이터 타입 검사를 통해 코드 안정성과 유지보수성을 높입니다.
JavaScript 호환성 : 자바스크립트와 매끄럽게 호환되어, 서버/클라이언트에서 모두 활용 가능합니다.
약간의 코드 복잡성 증가: 자바스크립트에 비해 초기 학습 시간이 다소 더 필요하며, 타입 정의 등으로 코드가 다소 복잡해질 수 있습니다.
참고: 타입스크립트 공식 문서 : https://www.typescriptlang.org/
3. 파이썬(Python)
파이썬은 사람의 언어와 유사한 문법 구조와 가독성으로 인해 인공지능, 데이터 분석, 웹 개발 등 다양한 프로그래밍 분야에 활용되는 인기 프로그래밍 언어입니다. 웹 개발에서 파이썬은 주로 백엔드(웹 서버) 개발에 사용되며, Django, Flask, FastAPI와 같은 다양한 프레임워크(개발 도구)를 활용해 웹 서버를 프로그래밍할 수 있습니다.
파이썬의 특징
간결한 코드 : 코드가 간결하고 직관적이기 때문에, 웹 서버 개발 입문용으로 좋습니다.
광범위한 사용처 : 파이썬은 데이터 과학, 인공지능 등 다양한 분야에 널리 사용됩니다. 웹 서버에 데이터 분석 및 인공지능 관련 기능을 연동하거나 개발할 때 파이썬 기반 웹 서버가 유용합니다.
풍부한 참고 자료 : 인기 프로그래밍 언어인 덕분에 풍부한 참고 자료와 문서, 개발자 커뮤니티를 보유하고 있습니다.
위 3가지 언어 외에도 웹 서버 개발에는 자바(JAVA), 루비(Ruby), PHP 등 다양한 프로그래밍 언어가 활용됩니다.
HTML, CSS, JavaScript 등 클라이언트 웹 서비스 개발에 입문하고 싶다면, 코드프렌즈의 웹 개발 입문 코스를 체험해 보세요 :)