11강: 프론트엔드 기초
화면 만들기
이제 진짜 화면을 만들 차례예요
10강에서 수직 슬라이싱을 배웠어요. 피자를 한 조각씩 먹는 것처럼, 기능 하나를 완성하고 커밋하고 다음으로 넘어가는 리듬을 익혔죠.
10강 마지막에 이렇게 말씀드렸어요. "Next.js라는 프레임워크로 한 단계 더 올라가 볼 거예요. 레고 블록으로 화면을 조립하는 방법을 배워요."
바로 오늘이에요.
8강에서 HTML + CSS로 개인 웹페이지를 만들었어요. 파일 2개로 뚝딱 만들어서 GitHub Pages에 올렸죠. 그런데 진짜 서비스를 만들려면 한계가 있어요. 페이지가 10개, 20개로 늘어나면 어떻게 될까요? HTML 파일을 20개 만들고, 같은 헤더와 푸터(페이지 맨 아래 영역)를 20번 복사해야 해요. 헤더를 수정하면? 20개 파일을 전부 고쳐야 해요.
그래서 프레임워크(Framework, 자주 쓰는 기능을 미리 묶어둔 도구 세트)가 필요해요. 오늘 배울 Next.js가 바로 그 프레임워크예요.
이건 뭐 예요?
Next.js = 레고 조립 세트
레고를 떠올려 보세요.
레고 블록 하나하나는 작고 단순해요. 빨간 2x4 블록, 파란 1x2 블록, 투명 창문 블록. 이 블록들을 조합하면 집이 되고, 자동차가 되고, 우주선이 돼요. 그리고 레고 조립 세트에는 설명서가 있어요. "이 블록을 여기에 끼우고, 저 블록은 저기에 끼워라." 설명서를 따라가면 누구나 멋진 결과물을 완성할 수 있어요.
Next.js(넥스트 제이에스)가 바로 이 레고 조립 세트예요. 화면을 만들기 위한 블록(컴포넌트)과, 그 블록을 조립하는 설명서를 제공해요. 주소별로 어떤 페이지를 보여줄지 정하는 라우팅(Routing)과, 공통 틀을 잡아주는 레이아웃(Layout) 시스템이 다 들어있어요.
- 블록 하나 = 컴포넌트(Component, 화면의 독립적인 조각). 헤더 블록, 카드 블록, 버튼 블록 같은 것들이에요
- 블록을 끼우는 판 = 페이지(Page). 블록을 원하는 위치에 배치하면 화면이 완성돼요
- 설명서 = Next.js 프레임워크. 폴더 구조대로 파일을 만들면 페이지가 자동으로 생겨요