NuGet에서 WebForms Core

발행: (2026년 1월 5일 오전 03:22 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

개요

WebForms Core, 엘라낫이 개발한 서버‑구동 UI 기술이 이제 NuGet에서 WFC 패키지 이름으로 공식 제공됩니다. 이 패키지를 통해 .NET 개발자는 ASP.NET Core 프로젝트(예: Razor Pages와 MVC)에 표준 .NET 도구를 사용해 WebForms Core를 손쉽게 통합할 수 있습니다.

설치

다음 명령 하나로 WebForms Core를 설치합니다:

dotnet add package WFC

또는 .csproj 파일에 직접 패키지 참조를 추가합니다:

<!-- Add the package reference here -->

WebFormsJS 런타임 추가

설정을 완전하게 마치려면 WebFormsJS 런타임을 HTML 페이지의 “ 섹션에 포함시켜야 합니다. WebFormsJS는 다음에서 얻을 수 있습니다:

  • Elanat:
  • GitHub:

예시: WebForms Core로 DOM 요소 제거

HTML

    This element will be removed

Remove
@Html.Raw(ViewData["WebForms"] ?? "")

서버‑사이드 (C# – WebForms Core)

using WebFormsCore;
...
public IActionResult OnGet()
{
    var form = new WebForms();

    if (Request.Query.ContainsKey("remove_box"))
    {
        form.Remove("box");
        return Content(form.Response(), "text/html");
    }

    // Bind click event
    form.SetGetEvent("removeBtn", "onclick", "?remove_box");

    // Export commands
    ViewData["WebForms"] = form.ExportToHtmlComment();

    return Page();
}

여기서 일어나는 일

  • 버튼을 클릭하면 서버에 요청이 전송됩니다.
  • 서버는 Remove 명령을 응답합니다.
  • WebFormsJS가 브라우저에서 즉시 명령을 실행합니다.
  • 페이지 새로 고침도, DOM 차이 비교도, 사용자 정의 JavaScript도 필요하지 않습니다.

철학

WebForms Core는 Deterministic UI Runtime + Protocol + DSL 접근 방식을 따릅니다. 이는:

  • 단순한 프레임워크가 아닙니다.
  • 단순한 서버‑구동 UI도 아닙니다.
  • 기존 WebForms의 부활도 아닙니다.

대신 다음을 정의합니다:

  • 통신 프로토콜.
  • UI 실행 모델.
  • 클라이언트‑사이드 런타임.
  • 명령‑지향 언어.

현재 다른 웹 시스템은 이 모든 요소를 하나의 일관된 모델로 결합하고 있지 않습니다.

추가 자료

실용적인 Razor Pages 예시는 다음 글에서 확인할 수 있습니다:
State Management in WebForms Core 2 (Razor Pages Example)

NuGet에 WebForms Core가 제공되면서 .NET 생태계 전반에 걸친 채택이 한층 가속화될 것입니다. 새로운 애플리케이션을 구축하든, 레거시 시스템을 현대화하든, Blazor를 넘어서는 서버‑구동 UI 아키텍처를 탐색하든, WFC는 강력하고 미니멀하며 근본적으로 다른 접근 방식을 제공하므로 충분히 살펴볼 가치가 있습니다.

Back to Blog

관련 글

더 보기 »

C#에서 RTF를 PDF로 변환하기

개요 RTF(Rich Text Format)는 문서 편집 및 데이터 교환에 널리 사용되는 크로스‑플랫폼 형식입니다. 반면 PDF는 문서 배포에 이상적입니다.