Blazor 처음부터: 새 시리즈

· 2분 읽기

저는 한동안 Blazor에 대해 글을 써왔습니다 — 컴포넌트 생명 주기, 스코프 CSS, 인터랙티비티 모델, 인증. 각각의 글은 나름 유용했지만, 항상 기반이 빠져 있다는 느낌이 들었습니다. Blazor가 무엇인지, 왜 존재하는지, .NET 생태계에 어떻게 맞는지를 이미 알고 있다고 가정하고 있었죠. 모두가 그렇지는 않고, 그건 완전히 괜찮습니다.

그래서 새로운 것을 시작합니다: Blazor 처음부터. 제대로 된 시리즈로, 기초부터 쌓아올려, 자신이 무엇을 만들고 있는지 정말로 이해하고 싶은 개발자를 위해 — 그냥 작동할 때까지 복사-붙여넣기만 하는 것이 아니라.

이 시리즈는 누구를 위한 것인가

이 시리즈는 다음에 해당하는 분을 위한 것입니다:

  • Blazor에 대해 들어봤지만 깊이 파고들 시간이나 적절한 시작점을 찾지 못한 .NET 개발자
  • Blazor를 시도해보고 돌아가게는 했지만, 작동하는지 짐작만 하고 있는 것 같은 분
  • JavaScript/React/Angular 세계에서 와서 Microsoft의 모던 프론트엔드에 대한 답이 어떤 모습인지 이해하고 싶은 분
  • 흩어진 문서와 블로그 글들 대신 하나의 일관된 리소스를 원하는 분

시니어 개발자일 필요는 없습니다. 다만 C# 기본기 — 클래스, 인터페이스, async/await — 는 익숙해야 합니다. ASP.NET Core에서 간단한 CRUD API를 작성할 수 있다면 준비된 것입니다.

무엇을 다룰 것인가

다음은 제가 계획한 대략적인 로드맵입니다. 필요에 따라 일부 주제는 여러 글로 확장될 수 있습니다:

  1. Blazor란 무엇인가? — 호스팅 모델, 역사, 전통적인 웹 개발과의 비교
  2. 첫 번째 Blazor 앱 — 스캐폴딩, 프로젝트 구조, 로컬 실행
  3. 컴포넌트 — 모든 Blazor UI의 기본 블록
  4. 데이터 바인딩과 이벤트 — UI를 반응형으로 만들기
  5. 컴포넌트 간 통신 — 파라미터, EventCallbacks, 캐스케이딩 값
  6. 라우팅과 네비게이션 — Blazor가 URL과 페이지 전환을 처리하는 방법
  7. 의존성 주입 — 서비스, 스코프, Blazor의 DI 컨테이너
  8. 폼과 유효성 검사 — EditForm, DataAnnotations, 커스텀 유효성 검사기
  9. HTTP와 외부 데이터 — Blazor 앱에서 API 호출하기
  10. 인증과 인가 — 앱을 올바르게 보호하기
  11. JavaScript 인터롭 — 브라우저에 직접 접근해야 할 때
  12. 성능과 최적화 — 가상화, 지연 로딩, 렌더 전략
  13. Blazor 컴포넌트 테스트 — bUnit과 탄탄한 테스트의 모습
  14. 배포 — Azure, IIS, 정적 호스트에 게시하기

이 목록은 발전할 것입니다. 일부 주제는 여러 글로 나뉘고, 다른 것들은 합쳐질 수 있습니다. 시리즈가 진행되면서 이 글을 업데이트하고 각 항목이 게시될 때 링크를 추가하겠습니다.

왜 시리즈를, 왜 지금

Blazor는 많이 성숙했습니다. .NET 8과 9에서 렌더링 모델이 크게 개편되었습니다 — 정적 SSR, 스트리밍 렌더링, 인터랙티브 서버, 인터랙티브 WebAssembly, 오토 모드가 이제 한 지붕 아래 공존합니다. 진정으로 흥미롭고 유능한 프레임워크이지만, 복잡성의 증가로 인해 시작 경험이 혼란스러울 수 있습니다.

여러분이 있는 곳에서 만나 전체를 체계적으로 안내하는 리소스를 만들고 싶습니다. 공식 문서의 대체물이 아닙니다 — 그것은 좋고 읽어야 합니다 — 하지만 무엇 뒤에 있는 를 설명하는 동반자입니다.

시리즈를 따라가는 방법

시리즈의 각 글은 단독으로 읽기에 충분히 독립적이지만, 서로 쌓아올리는 방식으로 구성됩니다. 처음부터 시작한다면 순서대로 읽을 것을 권장합니다. 특정 부분을 채우러 들어오는 경우에도 괜찮습니다 — 중요한 경우 선행 글에 대한 링크를 달겠습니다.

각 글의 코드는 GitHub에서 제공됩니다. 진행하면서 링크를 공유하겠습니다.

다음 글에서 만나요.