Найти в Дзене
Как энергосбережение на Android мешало Seamless-авторизации
Недавно, внедряя в приложение новую фичу, мы столкнулись с тем, что она в упор отказывалась работать – но только на Android. Мы дебажили ее полторы недели, перепробовали все возможные варианты и закошмарили всех доступных операторов связи, прежде чем узнали, что все дело было… в энергосбережении...
43 минуты назад
Apple Shipkit - готовая инфраструктура релизной инженерии для публикации приложений
Apple Shipkit - инструмент для выпуска релизов приложений для iOS и macOS. Подписание кода, CI через GitHub Actions для запросов на слияние, новые сертификаты для каждого релиза CI, загрузка в TestFlight, отправка в App Store — всё это уже настроено. Не зависит от UI-фреймворка, сетевого стека или уровня хранения данных. Впервые выпускаете приложение для iOS или Mac? Начните с docs/GETTING-STARTED.md — все необходимые условия, все действия Apple, 30–60 минут до первой сборки TestFlight...
1 час назад
​Сегодня день новых моделей
У Anthropic вышел Claude Sonnet 5 — более мощная агенская версия модели среднего размера. Она может планировать, использовать такие инструменты, как браузеры и терминалы, и работать автономно на уровне, который еще несколько месяцев назад требовал более крупных и дорогих моделей, пишут авторы. Они же заявляют, что Sonnet 5 обещает производительность, близкую к Opus 4.8, но по гораздо более низкой цене. Впрочем, злые языки протестуют и талдычат, что она дороже Opus 4.8 на 15% и что это вообще одна из самых дорогих моделей, уступая в цене только Fable 5. Начиная со вторника, Claude Sonnet 5 станет моделью по умолчанию для бесплатных и Pro-планов и будет доступен для всех подписчиков...
14 часов назад
Apple Container уже здесь, и он изменит ваш подход к iOS-разработке
Вы уже несколько лет пишете на Swift. Вы досконально знаете Xcode. Но в экосистеме Apple появился новый инструмент, который большинство разработчиков игнорируют — и те, кто очнётся раньше, будут создавать приложения быстрее, выпускать более чистые версии и отлаживать код эффективнее, чем все остальные. Apple Container — это не просто новый фреймворк. Это значительный...
1 день назад
XCUI, Tests & Robots
Разбираем нативную автоматизацию iOS на винтики. Часть 1 В прошлых статьях мы разобрались, как искать логи и креш‑отчёты на iOS‑устройствах — и делали это вручную. Этот навык остаётся базовым на проекте любого размера: без него невозможно понять причину сбоя. Но есть и вторая часть работы — сами проверки, то есть прогон пользовательских сценариев. Пока приложение небольшое, их можно прокликивать руками. По мере роста проекта количество однотипных проверок увеличивается, и повторять их вручную перед каждым релизом становится всё дороже. Возникает логичный вопрос: можно ли автоматизировать именно...
1 день назад
После Swift Package Index у Apple вторая покупка - компания Rabbit 3 Times, которая делала приложение Play: Create Better Apps
Это нечто среднее между Shortcuts и Xcode, бесплатный конструктор, позволявший разработчикам быстро создавать макеты и сразу видеть, как они будут выглядеть в использовании. Затем разработчики могли экспортировать проекты Play в Xcode через платный сервис. Инструмент разработки получил награду Apple Design Award за инновации в июне 2025 года. Правда, сейчас его отовсюду удалили и, похоже, это такое acquihire, в котором Apple избавится от всех ненужных ресурсов. С другой стороны, возможно наработки...
1 день назад
Внедрение Gemini Nano в реальное приложение: ограничения, о которых никто не предупреждает
Я выпустил Android-приложение, ежедневные аналитические данные которого формируются Gemini Nano, работающим полностью на телефоне — без облака, без подсказок и вывода данных за пределы устройства. В документации интеграция казалась тривиальной. В производственной среде возникли три сложных момента, которые изменили мою архитектуру...
2 дня назад
Лента роликов на iOS: опыт работы с AVPlayer
В T-Инвестициях на iOS лента коротких роликов — это 90% трафика, именно ее оптимизации мы уделяем больше всего внимания. В первой версии пользователи могли ждать старта видео больше 15 секунд. Мы разобрались в ограничениях AVPlayer, оптимизировали буферизацию и снизили задержки на 12% в хвосте распределения...
2 дня назад
BlazeDB - нативная для Swift встраиваемая база данных для локального хранения данных
BlazeDB - встраиваемая зашифрованная однопроцессная документная база данных для Swift с ACID-транзакциями, восстановлением после сбоев на основе журнала предзаписи и шифрованием AES-256-GCM при хранении. Для каждой базы данных создаётся отдельный зашифрованный файл...
2 дня назад
Интересное продолжение подкаста "Найм в эпоху AI" - разработчик описал свое собеседование, которое проводил ИИ
Собеседование состояло из двух этапов: разговора с искусственным интеллектом и практического задания по программированию. В целом, самое запоминающееся для автора то, что он не волновался - "ни учащённого сердцебиения, ни постоянного анализа каждой сказанной фразы, ни привычного неприятного напряжения, которое обычно сопровождает собеседования". Я чувствовал себя спокойно. На меня ничего не давило. Я отвечал уверенно и, пожалуй, вёл себя естественнее, чем обычно во время собеседований. Мне потребовалось некоторое время, чтобы понять причину...
2 дня назад
Copy-on-Write в Swift: подготовка к собеседованию
За годы я сидел по обе стороны стола: и как кандидат, и как собеседующий — в том числе на позиции в крупные продуктовые компании. И именно Copy-on-Write раз за разом оказывался той темой, на которой видно разницу между «слышал слово» и «понимаю механизм». Тема звучит обманчиво просто — «копируем только при записи», — но крупняк любит докапываться до формулировок: не «массив копируется по значению», а когда именно копируется буфер, что проверяется перед записью, почему у функции проверки именно такая сигнатура. Один неаккуратный оборот — и за него тут же цепляются уточняющим вопросом. Сразу скажу...
3 дня назад