웹 프론트엔드를 처음 시작하는 분을 위한 출발점입니다. 브라우저가 화면을 그리는 원리, HTML·CSS·JavaScript의 역할, React·Vue 같은 프레임워크가 필요한 이유, 렌더링 방식(CSR·SSR·SSG), 그리고 JavaScript 기초부터 Next.js·Nuxt 배포까지 이어지는 학습 로드맵을 정리합니다.
웹 프론트엔드를 처음 시작하는 분을 위한 출발점입니다. 브라우저가 화면을 그리는 원리, HTML·CSS·JavaScript의 역할, React·Vue 같은 프레임워크가 필요한 이유, 렌더링 방식(CSR·SSR·SSG), 그리고 JavaScript 기초부터 Next.js·Nuxt 배포까지 이어지는 학습 로드맵을 정리합니다. 이 가이드는 개념을 나열하기보다, 실제 프로젝트에서 판단해야 하는 순서대로 내용을 따라갈 수 있게 구성했습니다.
핵심 관점
프론트엔드 / 앱 개발
화면을 그리는 법에서 멈추지 않고, 상태, 데이터 요청, 라우팅, 접근성, 배포 단위까지 함께 봅니다.
프론트엔드 큰 그림브라우저 렌더링 원리프레임워크 선택렌더링 전략 이해프론트엔드 학습 순서
구조 다이어그램
글로 읽은 내용을 머릿속에 오래 남기려면 먼저 흐름을 그림으로 잡는 편이 좋습니다. 아래 두 그림은 Frontend 입문 & 로드맵를 학습할 때 계속 되돌아볼 수 있는 기준 지도입니다.
학습 흐름
다이어그램 렌더링 중…
아키텍처 관점
다이어그램 렌더링 중…
프론트엔드란 무엇인가
Frontend 입문 & 로드맵를 처음 펼칠 때는 세부 명령보다 큰 그림이 먼저입니다. 이 섹션에서는 앞으로 배울 개념들이 어떤 문제를 풀기 위해 등장했는지부터 잡아봅니다.
프론트엔드는 사용자가 직접 보고 만지는 모든 것입니다. 버튼, 입력창, 애니메이션, 페이지 이동, 그리고 서버에서 받아온 데이터를 보기 좋게 보여주는 일까지 포함됩니다.
과거의 프론트엔드가 "디자인을 HTML로 옮기는 일"이었다면, 지금은 상태 관리, 데이터 통신, 성능 최적화, 접근성, SEO까지 책임지는 본격적인 소프트웨어 엔지니어링 분야입니다. 사용자가 느끼는 서비스 품질의 대부분이 프론트엔드에서 결정됩니다.
프론트엔드 개발자의 관심사
예시
UI 구현
디자인 시안을 반응형 레이아웃으로 구현
상호작용
폼 입력 검증, 드래그 앤 드롭, 모달
데이터 통신
API 호출, 로딩·에러 상태 처리, 캐싱
성능
초기 로딩 속도, 이미지 최적화, 코드 분할
접근성
키보드 조작, 스크린 리더 지원, 색 대비
SEO
검색 엔진이 읽을 수 있는 페이지 구조, 메타데이터
HTML · CSS · JavaScript: 웹의 3요소
HTML · CSS · JavaScript: 웹의 3요소은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
모든 웹 페이지는 세 가지 언어로 만들어집니다. 집에 비유하면 HTML은 골조, CSS는 인테리어, JavaScript는 전기·수도 같은 동작 장치입니다. React나 Vue도 결국 이 세 가지를 더 효율적으로 다루는 도구입니다.
언어
역할
핵심 학습 주제
HTML
문서의 구조와 의미
시맨틱 태그(header, nav, main, article), 폼, 접근성 속성
CSS
모양과 배치
박스 모델, Flexbox, Grid, 반응형(미디어 쿼리), 변수
JavaScript
동작과 데이터 처리
DOM 조작, 이벤트, 비동기(Promise, async/await), fetch
TypeScript
JavaScript + 타입 시스템
타입 정의, 인터페이스, 제네릭 — 대규모 코드의 안정성
브라우저가 화면을 그리는 법
브라우저가 화면을 그리는 법은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
주소창에 URL을 입력하면 브라우저는 HTML을 받아 아래 순서로 화면을 그립니다. 이 과정을 알면 "왜 페이지가 느린지", "왜 레이아웃이 깜빡이는지"를 이해하고 고칠 수 있습니다.
단계
무슨 일이 일어나나
성능 포인트
1. HTML 파싱
HTML을 읽어 DOM 트리 생성
불필요하게 깊은 DOM 줄이기
2. CSS 파싱
CSS를 읽어 CSSOM 생성
CSS는 렌더링을 막으므로 핵심 CSS 우선
3. JavaScript 실행
스크립트가 DOM을 수정할 수 있음
defer / async로 파싱 차단 방지
4. 렌더 트리 & 레이아웃
각 요소의 크기와 위치 계산
레이아웃을 반복 유발하는 코드 피하기
5. 페인트 & 합성
픽셀로 그려 화면에 표시
transform·opacity 애니메이션이 가벼움
왜 프레임워크인가: 상태와 UI의 동기화
왜 프레임워크인가: 상태와 UI의 동기화은 선택지가 갈리는 지점입니다. 표를 기준으로 각 방법의 쓰임새와 운영상의 차이를 비교해두면 이후 판단이 훨씬 쉬워집니다.
순수 JavaScript로 앱을 만들다 보면 "데이터가 바뀔 때마다 화면의 어느 부분을 고쳐야 하는지"를 직접 관리해야 합니다. 앱이 커지면 이 동기화가 버그의 주 원인이 됩니다.
React·Vue 같은 프레임워크는 "UI = f(상태)"라는 아이디어로 이 문제를 풉니다. 개발자는 상태(데이터)만 바꾸고, 화면을 어떻게 갱신할지는 프레임워크가 알아서 계산합니다. 그리고 화면을 재사용 가능한 컴포넌트 단위로 나눠 조립합니다.