Представляем AdGuard CoreLibs
С самого начала истории AdGuard, каждый год мы делали что-то новое: представляли новые продукты, обновляли старые, добавляли новые функции и так далее. Это привело к тому, что пользователей AdGuard стало значительно больше :). Но, возможно, вы заметили, что в 2018 году мы были не так активны в части выпуска обновлений. Мы даже отложили долгожданную функцию облачной синхронизации. Этому есть уважительная причина, о которой я сейчас расскажу.
Все началось с того момента, когда мы запустили первый продукт AdGuard — AdGuard для Windows. У первенцев есть свои преимущества — это до сих пор самая разработанная и многофункциональная версия AdGuard. Например, приложениям для Mac и Android по-прежнему не хватает функционала расширений и полноценного модуля Антитрекинга. Это наша плата за решение, которое мы приняли несколько лет назад, когда только начинали работать над версиями для Mac и Android. Дело в том, что мы хотели как можно скорее выпустить новые продукты и выбрали самый простой путь — перенести часть существующего кода на другие языки программирования, поддерживаемые этими платформами.
Благодаря этому мы достигли цели, поскольку смогли быстро запустить новые продукты. Однако это привело к серьёзной проблеме в будущем. Каждое изменение движка фильтрации нужно было проводить трижды, то есть отдельно для каждой версии программы. В конце концов мы поняли, что больше так продолжаться не может, и приняли решение покончить с этим раз и навсегда. Более года назад мы начали развивать новый кросс-платформенный движок с кодовым названием "CoreLibs".
Тем не менее, перейти на CoreLibs мгновенно невозможно. Мы будем делать это постепенно, от платформы к платформе, и завершим этот процесс к концу года. К счастью, бОльшая часть работы уже сделана (поэтому я и делюсь с вами информацией о CoreLibs). На данный момент мы собираемся выпустить первую полностью интегрированную версию AdGuard для Android. Отдельное спасибо нашим бета-тестировщикам, которые испытали nightly-сборку, после которой мы исправили самые раздражающие ошибки и почти готовы опубликовать первую бета-версию.
Возможно, вы захотите спросить меня, почему же я так рад этому и отчего отложил рассказ о всех других интересных планируемых обновлениях. Сейчас я всё объясню по порядку.
1. Производительность.
Первые тестирования на Android показали, что новый движок намного быстрее. На выполнение тех же задач он тратит в два раза меньше процессорного времени. На стационарных компьютерах разница почти незаметна, но она будет очевидна владельцам мобильных устройств.
2. Функциональность.
Наконец-то мы сможем дать одинаковые функции каждой платформе. Например, программы AdGuard для Mac и Android получат поддержку пользовательских расширений и модуль Антитрекинга после того, как мы закончим интеграцию AdGuard для Windows. Если захотите, мы также сможем добавить какие-нибудь функции AdGuard для Android на десктопные версии (напишите в комментарии свои пожелания!).
3. Быстрая разработка.
Теперь мы не будем тратить время на разработку одних и тех же функций для каждой из трёх платформ. Мы сможем внедрять новые изменения намного быстрее.
Когда же это случится?
Сначала мы выпустим версию для Android. К концу месяца будет выпущена первая бета-версия, и ещё месяц понадобится на тестирование. Затем мы займёмся AdGuard для Mac, чья бета-версия появится в августе. И, наконец, интегрированная с CoreLibs версия AdGuard для Windows появится к концу осени.