Нативный клиент Gmail для macOS: что на самом деле значит «нативный»
«Нативный» — самое частое слово на страницах приложений для Gmail, и оно значит как минимум три разные вещи. Вот определение, которого держится Hark, какие части приложения построены на собственных фреймворках macOS и единственное место, где используется системный веб-движок, — и почему.
Три значения слова «нативный»
На разных страницах продуктов это слово означает разное. Прежде чем решать, нужен ли вам нативный клиент Gmail, стоит понять, что именно вам предлагают.
Значок в Dock
Приложение — это сайт Gmail, загруженный в копию браузера, которая поставляется вместе с приложением. Вы получаете значок, окно и уведомления, но внутри окна — та же веб-страница, что была во вкладке. Это самое расплывчатое значение — и самое распространённое.
Внешний вид Mac
Интерфейс — тоже веб-страница, но стилизованная под macOS: правильные оттенки серого, боковая панель, панель инструментов. На снимке экрана это может выглядеть убедительно. Но под курсором оно по-прежнему ведёт себя как страница: текст выделяется, когда вы хотели перетащить, меню нарисованы, а не системные, и прежде чем что-то появится, должен запуститься браузерный движок.
Построено на фреймворках платформы
Список — это настоящий список, меню — из строки меню, текстовое поле — системное, с проверкой орфографии и диктовкой, окно — это окно, которое ОС умеет раскладывать, скрывать и восстанавливать. Ничего не нужно запускать, прежде чем приложение сможет рисовать. Именно это значение использует Hark, и остальная часть страницы — о том, что оно охватывает.
Что именно нативно в Hark
- Весь интерфейс. Список писем, боковая панель и ярлыки, панель инструментов, поиск, настройки, сетка календаря и её редактор, панель задач: SwiftUI и AppKit, отрисованные macOS. Светлая и тёмная темы следуют системе или вашему выбору, а цвет акцента выбираете вы.
- Редактор писем. Письма пишутся в настоящем текстовом поле macOS — жирный, курсив и подчёркивание с панели форматирования, системная проверка орфографии, стандартное меню «Правка», ссылки и встроенные изображения, — а не на странице, которая притворяется таким полем.
- Механизм синхронизации. Ядро на Rust работает на вашем Mac, обращается к Gmail, Calendar и Tasks через API Google и ведёт локальную базу данных, так что входящие открываются с диска, а не из сети.
- Всё, что даёт рабочий стол. Центр уведомлений, наклейка в Dock, взгляд на новое из строки меню, отдельные окна для писем, пространства Spaces, ⌘Tab и обновления, которые устанавливаются на месте.
Единственное место, где используется веб-движок, и почему
HTML-письмо — это HTML. Рассылка, чек, приглашение на встречу от коллеги приходят как веб-документы, и единственный способ показать их без искажений — веб-движок. Hark отображает тексты писем с помощью WebKit — движка, который уже входит в macOS и который Apple Mail использует для той же задачи.
Это совсем не то же самое, что встроить браузер. В приложении нет ничего лишнего, ничего не нужно загружать до появления интерфейса, движок обновляет macOS, а не мы, и используется он для документа в области чтения — но никогда для самого приложения вокруг. Когда вы отвечаете, исходное письмо идёт под вашим текстом ровно в том виде, в каком пришло, так что цитируемая цепочка проходит туда и обратно без потерь.
Как ощущается разница
- Открыть — значит открыть. Входящие берутся из локальной базы данных, поэтому они на экране раньше, чем ответит сеть, а уже синхронизированное остаётся доступным для чтения и вовсе без сети.
- Поиск — это поиск Gmail.
from:,has:attachment,is:unread,newer_than:7d— операторы уходят в Google в том виде, в каком вы их ввели, и результаты те же, что дал бы Gmail. Понравившийся поиск можно превратить в фильтр Gmail, который затем работает на стороне Google для всех устройств, где вы читаете почту. - Рабочий стол ведёт себя правильно. Уведомление — это уведомление macOS, и оно молчит, пока Hark на переднем плане. Наклейка в Dock показывает то же число непрочитанных, что и Gmail. ⌘W закрывает именно то окно, которое вы имели в виду. Окно письма может находиться в другом пространстве Spaces.
- Один процесс, занятый одним делом. Под ним нет браузера, делящего память с сорока другими вкладками, и нет второй копии браузера внутри приложения.
Чего «нативный» не значит
- Это не другой Gmail. Ярлыки, фильтры, подпись, автоответчик — всё это ваш Gmail, который читается и записывается через API. Измените что-то в Hark — и это видно в веб-версии; измените в веб-версии — и это видит Hark. Единственное исключение — откладывание писем: Google не открывает его через API, поэтому Hark хранит время возврата на вашем Mac и сам возвращает цепочку.
- Это не независимость от Google. Отправка и всё, что меняет ваш почтовый ящик, требует подключения. А разрешения Google по-прежнему ограничивают, что может Hark: например, удалённое письмо отправляется в корзину, потому что Hark намеренно не запрашивает разрешение на безвозвратное удаление.
- Это не законченный продукт. Hark в бете. К одной установке подключается один аккаунт Gmail, набор клавиш пока невелик (j, k, клавиши со стрелками и Esc), а несколько настроек Gmail, которых нет в API, не выброшены, а показаны ссылками на веб-версию Gmail.
Если вас интересует прежде всего календарь, есть отдельная статья — Gmail и календарь в одном нативном приложении для Mac, — и ещё одна о том, как устроен Hark, чтобы ваша почта никогда не попадала к нам.
Вопросы
Hark — это веб-приложение в обёртке?
Нет. Интерфейс — список писем, боковая панель, панель инструментов, поиск, настройки, сетка календаря, панель задач, редактор писем — построен на собственных фреймворках macOS, и встроенного браузера в приложении нет. Сайт Gmail вообще не загружается.
Использует ли Hark WebKit вообще?
Да, в одном месте: для показа HTML-текста письма с помощью WebKit, который входит в macOS, — того же движка, что использует Apple Mail. Он отвечает за документ, а не за интерфейс, и это не копия браузера внутри приложения.
Значит ли «нативный», что оно работает без сети?
Отчасти. Уже синхронизированное — письма, мероприятия, скачанные вложения — остаётся доступным для чтения без подключения, потому что хранится в локальном кэше на вашем Mac. Для отправки и всего, что меняет ваш почтовый ящик, нужно подключение к Google.
Оно ощущается как Gmail или как почтовое приложение для Mac?
И так и так — намеренно. Идеи взяты у Gmail — цепочки, ярлыки, откладывание, операторы поиска, фильтры, одна корзина, — а окно — это окно Mac: настоящие меню, Центр уведомлений, наклейка в Dock, Spaces, ⌘W. Вид чтения сверен с самим Gmail, чтобы письмо выглядело так, как вы привыкли.
Hark — в бесплатной открытой бете.
macOS 14 или новее на Apple silicon.
Посмотрите на приложение: окно на главной странице — это настоящий интерфейс, и прямо там можно сменить его акцент и тему.