Swift로 만든 선언적 웹 UI, WebAssembly로 브라우저에서 돌리는 ElementaryUI 공개
- ElementaryUI는 선언적 Swift 앱을 WebAssembly로 브라우저에서 네이티브 실행하고, SwiftUI 스타일 API로 웹 UI를 작성하게 함
- Embedded Swift를 지원해 MB 단위가 아닌 kB 크기의 wasm 번들을 만듦
- @State, @Environment, @Reactive로 상태를 자동 관리하고, CSS 기반 애니메이션에 자동 FLIP 전환을 포함함
- Vite 기반 개발 서버로 핫 리로드를 제공하며, 오픈소스로 공개하고 GitHub Sponsors로 후원을 받음
- 해커뉴스에서는 최신 Firefox에서 hydration이 실패하는 데모 불안정과 18년 된 Cappuccino, Blazor와의 유사성이 먼저 나옴
Hacker News 의견들
데모가 좀 불안정하더라. 최신 Firefox에서 hydration이 가끔 실패함.
이거 보니까 18년 된 Cappuccino 프로젝트가 생각남. Objective-J라는 것도 있었는데 완전히 잊고 살았네.
Cappuccino보다는 Blazor에 더 가까운 것 같은데.
Cappuccino 아직 살아있다는 게 신기함. 예전에 인터페이스 빌더에 20달러 냈는데 결국 못 받았음.
이미 TypeScript가 있는데 굳이 왜 만드는지 모르겠음.
Swift가 좋으니까 아닐까. 진지하게는 iOS, 안드로이드 앱이랑 로직 공유하려는 목적일 듯.
Rust로 갈아엎는 프로젝트들에는 이런 시각이 없어서 아쉬움.
TypeScript도 그렇게 좋은 언어는 아니라고 봄.
언젠가는 나올 일이었음. Swift는 Haskell 같은데 더 친절하고 실용적임.
난 선택지가 있으면 Apple 근처에 안 감. 언제든 '새 버전 Swift는 99.99달러부터' 이럴 수 있잖아.
보니까 jQuery에 jsx랑 ember, angular 섞은 것 같은 느낌임.
벤치마크나 비교 자료가 있었으면 좋겠음. 브라우저에서 Swift가 더 빠른지, 유지보수가 쉬운지, 아니면 그냥 언어 애정 문제인지 알고 싶음. 만든 건 대단함.