Найти в Дзене
Отлаживайте Swift как Senior
В этой статье мы обсудим методы отладки, которые используют Senior iOS-разработчики. 1. Выявление логических ошибок на этапе разработки 2. Обогащение отладочных логов контекстной информацией 3. Настройка вывода с помощью CustomDebugStringConvertible 4. Анализ свойств и значений экземпляров во время выполнения 5...
6 часов назад
Встроенный Photo Picker: более удобный способ конфиденциального запроса фотографий и видео в вашем приложении
Embedded Photo Picker — новый компонент Android, который позволяет встраивать выбор фото и видео прямо в интерфейс приложения, не открывая отдельный системный экран. Пользователь видит медиатеку (включая облачные фото, например из Google Photos) внутри приложения, а само приложение получает доступ только к тем файлам, которые были явно выбраны, без запроса широких разрешений. Это заметно улучшает UX и повышает уровень приватности. Компонент уже используется, например, в Google Messages, и доступен через Jetpack Photo Picker — как для Jetpack Compose, так и для классических View...
7 часов назад
Swift открывает рабочую группу по Windows
Как-будто очнулись от спячки - рабочая группа Android, рабочая группа по сборке и упаковке, рабочая группа по тестированию в прошлом году, уже рабочая группа Windows в этом. Основная цель — обеспечить постоянную поддержку Swift на Windows, позволяя пользователям разрабатывать приложения для Windows, используя язык программирования Swift и связанные с ним инструменты. Рабочая группа сосредоточится на работе по: • Улучшению и поддержке поддержки официального дистрибутива...
7 часов назад
VICE - KMP MVI фреймворк
VICE это MVI (Model-View-Intent) фреймворк, который использует UDF (Unidirectional Data Flow) для работы UI. Преимущества VICE: 1. Он соответствует принципам единой ответственности и однонаправленного потока данных, оставаясь при этом простым. 2. Он предоставляет естественный, императивный способ работы с асинхронными данными. 3. Он предоставляет неизменяемый...
8 часов назад
​Ладно, если ИИ вас не пугает, то вот статья про то, что на самом деле означает «агентская разработка» и почему с ней важно менять не
инструменты, а мышление. Речь идёт не о привычном использовании ИИ как умного автодополнения, а о работе с агентом, который сам планирует шаги, пишет код, запускает его и исправляет ошибки. Автор предлагает на старте буквально заставить себя отойти от клавиатуры и позволить агенту делать работу, чтобы понять его логику, сильные и слабые стороны. Он показывает, как начать работу с Claude Code, как формулировать задачи, обсуждать план действий с агентом и направлять его, не скатываясь обратно в ручное программирование...
20 часов назад
Swipe-to-Dismiss в Compose Material 3
Компонент «Закрытие с помощью свайпа» позволяет пользователям закрывать или обновлять элемент, проводя пальцем влево или вправо. Compose Material 3 предлагает простой в использовании компонент, который делает все за нас...
1 день назад
Навыки, которые вы теряете, пока ИИ берет на себя рутинные задачи
Если вы думаете, что если переложите на ИИ муторные и повторяющиеся задачи и станете "более лучшим" разработчиком, то хрен там. Утомительные этапы разработки программного обеспечения никогда не были просто работой. Это было обучение. Написание тестов не подразумевало покрытие всего кода. Это было принуждение себя мыслить как противник: что может пойти не так? какой ввод данных сломает это? Этот инстинкт возник не из чтения о крайних случаях. Он пришел от репрезентативных тестов. Документация выполняла аналогичную функцию, хотя никто так это не формулирует...
1 день назад
Когда данных от Apple недостаточно: собираем метрики производительности UI
Оптимизировать работу UI важно - это напрямую влияет на пользовательский опыт и удержание. Собственные метрики позволяют получить больше информации - метрики позволяют не только находить проблемы, но и подтверждать улучшения после оптимизаций...
1 день назад
Навыки, которые вы теряете, пока ИИ берет на себя рутинные задачи
Концертный пианист не забывает, как играть. Он забывает, как играть хорошо. И он не замечает этого, пока это не становится важным. Вы не потеряете работу из-за ИИ. Но вы можете потерять то, что делало вас мастером своего дела — причем так постепенно, что и не заметите. Пока не поймаете себя на том, что в недоумении смотрите на баг, который раньше щелкали как орешки, на архитектуру, которую не можете объяснить, или на систему, которую больше не понимаете...
1 день назад
Typhoon — легковесная библиотека для повторных попыток выполнения задач
Typhoon — это современный, легковесный фреймворк на Swift, предоставляющий элегантные и надежные политики повторных попыток для асинхронных операций. Созданный на основе модели параллельного выполнения async/await от Swift, он помогает корректно обрабатывать временные сбои с помощью настраиваемых стратегий повторных попыток. Фичи: • Несколько стратегий повторных попыток — постоянная, экспоненциальная и экспоненциальная со сдвигом • Async/Await-совместимый — создан для современной параллельной работы...
1 день назад
Автор статьи рассказывает, как в 16 лет создал Beam Browser — полноценный браузер, ориентированный именно на iPad и сценарии работы с
планшетом как с основным компьютером. Идея проекта родилась из личной боли: стандартные мобильные браузеры не давали ощущения «десктопа», а iPad при этом использовался для учёбы и работы каждый день. Вместо того чтобы мириться с ограничениями, разработчик решил сделать инструмент под себя — с боковой панелью вкладок, рабочими пространствами, командной строкой и поддержкой клавиатурных шорткатов. Самое впечатляющее — результаты. Уже в первые дни после релиза Beam Browser вышел на первое место в категории Productivity в США, собрал сотни загрузок и принёс ощутимый доход, что для нишевого iPad-приложения и соло-разработки звучит более чем достойно...
1 день назад