Ember — это неофициальный клиент для Hacker News, целиком написанный на SwiftUI без единой сторонней библиотеки. Работает на iPhone, iPad и Mac (через Mac Catalyst), а на больших экранах использует трёхпанельный NavigationSplitView: слева список источников, в центре лента, справа обсуждение.
Главная фишка — нативный парсинг комментариев. Ember сам превращает HTML-разметку Hacker News (теги <p>, <i>, <b>, <a>, <pre><code>, <br>) в AttributedString, не открывая веб-вью. Всё дерево комментариев загружается одним запросом к Algolia, так что сворачивание веток работает мгновенно.
Приложение умеет кешировать ленты, статьи и комментарии на диск с помощью DiskCache (actor на основе JSON). Если сеть пропала, Ember автоматически показывает закешированные данные. Размер кэша виден в настройках, его можно очистить. Закладки тоже хранятся локально и работают офлайн.
Поиск полнотекстовый, сортирует по релевантности или дате. Прочитанные истории приглушаются — удобно возвращаться к ленте. Встроенный Safari-вью позволяет читать статьи внутри приложения, можно включить Reader mode или открыть во внешнем браузере.
Отдельного упоминания заслуживает доступность. Ember не полагается только на цвет: каждая иконка дублируется текстом, формой или символом — очки, счётчики комментариев, флажок прочитанного, состояние выбора. Есть настройка для людей с цветовой слепотой (включается автоматически, если в системе включено «Differentiate Without Color»). VoiceOver правильно читает каждую строку как единый элемент, типографика (Inter) масштабируется с Dynamic Type, анимации отключаются при Reduce Motion, ссылки в комментариях можно подчеркнуть.
При первом запуске онбординг считывает настройки устройства (VoiceOver, Reduce Motion, Bold Text, крупный шрифт) и сразу подгоняет интерфейс, показывая живую превью.
Технически проект собирается через XcodeGen, требует Xcode 16+, написан на Swift 6 с @Observable, async/await и TaskGroup для параллельной загрузки страниц ленты. Цвета заданы как адаптивные токены в коде — светлая и тёмная темы настраиваются вручную, а не берутся из системных по умолчанию. Исходники лежат на GitHub под MIT-лицензией, и Ember никак не связан с Hacker News или Y Combinator.