Сколько часов в день в среднем у вас занимает написание кода?
Anonymous Poll
10%
0
5%
1
13%
2
19%
3
25%
4
13%
5
7%
6
9%
7 (и более). Поделитесь, в какой сфере работаете
7 8🍓5🔥4 4💯3👍2😎2
Передача данных в SwiftUI: сравнение подходов
📖 Маттео Манфердини делится базой на счёт хранения и передача информации внутри приложения.
Сравнивается несколько флоу обмена данными, подходов к тому, какими должны бысть свойства (от сессии в 2019 году до варианта от Криса Эйдхова) и многое другое в нескольких больших разделах:
➡️ Архитектура приложения и источники правды
➡️ Передача данных для View
➡️ Создание и управление состоянием
➡️ Обход View Tree
🔗 Кстати, чтобы почитать и про фундаментальные способы передачи данных в iOS - можно перейти к этому посту.
😃 iOS Dev
📖 Маттео Манфердини делится базой на счёт хранения и передача информации внутри приложения.
Сравнивается несколько флоу обмена данными, подходов к тому, какими должны бысть свойства (от сессии в 2019 году до варианта от Криса Эйдхова) и многое другое в нескольких больших разделах:
🔗 Кстати, чтобы почитать и про фундаментальные способы передачи данных в iOS - можно перейти к этому посту.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 16🔥9 6👍3❤🔥2
Скидки на базу iOS IQ - пора подписываться?
Напомню, что кроме канала у нас есть мощный инструмент, в котором многовекторно рассматриваются основные аспекты разработки на более детальном уровне (включая код, примеры и полезные темы).
🧠 Что вы получите уже сейчас:
Это только верхушка айсберга: также вы получите доступ к ранним релизам приложения iOS IQ, тонну теории и многое другое.
🤖 А ещё бонусный режим собесов в моём боте iOS IQ Bot.
Подпишитесь сегодня⭐️ в телеграме или 💰 с приятными условиями на бусти.
😃 iOS Dev
Напомню, что кроме канала у нас есть мощный инструмент, в котором многовекторно рассматриваются основные аспекты разработки на более детальном уровне (включая код, примеры и полезные темы).
➡️ Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)➡️ Вопросы на чтение кода (несколько уровней: простых, посложнее)➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)➡️ Память: ARC, side table, флаги, утечки➡️ Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS➡️ Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)➡️ Утечки памяти в Swift: что с ними делать, как предотвратить?➡️ Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
Это только верхушка айсберга: также вы получите доступ к ранним релизам приложения iOS IQ, тонну теории и многое другое.
Подпишитесь сегодня
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤🔥9 8 5👍3🔥2✍1
Как вы считается, начнут ли снижаться зарплаты разработчиков из-за допуска ИИ-инструментов?
Anonymous Poll
36%
Да
64%
Нет
4 7🤯6✍5💯3 2❤🔥1👍1🔥1🍓1
Новое расширение для фоновой загрузки ресурсов в iOS 26.1
➡️ В iOS 26.1 в PhotoKit (жаль, конечно, что только в нём, но может в будущем будет апдейт) появился новый вид расширений Background Resource Upload.
По факту, система сама будет управлять загрузками от имени приложения и обрабатывать их в фоне (даже если юзеры переключатся на другие приложения или, например, заблокируют свои девайсы).
Из бонусов: автоматическое управление сетевым подключением, энергосбережением и управление таймингами, чтобы обеспечить надежную обработку.
📖 Пример кода и официальная документация
😃 iOS Dev
По факту, система сама будет управлять загрузками от имени приложения и обрабатывать их в фоне (даже если юзеры переключатся на другие приложения или, например, заблокируют свои девайсы).
Из бонусов: автоматическое управление сетевым подключением, энергосбережением и управление таймингами, чтобы обеспечить надежную обработку.
📖 Пример кода и официальная документация
Please open Telegram to view this post
VIEW IN TELEGRAM
11 20👍11 6🔥5✍3❤🔥1💯1
В июне я писал про создание рабочей группы, целью которой стала поддержка Android в качестве официальной поддерживаемой платформы.
📖 Сегодня был объявлен выпуск предварительных версий Swift SDK для Android.
Уже есть гайд по запуску кода для андроид-девайсов, репа с примерами, а ещё можно чекать доску со статусом прогресса реализации основных фич.
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥47🤯11 10👍5 3
This media is not supported in your browser
VIEW IN TELEGRAM
Трансформация Glass Views с помощью glassEffectID
Среди новых API для работы с интерфейсами можно выделить glassEffectID.
С его помощью можно реализовать плавный переход вьюх друг в друга (например, сделать из одной кнопки несколько и наоборот).
Как обычно, у всего есть условия, например, нам нужно ещё и использовать GlassEffectContainer.
📖 Понятный пример использования есть здесь, а код проект доступен вот тут.
А как применять Liquid Glass к кастомным вью - можно чекнуть в официальной документации.
😃 iOS Dev
Среди новых API для работы с интерфейсами можно выделить glassEffectID.
С его помощью можно реализовать плавный переход вьюх друг в друга (например, сделать из одной кнопки несколько и наоборот).
Как обычно, у всего есть условия, например, нам нужно ещё и использовать GlassEffectContainer.
📖 Понятный пример использования есть здесь, а код проект доступен вот тут.
А как применять Liquid Glass к кастомным вью - можно чекнуть в официальной документации.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 22🔥10 8💯3❤🔥2👍2✍1
Стоимость разработки
Всегда вызывает лёгкую улыбку, когда вижу дискуссии про сокращение/увеличение стоимости разработки.
Парадоксально, но чаще об этом пишут или рассказывают на круглых столах с серьёзными лицами ребята со штатом в 100-200 и более разработчиков.
Ребят, ваши бюджеты на найм раздуты до размера Гинденбурга.
Когда у вас монополия на целую область экономики: будь то банковская сфера или рынок перепродажи б/у товаров, то задумываться о том, повлияет ли ИИ на стоимость разработки, просто смешно.
- ещё раз, не откликов, не просмотров вакансий, а 200 собеседований - с вовлечением как минимум двоих сотрудников, а скорее всего целой цепочки.
О какой экономии вообще речь?
ИИ не сократит стоимость разработки - на поддержку будет потрачено кратно больше ресурсов, инженеры по внедрению AI-решений ситуацию должны упростить, но поиск и рабочие места для таких спецов максимум уравновесят чаши весов.
Вчера увидел тезис, что бизнес-логику сейчас в основном пишет ИИ, а мобильная разработка проиграла - это выглядит как дешёвый хайп и попытка пиара.
Если проводят конфы и говорят, как же хорош BDUI,как мощны его лапищи - хочется напомнить, что вообще-то по гайдам нельзя менять принцип действия фич после проверки в App Store, а за показ другого экрана, не того, что был на ревью - вообще-то должен быть реджект и санкции вплоть до выпила учётки из стора.
Понятно, что бизнес должен выкручиваться - и сейчас всё это выглядит именно так даже для людей, далёких от разработки.
Кайфово, что придумали концепт c QR-кодами и блютузом для оплаты, но каким же костылём это выглядит по сравнению c NFC-стандартом для Apple Pay.
Для меня именно так и выглядит BDUI - не более, чем костыль, просто в масштабах корпораций.
Ничто не заменит нативный опыт, всё остальное - самовнушение.
Стоимость разработки приложений, да и любых проектов в целом - это только один кубик в пирамиде, достаточно посмотреть, сколько ярусов занимает маркетинг.
А тем, кто говорит, как же здорово - что все оптимизируется через ИИ, хочется предложить пообщаться пару раз с чат-ботами в банке или, например, на сервисе по продаже билетов.
Когда-нибудь с такими оптимизациями ключ: «позови оператора» уже не поможет.
😃 iOS Dev
Всегда вызывает лёгкую улыбку, когда вижу дискуссии про сокращение/увеличение стоимости разработки.
Парадоксально, но чаще об этом пишут или рассказывают на круглых столах с серьёзными лицами ребята со штатом в 100-200 и более разработчиков.
Ребят, ваши бюджеты на найм раздуты до размера Гинденбурга.
Когда у вас монополия на целую область экономики: будь то банковская сфера или рынок перепродажи б/у товаров, то задумываться о том, повлияет ли ИИ на стоимость разработки, просто смешно.
В Яндексе в среднем за день проходит собеседование 200 кандидатов
- ещё раз, не откликов, не просмотров вакансий, а 200 собеседований - с вовлечением как минимум двоих сотрудников, а скорее всего целой цепочки.
О какой экономии вообще речь?
ИИ не сократит стоимость разработки - на поддержку будет потрачено кратно больше ресурсов, инженеры по внедрению AI-решений ситуацию должны упростить, но поиск и рабочие места для таких спецов максимум уравновесят чаши весов.
Вчера увидел тезис, что бизнес-логику сейчас в основном пишет ИИ, а мобильная разработка проиграла - это выглядит как дешёвый хайп и попытка пиара.
Если проводят конфы и говорят, как же хорош BDUI,
Понятно, что бизнес должен выкручиваться - и сейчас всё это выглядит именно так даже для людей, далёких от разработки.
Кайфово, что придумали концепт c QR-кодами и блютузом для оплаты, но каким же костылём это выглядит по сравнению c NFC-стандартом для Apple Pay.
Для меня именно так и выглядит BDUI - не более, чем костыль, просто в масштабах корпораций.
Ничто не заменит нативный опыт, всё остальное - самовнушение.
Стоимость разработки приложений, да и любых проектов в целом - это только один кубик в пирамиде, достаточно посмотреть, сколько ярусов занимает маркетинг.
А тем, кто говорит, как же здорово - что все оптимизируется через ИИ, хочется предложить пообщаться пару раз с чат-ботами в банке или, например, на сервисе по продаже билетов.
Когда-нибудь с такими оптимизациями ключ: «позови оператора» уже не поможет.
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤🔥48💯35🍓13👏6 5 5👍4🔥3⚡1
Apple Dev таймлайн - список всех изменений на WWDC
Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года.
➡️ Посмотреть можно здесь
📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой.
😃 iOS Dev
Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года.
📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой.
Please open Telegram to view this post
VIEW IN TELEGRAM
5 22🔥10✍8👍4 2👏1💯1🍓1
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация анимации Tap to Cash и эффекта Таноса (SpriteKit + CoreMotion + SwiftUI)
Приятные анимации и флоу взаимодействия для пользователя часто будут решающим фактором при выборе вашего приложения среди прочих.
Например, одна из самых кайфовых анимаций прошлой оси - это tap to cash.
Её можно реализовать и на Metal, и на SpriteKit.
В этот раз решил пойти вторым путём. Для этого можно юзать эффект турбулентности с помощью turbulenceField. В отличие от аналогичного с шумом наша сила будет пропорциональна скорости объекта внутри нашего поля.
Для того, чтобы создать эффект завихрения можно юзать любую интервальную функцию (в своём решении я запилил несложный аналог осциллограммы через
Для оптимизации распадающихся цифр (вообще тут тоже можно юзать любое вью/картинку и так далее) можно чекнуть массив пикселей (пригодится CGContext, можно почитать тут) из нашей картинки с определённым шагом для производительности (если идти по каждому, можно словить нефиговые лаги) и использовал эти позиции для формирования наших частиц. А на фоне просто-напросто дополнительный SKEmitterNode.
Ещё прикрутил реакцию на наклон девайса из стороны в сторону и вверх-вниз для небольшого эффекта смещения.
📖 А для трансформа кнопок добавил немного фич из новой 26 оси (в этом посте писал подробнее).
Весь код и рабочий пример по традиции уже доступен в закрытой базе:
Можно подписаться в⭐️ в телеграме или 💰 с приятными условиями на бусти.
😃 iOS Dev
Приятные анимации и флоу взаимодействия для пользователя часто будут решающим фактором при выборе вашего приложения среди прочих.
Например, одна из самых кайфовых анимаций прошлой оси - это tap to cash.
Её можно реализовать и на Metal, и на SpriteKit.
В этот раз решил пойти вторым путём. Для этого можно юзать эффект турбулентности с помощью turbulenceField. В отличие от аналогичного с шумом наша сила будет пропорциональна скорости объекта внутри нашего поля.
Для того, чтобы создать эффект завихрения можно юзать любую интервальную функцию (в своём решении я запилил несложный аналог осциллограммы через
sin(currentTime * EmitterConstants.oscillationMultiplier).Для оптимизации распадающихся цифр (вообще тут тоже можно юзать любое вью/картинку и так далее) можно чекнуть массив пикселей (пригодится CGContext, можно почитать тут) из нашей картинки с определённым шагом для производительности (если идти по каждому, можно словить нефиговые лаги) и использовал эти позиции для формирования наших частиц. А на фоне просто-напросто дополнительный SKEmitterNode.
Ещё прикрутил реакцию на наклон девайса из стороны в сторону и вверх-вниз для небольшого эффекта смещения.
📖 А для трансформа кнопок добавил немного фич из новой 26 оси (в этом посте писал подробнее).
Весь код и рабочий пример по традиции уже доступен в закрытой базе:
Можно подписаться в
🧠 Что вы получите уже сейчас:➡️ Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)➡️ Вопросы на чтение кода (несколько уровней: простых, посложнее)➡️ Многопоточность➡️ DispatchQueue: практические вопросы➡️ Swift Concurrency➡️ Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)➡️ Память: ARC, side table, флаги, утечки➡️ Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS➡️ Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)➡️ Утечки памяти в Swift: что с ними делать, как предотвратить?➡️ Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥37 10🤯8 4⚡2👍2🤩1
🚀 Роадмап по принципу работы тайп-чекера и планов на его улучшение в Swift
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
Слава прошёлся и разложил по полочкам несколько важных разделов:
➡️ Про перегрузку (какие вообще варики допускает Swift)
➡️ Решение ограничений (как вообще это реализуется компилятором)
➡️ Алгоритмическая сложность
➡️ Что вообще значит reasonable time
➡️ Недопустимые выражения, режим восстановления и диагностика
➡️ Цели (и не только они)
➡️ Что уже улучшили в Swift 6.2
➡️ А что планируется в Swift 6.3
➡️ Будущие улучшения (про оптимизацию биндингов, удаление хаков производительности и многое другое)
➡️ Планы на будущее
😃 iOS Dev
Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер.
📖 В официальной документации появился огромный пост (за авторством Славы Пестова) о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе.
Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы.
Речь о том самом:
the compiler is unable to type-check this expression in reasonable time (тут можно чекнуть пару подходов).Слава прошёлся и разложил по полочкам несколько важных разделов:
Please open Telegram to view this post
VIEW IN TELEGRAM
7 15🔥7✍6💯4👍3 2❤🔥1👏1
Доклады с конференции Swift Connection 2025
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
➡️ Большая подборка докладов с других конференций в этом посте.
😃 iOS Dev
В открытом доступе появился список докладов с парижской конференции этого года.
Среди наиболее любопытных:
📺 Что на самом деле происходит с вашим iOS-приложением во время компиляции
В этой сессии разбирают файлы .xcarchive и .ipa, чтобы показать на примерах, что Xcode делает с исходным кодом. Рассказывают и о процессе компиляции, Mach‑O, Info.plist, метаданных Obj-C/Swift и много другом.
📺 Улучшенная обработка ошибок в Swift: от Obj-C Legacy к Swift 6
Докладчик рассказывает, почему даже LocalizedError не всегда надежён, и как выглядит по-настоящему нативная обработка ошибок в Swift.
📺 Удивительный мир приватных API
В этом докладе рассказывается не только о том, как они работают, но и то, как их, например, искать и применять в Objective-C (и пытаться использовать в Swift).
📺 Создание приложений для iOS без Xcode, с использованием Cursor+Claude
В лекции можно узнать больше про Cursor, Claude Code и настроить свой проект для сборки за пределами Xcode.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 14 7🔥6✍4👍3❤🔥2💯2👏1
Интеграция функциональности камеры в SwiftUI
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
😃 iOS Dev
Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation.
📖 В этом материале можно посмотреть на пример решения такой задачи.
Для этого в примере используется четыре основных компонента:
CameraManager, CameraPreview (для бриджа превью-слоя AVFoundation в SwiftUI через UIViewRepresentable), CameraView - для взаимодействия с камерой и PhotoView (для фотогалереи).В комментариях ниже указали на недостатки этого примера.
И справедливое уточнение, что у Apple также есть хороший пример настройки в официальной документации (кстати, они там показывают пример использования и LockedCameraCapture).
Please open Telegram to view this post
VIEW IN TELEGRAM
8 14👍7🔥5❤🔥3 2✍1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой анонс на счёт приложения iOS IQ
Я опросил несколько человек на счёт того, что они думают на счёт автогенерации вопросов в будущем - и, конечно же, мнения разделились.
Много плюсов, среди которых буквально абсолютный рандом, возможность генерации вопросов на любые темы и в целом возможность отдать управление сложностью алгоритмам эпла.
Среди минусов: та же непредсказуемость валидности исходных вопросов, совершенно неочевидно, насколько правильным является ответ и, например - насколько он вообще корректен.
Несмотря на это, я все-таки поэкспериментировал вчера с Foundation Models - и думаю, что в каком-то виде (отдельном, с пометкой про AI и то, что вопросы сгенерированы) этот раздел появится.
Небольшая демка уже есть на гифке.
Если вы хотите получить доступ к ранним версиям в тестфлайте, подпишитесь в⭐️ в телеграме или 💰 на бусти.
Любые идеи и обратная связь приветствуются, например - какой режим лично вы бы хотели увидеть - напишите в сообщения канала или мне в лс.
🛠 Кстати, недавно появился полезный SPM в качестве замены системному, в котором можно юзать любой кастомный провайдер моделей.
😃 iOS Dev
Я опросил несколько человек на счёт того, что они думают на счёт автогенерации вопросов в будущем - и, конечно же, мнения разделились.
Много плюсов, среди которых буквально абсолютный рандом, возможность генерации вопросов на любые темы и в целом возможность отдать управление сложностью алгоритмам эпла.
Среди минусов: та же непредсказуемость валидности исходных вопросов, совершенно неочевидно, насколько правильным является ответ и, например - насколько он вообще корректен.
Несмотря на это, я все-таки поэкспериментировал вчера с Foundation Models - и думаю, что в каком-то виде (отдельном, с пометкой про AI и то, что вопросы сгенерированы) этот раздел появится.
Небольшая демка уже есть на гифке.
Если вы хотите получить доступ к ранним версиям в тестфлайте, подпишитесь в
Любые идеи и обратная связь приветствуются, например - какой режим лично вы бы хотели увидеть - напишите в сообщения канала или мне в лс.
Напомню, что в ноушне есть множество тем, которые я создавал вручную и это не изменится в будущем: лучше я потрачу несколько часов, но буду уверен в корректности.
🛠 Кстати, недавно появился полезный SPM в качестве замены системному, в котором можно юзать любой кастомный провайдер моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
21 11🔥6❤🔥3🍓2👍1🏆1🤝1😎1