Show HN: я разработал собственный клиент MacOS Hacker News

showhnяразработалсобственныйклиентmacoshackernews

Screenshot of main window


Мне не удалось найти клиент HackerNews, работающий на macOS, созданный с использованием собственных технологий (AppKit) и имеющий все функции, которые меня интересовали: функции повышения / понижения, комментирование, скрытие / добавление в избранное и т. д.

Так что я работаю самостоятельно.

⚠️ Предупреждение

Это приложение по-прежнему имеет высокую WIP, и это не лучший код в мире. Если у вас есть идеи сделать код чище, Swiftier или действительно есть идея, PR приветствуются!

Также приветствуются тривиальные сообщения об ошибках, я хотел бы исправить ошибки, которые лежат на земле, но поскольку я использую приложение каждый день, мне трудно обнаружить очевидные ошибки, потому что я так к этому привык. Помогает каждый отчет об ошибке, в том числе и очень тривиальный. Заранее спасибо.

Предварительный выпуск

Я сделал предварительный выпуск, вы можете попробовать его, загрузив его с выпускает вкладку .

Разработка

Я написал HNAPI пакет для взаимодействия с HN. Он обрабатывает взаимодействие как с официальным API HN , так и с Algolia HN API и Сайт HackerNews .

Если вы пишете новый клиент HN (для любой платформы), возможно, вы захотите прояснить код, я вложил много мыслей в дизайн. Вероятно, есть еще несколько аспектов дизайна, о которых мне нужно подумать, но это в значительной степени самый быстрый и надежный подход к взаимодействию с HN, который я мог придумать.

Функции

Истории голосования и комментарии

Удивительное количество У клиентов HackerNews нет никаких функций, связанных с учетными записями. Это в основном потому, что официальный API предоставляет только методы для просмотра элементов. Напротив, HackerNews.app загружает сайт HN, анализирует его и позволяет пользователям голосовать, добавлять в избранное или скрывать элементы.

Mac -assed Mac-приложение

Это приложение пытается быть Приложение для Mac для Mac . Он разработан с использованием API-интерфейсов AppKit и не использует веб-просмотры или Catalyst.

Благодаря…

Коллин Доннелл ( @ collindonnell в Твиттере), который щедро предоставил обзор кода и советы по дизайну для этого проекта.