ElementaryUI запускает декларативные Swift-приложения в браузере через WebAssembly

ElementaryUI, открытый проект, цель которого описана на его сайте elementary.codes так: запускать декларативные приложения на Swift нативно в браузере с помощью WebAssembly. Главный лозунг страницы, «Swift in the Browser» («Swift в браузере»).

Вместо длинного описания сайт показывает короткий пример кода, вид LoveCounter. Он объявлен как структура с атрибутом @View, а изменяемое состояние хранится в переменной с атрибутом @State: count, которая изначально равна 1. В теле вида (body) сначала выводится абзац p, где сердечко-эмодзи повторяется столько раз, каково значение count.

Дальше логика ветвится. Пока count меньше 10, показана кнопка «More Love» («Больше любви»), а обработчик клика, привязанный модификатором .onClick, увеличивает счётчик на единицу. Как только count достигает 10, вместо этой кнопки появляются абзац «Enough love for you!» («Любви тебе хватит!») и кнопка «Less Love» («Меньше любви»), которая сбрасывает счётчик обратно к 1.

Пример показывает стиль проекта: интерфейс описывается как набор элементов (p, button) внутри свойства body, условия записываются обычным if/else, а обновление экрана привязано к изменению @State.

В конце страницы авторы благодарят всех, кто финансово поддерживает проект, и предлагают присоединиться к ним через спонсорство ElementaryUI. Имена спонсоров и суммы на странице не указаны.

Ключевые факты

  • ElementaryUI, открытый проект для запуска декларативных приложений на Swift в браузере с помощью WebAssembly; девиз сайта, «Swift in the Browser».
  • Единственная демонстрация на странице, пример LoveCounter: структура с атрибутом @View и состоянием @State var count = 1.
  • В примере кнопка «More Love» увеличивает счётчик на 1, пока он меньше 10; при 10 и больше появляются текст «Enough love for you!» и кнопка «Less Love», сбрасывающая счётчик к 1.
  • Обработчики кликов задаются модификатором .onClick; интерфейс строится из элементов вроде p и button.
  • Проект поддерживают спонсоры, посетителей сайта призывают присоединиться; версия, дата выхода, лицензия и авторы на странице не названы.

Почему это важно

Идея проекта, писать веб-интерфейсы на Swift и запускать их в браузере через WebAssembly, то есть без перехода на другой язык для веб-части. Сайт заявляет это прямо: декларативные Swift-приложения работают в браузере нативно. Это инструмент для разработчиков, а не громкий релиз: на странице нет ни версии, ни даты выхода, ни цифр производительности.

Кому это важно

Прежде всего тем, кто уже пишет на Swift и хочет попробовать тот же язык и декларативный стиль для браузера. Остальным страница пока мало что даёт: она показывает идею и небольшой пример, но не называет ни требований к инструментам, ни поддерживаемых браузеров.

Как это применить

По тексту страницы практических шагов не выстроить: инструкций по установке и сборке на ней нет. Можно разобрать пример LoveCounter как образец стиля: @View для описания вида, @State для состояния.onClick для обработчиков. Для реальной оценки придётся смотреть материалы проекта за пределами этого текста. Лицензия названа только словом «открытый» (open source), конкретная не указана.

Можно ли доверять

Источник, лендинг самого проекта, то есть заявления авторов о собственном продукте без независимой проверки. Названия организации или авторов на странице нет, сравнений с другими инструментами и измерений тоже нет. Работоспособность и зрелость проекта по этому тексту оценить нельзя.

Риски и подводные камни

Неизвестны версия, стабильность, размер итоговых сборок и поддержка браузеров: страница об этом молчит. Проект живёт на спонсорские деньги, и просьба о спонсорстве, единственное, что сказано о его финансировании. Перед использованием в рабочих проектах стоит отдельно проверить лицензию, активность разработки и состояние инструментов.

«Запускайте декларативные Swift-приложения нативно в браузере с помощью WebAssembly.»

— сайт ElementaryUI (elementary.codes)