SwiftUI Charts и динамическое маскирование
Одним из применений для диаграмм является разный стиль для выбранной области и той, которая не отмечена. Часто это можно встретить в банковских или торговых приложениях.
📖 В этой статье автор делится любопытным подходом к реализации таких графиков.
😃 iOS Dev
Одним из применений для диаграмм является разный стиль для выбранной области и той, которая не отмечена. Часто это можно встретить в банковских или торговых приложениях.
📖 В этой статье автор делится любопытным подходом к реализации таких графиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
7 14🤯5🤩5👍3
iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple
📖 В своём блоге Антон собрал суть исходных вопросов и сократил ответы для большей ясности.
Большинство ответов поступило от инженеров или евангелистов Apple.
😃 iOS Dev
📖 В своём блоге Антон собрал суть исходных вопросов и сократил ответы для большей ясности.
Большинство ответов поступило от инженеров или евангелистов Apple.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 13👍3🔥3
⚡️ Apple обязали всех делать поддержку iPhone Duo с апреля 2027 года
Сегодня выкатили обновление App Store, а вместе с тем и добавили строчку про обязательные скриншоты для iPhone Duo.
Видимо, большая корпорация не хочет допустить повторения истории с Vision Pro (у которого нет большой базы приложений в первую очередь из-за стоимости девайса).
📖 Сегодня опубликовали спецификации и требования.
😃 iOS Dev
Сегодня выкатили обновление App Store, а вместе с тем и добавили строчку про обязательные скриншоты для iPhone Duo.
Видимо, большая корпорация не хочет допустить повторения истории с Vision Pro (у которого нет большой базы приложений в первую очередь из-за стоимости девайса).
📖 Сегодня опубликовали спецификации и требования.
Please open Telegram to view this post
VIEW IN TELEGRAM
2😱30⚡10😢9😨8 4👻1
Работа с модальными экранами на iPhone Duo
На iPhone Duo всплывающие окна могут выглядеть совершенно по-разному. В частности, на это влияет то, находится ли устройство в частично сложенном состоянии.
При этом элементы управления могут смещаться в сторону, да и сами окна отодвигаться от места сгиба. В любом случае, нам следует проверить их поведение, даже если мы не добавляли код, специфичный для iPhone Duo.
📖 В этой статье есть несколько советов, которые помогут адаптироваться к грядущим изменениям.
😃 iOS Dev
На iPhone Duo всплывающие окна могут выглядеть совершенно по-разному. В частности, на это влияет то, находится ли устройство в частично сложенном состоянии.
При этом элементы управления могут смещаться в сторону, да и сами окна отодвигаться от места сгиба. В любом случае, нам следует проверить их поведение, даже если мы не добавляли код, специфичный для iPhone Duo.
📖 В этой статье есть несколько советов, которые помогут адаптироваться к грядущим изменениям.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 13✍5👍2🔥2💯1
Продвинутые техники работы с макросами в Swift
Владение макросами позволяет автоматизировать написание бойлерплейт-кода и создавать мощные архитектурные инструменты.
📖 Авторы PointFree объясняют, какие ограничения могут быть при работе с макросами, как создавать более лаконичное апи, а также дают несколько советов, как можно упростить отладку.
😃 iOS Dev
Владение макросами позволяет автоматизировать написание бойлерплейт-кода и создавать мощные архитектурные инструменты.
📖 Авторы PointFree объясняют, какие ограничения могут быть при работе с макросами, как создавать более лаконичное апи, а также дают несколько советов, как можно упростить отладку.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 11🔥3👍2
Итеративная загрузка данных в Swift
Хотя одновременное выполнение десятков асинхронных запросов может показаться самым простым решением, но это не всегда обеспечивает наилучший пользовательский опыт.
Да и вообще, как справиться со сложными элементами интерфейса, для заполнения экрана которых может потребоваться 40–50 асинхронных запросов? Как можно оптимизировать параллельные задачи?
📖 В этой статье автор разбирает важность того, как и когда именно мы предоставляем результаты на примере реального приложения.
😃 iOS Dev
Хотя одновременное выполнение десятков асинхронных запросов может показаться самым простым решением, но это не всегда обеспечивает наилучший пользовательский опыт.
Да и вообще, как справиться со сложными элементами интерфейса, для заполнения экрана которых может потребоваться 40–50 асинхронных запросов? Как можно оптимизировать параллельные задачи?
📖 В этой статье автор разбирает важность того, как и когда именно мы предоставляем результаты на примере реального приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 13✍4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Эффект премиальной банковской карты с помощью SwiftUI и Metal
Такая красота часто встречается в банковских и финтех-приложениях. По краю карты пробегает тонкий луч света, очень похжий на отблеск на металлическом торце (получается эдакая подсветка рамки).
📖 Хотя подобный эффект можно реализовать с помощью градиента и нативной анимации, чаще всего это выглядит не очень здорово.
Но можно использовать алгоритм немного посложнее:
✅ Исходный код уже доступен: ⭐️ здесь или 💰 тут.
😃 iOS Dev
Такая красота часто встречается в банковских и финтех-приложениях. По краю карты пробегает тонкий луч света, очень похжий на отблеск на металлическом торце (получается эдакая подсветка рамки).
📖 Хотя подобный эффект можно реализовать с помощью градиента и нативной анимации, чаще всего это выглядит не очень здорово.
Но можно использовать алгоритм немного посложнее:
1. Сначала с помощью шейдера вырезаем из карты её контур (саму крточку оставляем нетронутой).
2. Потом по карте под углом 45° бежит луч света (хоть это и обычная проекция, но все равно получится настоящий блик)
3. В итоге добавляем эффект вспышки света только там, где проходит рамка, и чуть-чуть мягкий ореол по краю.
В итоге +- 60 строчек метала, и у нас кайфовый и приятный эффект.
Please open Telegram to view this post
VIEW IN TELEGRAM
11 30🤩4❤🔥2👍2💯2😴2🏆1
Тестирование асинхронного кода в Swift
Работа с таким кодом и так может оказаться непростой задачей, а тесты и вовсе требуют особенного подхода.
📖 Автор этой статьи пробует разобраться с возникающими гонками и делится своими советами к тому, чтобы сделать тесты более предсказуемыми.
😃 iOS Dev
Работа с таким кодом и так может оказаться непростой задачей, а тесты и вовсе требуют особенного подхода.
📖 Автор этой статьи пробует разобраться с возникающими гонками и делится своими советами к тому, чтобы сделать тесты более предсказуемыми.
Please open Telegram to view this post
VIEW IN TELEGRAM
7 16👍4🔥3
Для чего нужен Sendable в Swift и как Swift Concurrency нас защищает
Сама концепция Sendable позволяет безопасно передавать данные между потоками, выявляя ошибки параллелизма ещё на этапе написания кода, а не в рантайме.
📖 Например, эта статья подробно объясняет проблему гонки данных и то, как Swift Concurrency решает её на уровне компилятора. Автор наглядно показывает, как появляются непростые для повторения краши, и как можно их не допустить.
😃 iOS Dev
Сама концепция Sendable позволяет безопасно передавать данные между потоками, выявляя ошибки параллелизма ещё на этапе написания кода, а не в рантайме.
📖 Например, эта статья подробно объясняет проблему гонки данных и то, как Swift Concurrency решает её на уровне компилятора. Автор наглядно показывает, как появляются непростые для повторения краши, и как можно их не допустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 20👍6🤝4
🎄11😨6⚡3👍2🔥1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Как выглядят iOS-разработчики, которые поддерживают проект с iOS 15, и тут их попросили добавить поддержку iPhone Duo
😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
😁141🤣28😢10💯5😎3⚡1🔥1👏1🍾1👾1
Определение стоимости перерисовок в SwiftUI с помощью Instruments
Проблемы с производительностью в SwiftUI чаще всего возникают из-за слишком частых или долгих перерисовок экранов.
📖️️ В этой статье автор рекомендует использовать Xcode Instruments со специальным шаблоном.
C его помощью можно отследить, как часто обновляются конкретные View, сколько времени это занимает что именно вызвало перерисовку.
😃 iOS Dev
Проблемы с производительностью в SwiftUI чаще всего возникают из-за слишком частых или долгих перерисовок экранов.
📖️️ В этой статье автор рекомендует использовать Xcode Instruments со специальным шаблоном.
C его помощью можно отследить, как часто обновляются конкретные View, сколько времени это занимает что именно вызвало перерисовку.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍19 10🏆1😨1
Когда нужно использовать View Model в SwiftUI
Карин Пратер считает, что хотя это и мощный инструмент, но добавляет лишний слой абстракции (ещё и дополнительный файл в придачу). И делится мыслями, когда выгода от использования может уступать требуемым затратам на поддержку.
📖️️ В этой статье можно посмотреть на четыре примера от простых к более сложным.
😃 iOS Dev
Карин Пратер считает, что хотя это и мощный инструмент, но добавляет лишний слой абстракции (ещё и дополнительный файл в придачу). И делится мыслями, когда выгода от использования может уступать требуемым затратам на поддержку.
📖️️ В этой статье можно посмотреть на четыре примера от простых к более сложным.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 13✍6👍5😡3❤🔥1🫡1
Подготовка приложения к Duo: что ещё может сломаться
Релиз девайса уже буквально завтра, поэтому продолжаю делиться полезными материалами на счёт адаптации наших приложений.
📖️️ Например, в этой статье разработчица рассказывает о процессе переписывания приложения под Duo в течение нескольких недель с учётом комментариев дизайнеров.
😃 iOS Dev
Релиз девайса уже буквально завтра, поэтому продолжаю делиться полезными материалами на счёт адаптации наших приложений.
📖️️ Например, в этой статье разработчица рассказывает о процессе переписывания приложения под Duo в течение нескольких недель с учётом комментариев дизайнеров.
Please open Telegram to view this post
VIEW IN TELEGRAM
2 22🔥4❤🔥3😨2👻1
Визуальное исследование SwiftUI
Разработчик создал сайт, чтобы наглядно продемонстрировать встроенные возможности SwiftUI в чистом виде.
Есть даже есть отдельный раздел с примерами для iPhone Duo.
Каждый пример показывает, что можно сделать, используя исключительно встроенные компоненты и модификаторы.
📖️️️️ Сайт доступен здесь.
😃 iOS Dev
Разработчик создал сайт, чтобы наглядно продемонстрировать встроенные возможности SwiftUI в чистом виде.
Есть даже есть отдельный раздел с примерами для iPhone Duo.
Каждый пример показывает, что можно сделать, используя исключительно встроенные компоненты и модификаторы.
📖️️️️ Сайт доступен здесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 27✍4👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Управление анимацией SwiftUI с помощью угла поворота на iPhone Duo
В iOS 27.1 появилась новая опция отслеживания изменений наклона для iPhone Duo, и с её помощью можно реализовывать крайне интересные анимации.
📖️️️️ Например, в этом посте показано, как реализовать анимацию цветка, но применение может быть куда шире.
😃 iOS Dev
В iOS 27.1 появилась новая опция отслеживания изменений наклона для iPhone Duo, и с её помощью можно реализовывать крайне интересные анимации.
📖️️️️ Например, в этом посте показано, как реализовать анимацию цветка, но применение может быть куда шире.
Please open Telegram to view this post
VIEW IN TELEGRAM
4 16🤩5👍3😍1👾1
Apple начала помечать изображения, сгенерированные на iPhone, водяными знаками SynthID
📖️️️️️️ В iOS 27.2 появилась поддержка SynthID — технологии Google, которая помечает сгенерированные изображения, чтобы пользователи могли их отличить от настоящих.
Маркировка работает в генераторе Image Playground и в AI‑функциях для редактирования фотографий.
😃 iOS Dev
📖️️️️️️ В iOS 27.2 появилась поддержка SynthID — технологии Google, которая помечает сгенерированные изображения, чтобы пользователи могли их отличить от настоящих.
Маркировка работает в генераторе Image Playground и в AI‑функциях для редактирования фотографий.
Please open Telegram to view this post
VIEW IN TELEGRAM
9 28👍4👌1💯1
Проблемы с Dynamic Island в iOS 27
📖️️️️️️ В статье iOS-разработчик Кристиан Селиг рассказывает об ошибке в iOS 27, из-за которой функция Dynamic Island работает некорректно при отображении некоторых виджетов (Live Activities).
Проблема возникает при использовании системного EmptyView вместе с новым параметром для узких экранов, который добавили специально для нового iPhone Duo и ландшафтного режима.
😃 iOS Dev
📖️️️️️️ В статье iOS-разработчик Кристиан Селиг рассказывает об ошибке в iOS 27, из-за которой функция Dynamic Island работает некорректно при отображении некоторых виджетов (Live Activities).
Проблема возникает при использовании системного EmptyView вместе с новым параметром для узких экранов, который добавили специально для нового iPhone Duo и ландшафтного режима.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 10✍6😢6👍2🔥1