본문으로 건너뛰기

Swift의 웹 개발 진출: Elementary와 ElementaryUI

What's new in Swift: August 2026 Edition

www.swift.org

핵심 요약

  1. Elementary는 Swift의 선언형 API로 서버에서 HTML을 렌더링하며, Vapor와 Hummingbird 같은 프레임워크에 통합해 서버 렌더링 웹 UI를 구성한다.
  2. ElementaryUI는 브라우저에서 동작하는 상태 기반 UI 프레임워크로, Embedded Swift와 WebAssembly를 활용해 작은 바이너리를 만드는 방향으로 개발되고 있다.
  3. Cloudflare 데모는 브라우저의 Swift 코드와 edge worker의 Swift 백엔드가 공유 메시지 타입으로 통신하는 Full-Stack Swift 구성을 보여준다.

도입

Swift의 웹 활용을 넓히려는 Simon Leeb의 작업은 서버 렌더링 라이브러리 Elementary에서 브라우저 실행 프레임워크 ElementaryUI로 이어졌다. Elementary는 기존 Swift 코드와 비슷한 선언형 API로 HTML을 만들고, ElementaryUI는 브라우저에서 동작한다. 이 개발은 swift-wasm 프로젝트의 진전과 Embedded Swift의 실험적 초기 단계가 맞물린 가운데 진행됐다.

상세 요약

서버에서 HTML을 만드는 Elementary

Simon Leeb은 서버 백엔드에 Swift를 사용하면서 프런트엔드가 별도 생태계에 남아 있는 점에 문제의식을 가졌다. 그는 Swift 코드에서 기대한 사용 편의성, 안전성, 효율성을 웹 UI에도 적용하고자 Elementary를 만들었다.

Elementary는 HTML 렌더링 라이브러리다. 익숙한 선언형 API를 제공하며, Vapor와 Hummingbird 같은 프레임워크에 통합할 수 있다. 글에서는 이를 서버 렌더링 웹 UI를 구현하는 실용적인 선택지로 소개한다.

브라우저에서 동작하는 ElementaryUI

Elementary가 서버에서 HTML을 렌더링한다면 ElementaryUI는 브라우저 자체에서 실행된다. 프로젝트의 출발점에는 swift-wasm을 통해 Swift를 WebAssembly로 컴파일하는 작업이 점차 실현 가능해진 점과 Embedded Swift의 실험 단계가 있었다. Leeb은 Embedded Swift로 상태 기반 웹 UI 프레임워크를 만들고 작은 WebAssembly 바이너리를 생성할 수 있는지 탐구했다. 그는 구현 과정이 예상보다 어려웠다고 설명한다.

ElementaryUI는 아직 초기 단계이며, 완성까지 개발할 부분이 남아 있다. 프로젝트에 관한 배경과 구현 방식은 Swift@FOSDEM 2026 발표에서 다뤘다고 언급한다. Elementary와 마찬가지로 웹을 대상으로 하지만, 두 프로젝트는 실행 위치와 역할이 다르다.

프로젝트 실행 위치 본문에 설명된 역할
Elementary 서버 선언형 API로 HTML 렌더링
ElementaryUI 브라우저 브라우저에서 실행되는 UI 프레임워크

Swift로 웹사이트를 구현하는 다른 사례로는 웹사이트를 Swift로 전면 재작성한 방법이 있다. 해당 사례와 달리 이 글의 중심은 서버 렌더링과 WebAssembly 기반 브라우저 UI를 함께 다루는 Elementary 프로젝트의 방향이다.

Cloudflare Full-Stack Swift 데모

Leeb은 프로젝트의 진행 방향을 보여주기 위해 Cloudflare 데모를 공개했다. 데모에서는 브라우저의 Swift 코드가 edge worker에서 실행되는 Swift 백엔드와 통신한다. 양쪽은 메시지 타입을 공유한다. 글은 이 구성을 통해 Swift 핵심 기술과 주변 도구가 발전한 정도를 확인할 수 있다고 설명한다.

글에서 확인되는 범위

이 글은 Swift 프로젝트와 커뮤니티의 릴리스, 영상, 논의를 모아 소개하는 정기 다이제스트의 일부다. 제공된 본문에서는 웹 개발 사례를 집중적으로 다루고, Swift Evolution 제안이 검토 중이거나 향후 릴리스 대상으로 최근 채택됐다고 안내한다. 다만 구체적인 제안의 이름이나 변경 내용은 본문에 포함되지 않았다.

Elementary를 사용해 보거나 피드백을 보내고, 기여 또는 후원할 수 있다는 안내도 있다. 현재 확인할 수 있는 핵심은 서버에서 HTML을 생성하는 Elementary와 브라우저에서 실행되는 ElementaryUI의 구분, 그리고 두 실행 환경을 연결해 보여주는 Cloudflare 데모다. ElementaryUI가 초기 단계라는 점도 함께 고려해야 한다.

결론

이 글에서 확인되는 방향은 Swift를 웹 서버뿐 아니라 브라우저에서도 사용하고, 양쪽 코드가 메시지 타입을 공유하는 구성이다. 다만 ElementaryUI는 아직 초기 단계이며 개발할 부분이 남아 있다고 작성자는 밝힌다. Cloudflare 데모는 현재 진행 방향을 보여주는 사례이고, 본문에는 이를 뒷받침하는 구체적 성능 수치나 향후 릴리스 일정은 제시되지 않는다.