es
Feedback
iOS Dev

iOS Dev

Ir al canal en Telegram

👨‍💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift

Mostrar más
7 880
Suscriptores
-324 horas
-27 días
-5030 días
Archivo de publicaciones
iOS Dev
7 880
Совет по производительности для List+ForEach в SwiftUI Если ваш список лагает, то здесь может помочь параметр -LogForEachSlow
Совет по производительности для List+ForEach в SwiftUI Если ваш список лагает, то здесь может помочь параметр -LogForEachSlowPath (ставим в YES), чтобы SUI логировал ворнинги, как для этой ситуации. 🛠 Можно юзать и напрямую через UserDefaults, пример - вот тут. 😃 iOS Dev

iOS Dev
7 880
Проектирование и создание кастомных лэйаутов в SwiftUI 📖 В официальной документации есть отличный пример с разборами многих инструментов проектирования. 🛠 Например, в этом приложении реализованы кнопки для голосования за определенный тип питомца (а ещё количество голосов и относительный рейтинг в лидерборде). Оно также показывает аватары питомцев, расположенные в соответствии с текущим рейтингом. А ещё там разобраны следующие моменты: ➡️ Принцип работы ViewThatFits (кстати, в канале есть пост) ➡️ Повышение эффективности лэйаута с помощью кэширования ➡️ Анимация переходов между различными лэйаутами 🔗 А ещё в канале можно посмотреть на этот ресурс (в котором наглядно показано, как именно влияют на отображение определённые параметры при создании лэйаута). 😃 iOS Dev

iOS Dev
7 880
Советы по оптимизации скорости и производительности приложений от Apple 📺 Опубликовали видео с прошедшей онлайн-сессии Apple
Советы по оптимизации скорости и производительности приложений от Apple 📺 Опубликовали видео с прошедшей онлайн-сессии Apple, на которой рассказали о нескольких подходах к работе и с Liquid-дизайном, и о том, как использовать некоторые из доступных нам инструментов. 🕔 Про оптимизацию энергопотребления при использовании нового дизайна 🕜 Генерация быстрых ответов с использованием Foundation Models Это мне пригодится. 🕢 Глубокое погружение в перфоманс SwiftUI 🕗 Инструменты производительности в Snap 😃 iOS Dev

iOS Dev
7 880
Кстати, вышел Pluribus - визионерское высказывание Винса Гиллигана, автора шикарных сериалов «Во все тяжкие» и «Лучше звоните Солу». Преамбула сериала заключается в том, что весь мир буквально охвачен счастьем, но главная героиня видит в этом огромную опасность для человечества - это не спойлер, лишь теглайн с imdb/кинопоиска. Хотя главная мысль куда шире и диапазон смыслов подобно лавине накатывает ещё в первой серии. Невозможно не заметить отклик и со стерильными, отточенными движениями каждого из персонажей, которые перекликаются в том числе даже с сессиями WWDC, по крайней мере такая аналогия возникла во время просмотра (ах да, Apple и выступает в качестве платформы стриминга по дефолту). К слову, ещё здесь персонажи соглашаются со всем подобно ИИ-агентам, которые так и наровят сообщить герою: «Да, вы абсолютно правы, съешь ещё этих мягких французских булок, да выпей чаю». В отличие от паразитирующих, повторяющихся клише в каждом из комиксоподобных однотипных поделок, которыми как из рога изобилия посыпали кинотеатры зрителей за скромную плату последние пятнадцать лет, прописанный характер главной героини не стремится понравиться зрителю - у неё свои скелеты в шкафу и свои демоны, которые ведут к неожиданным последствиям. В Pluribus содержится и то, что можно увидеть в течение первых пятнадцати минут. Это латинское слово, означающее из многих. Но ещё это часть более широкой фразы: из многих - единое. И почему это так - можно узнать, посмотрев Pluribus. Думаю, что мысли про параллели с ИИ возникнут у многих, вопрос лишь в том - опыт какого из персонажей окажется ближе лично вам. 😃 iOS Dev

iOS Dev
7 880
Что нового в Swift - новый раздел на swift.org На сайте вышел первый ежемесячный дайджест, в котором рассказывается не только
Что нового в Swift - новый раздел на swift.org На сайте вышел первый ежемесячный дайджест, в котором рассказывается не только о новостях Swift, но также приводятся мнения и точки зрения представителей всего, что так или иначе связано с экосистемой. В октябрьском выпуске освещаются основные моменты конференции Server Side Swift, выпуск основных пакетов и последние пропозалы Swift Evolution. Например, там есть ссылка на интересный доклад Бена Коэна: 📺 Юзабилити и производительность в Swift Бен рассказал о том, как развивается язык и как именно он позволяет достичь максимальной производительности при всех тех изменениях, что происходят. Затронули и InlineArray и Span, и многое другое. 📖 Целиком дайджест можно почитать здесь. 😃 iOS Dev

iOS Dev
7 880
Вышло новое интервью с Крисом Латтнером - от Swift до Mojo Мне понравился момент, когда он сказал буквально следующее:
До Swift я пытался создавать свои пет-проекты на Objective-C, но меня раздражали квадратные скобки и было трудно разобраться с указателями и крашами. Мне даже казалось, что я недостаточно хорош для создания приложений.
Поэтому он создал свой язык программирования! 💪 Вот это я понимаю кардинальное решение проблемы. Красиво, Крис, вопросов нет. 📺 Вообще в интервью много интересных моментов: ➡️ Про компиляторы в начале 2000 ➡️ Почему Крис создал LLVM ➡️ Процесс создания языка программирования ➡️ Swift Playgrounds - как программирование стало более доступным ➡️ Какие проблемы решил Swift и какой технический долг появился ➡️ Недостатки компилятора ➡️ Что можно почерпнуть из изучения компиляторов 📺 А прошлое интервью можно посмотреть здесь. 😃 iOS Dev

iOS Dev
7 880
Небольшой анонс на счёт приложения iOS IQ Я опросил несколько человек на счёт того, что они думают на счёт автогенерации вопросов в будущем - и, конечно же, мнения разделились. Много плюсов, среди которых буквально абсолютный рандом, возможность генерации вопросов на любые темы и в целом возможность отдать управление сложностью алгоритмам эпла. Среди минусов: та же непредсказуемость валидности исходных вопросов, совершенно неочевидно, насколько правильным является ответ и, например - насколько он вообще корректен. Несмотря на это, я все-таки поэкспериментировал вчера с Foundation Models - и думаю, что в каком-то виде (отдельном, с пометкой про AI и то, что вопросы сгенерированы) этот раздел появится. Небольшая демка уже есть на гифке. Если вы хотите получить доступ к ранним версиям в тестфлайте, подпишитесь в ⭐️ в телеграме или 💰 на бусти. Любые идеи и обратная связь приветствуются, например - какой режим лично вы бы хотели увидеть - напишите в сообщения канала или мне в лс.
Напомню, что в ноушне есть множество тем, которые я создавал вручную и это не изменится в будущем: лучше я потрачу несколько часов, но буду уверен в корректности.
🛠 Кстати, недавно появился полезный SPM в качестве замены системному, в котором можно юзать любой кастомный провайдер моделей. 😃 iOS Dev

iOS Dev
7 880
Интеграция функциональности камеры в SwiftUI Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для раб
Интеграция функциональности камеры в SwiftUI Хотя на SwiftUI проще создавать практически любые компоненты интерфейса, для работы с камерой требуются более низкоуровневые возможности AVFoundation. 📖 В этом материале можно посмотреть на пример решения такой задачи. Для этого в примере используется четыре основных компонента: CameraManager, CameraPreview (для бриджа превью-слоя AVFoundation в SwiftUI через UIViewRepresentable), CameraView - для взаимодействия с камерой и PhotoView (для фотогалереи). 😃 iOS Dev

iOS Dev
7 880
Доклады с конференции Swift Connection 2025 В открытом доступе появился список докладов с парижской конференции этого года. С
Доклады с конференции 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 Dev
7 880
🚀 Роадмап по принципу работы тайп-чекера и планов на его улучшение в Swift Наконец-то в одном месте появилось детальное объяснение не только существующих проблем, но и вообще того, как устроен тайп-чекер. 📖 Слава Пестов написал огромный пост о том, что проводится уже сейчас для улучшения проверки типов выражений в компиляторе. Сюда входят изменения, которые уже были реализованы в Swift 6.2, изменения, которые находятся в мэйн-ветке, изменения, над которыми планируется работать в следующем, а также предварительные долгосрочные планы. Речь о том самом: the compiler is unable to type-check this expression in reasonable time (тут можно чекнуть пару подходов). Слава прошёлся и разложил по полочкам несколько важных разделов: ➡️ Про перегрузку (какие вообще варики допускает Swift) ➡️ Решение ограничений (как вообще это реализуется компилятором) ➡️ Алгоритмическая сложность ➡️ Что вообще значит reasonable time ➡️ Недопустимые выражения, режим восстановления и диагностика ➡️ Цели (и не только они) ➡️ Что уже улучшили в Swift 6.2 ➡️ А что планируется в Swift 6.3 ➡️ Будущие улучшения (про оптимизацию биндингов, удаление хаков производительности и многое другое) ➡️ Планы на будущее 😃 iOS Dev

iOS Dev
7 880
Реализация анимации Tap to Cash и эффекта Таноса (SpriteKit + CoreMotion + SwiftUI) Приятные анимации и флоу взаимодействия для пользователя часто будут решающим фактором при выборе вашего приложения среди прочих. Например, одна из самых кайфовых анимаций прошлой оси - это 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: типы, отличия, разбор неочевидных моментов
😃 iOS Dev

iOS Dev
7 880
Apple Dev таймлайн - список всех изменений на WWDC Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пол
Apple Dev таймлайн - список всех изменений на WWDC Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года. ➡️ Посмотреть можно здесь 📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой. 😃 iOS Dev

iOS Dev
7 880
Стоимость разработки Всегда вызывает лёгкую улыбку, когда вижу дискуссии про сокращение/увеличение стоимости разработки. Парадоксально, но чаще об этом пишут или рассказывают на круглых столах с серьёзными лицами ребята со штатом в 100-200 и более разработчиков. Ребят, ваши бюджеты на найм раздуты до размера Гинденбурга. Когда у вас монополия на целую область экономики: будь то банковская сфера или рынок перепродажи б/у товаров, то задумываться о том, повлияет ли ИИ на стоимость разработки, просто смешно.
В Яндексе в среднем за день проходит собеседование 200 кандидатов
- ещё раз, не откликов, не просмотров вакансий, а 200 собеседований - с вовлечением как минимум двоих сотрудников, а скорее всего целой цепочки. О какой экономии вообще речь? ИИ не сократит стоимость разработки - на поддержку будет потрачено кратно больше ресурсов, инженеры по внедрению AI-решений ситуацию должны упростить, но поиск и рабочие места для таких спецов максимум уравновесят чаши весов. Вчера увидел тезис, что бизнес-логику сейчас в основном пишет ИИ, а мобильная разработка проиграла - это выглядит как дешёвый хайп и попытка пиара. Если проводят конфы и говорят, как же хорош BDUI, как мощны его лапищи - хочется напомнить, что вообще-то по гайдам нельзя менять принцип действия фич после проверки в App Store, а за показ другого экрана, не того, что был на ревью - вообще-то должен быть реджект и санкции вплоть до выпила учётки из стора. Понятно, что бизнес должен выкручиваться - и сейчас всё это выглядит именно так даже для людей, далёких от разработки. Кайфово, что придумали концепт c QR-кодами и блютузом для оплаты, но каким же костылём это выглядит по сравнению c NFC-стандартом для Apple Pay. Для меня именно так и выглядит BDUI - не более, чем костыль, просто в масштабах корпораций. Ничто не заменит нативный опыт, всё остальное - самовнушение. Стоимость разработки приложений, да и любых проектов в целом - это только один кубик в пирамиде, достаточно посмотреть, сколько ярусов занимает маркетинг. А тем, кто говорит, как же здорово - что все оптимизируется через ИИ, хочется предложить пообщаться пару раз с чат-ботами в банке или, например, на сервисе по продаже билетов. Когда-нибудь с такими оптимизациями ключ: «позови оператора» уже не поможет. 😃 iOS Dev

iOS Dev
7 880
Трансформация Glass Views с помощью glassEffectID Среди новых API для работы с интерфейсами можно выделить glassEffectID. С его помощью можно реализовать плавный переход вьюх друг в друга (например, сделать из одной кнопки несколько и наоборот). Как обычно, у всего есть условия, например, нам нужно ещё и использовать GlassEffectContainer. 📖 Понятный пример использования есть здесь, а код проект доступен вот тут. А как применять Liquid Glass к кастомным вью - можно чекнуть в официальной документации. 😃 iOS Dev

iOS Dev
7 880
👥 Swift SDK для Android доступен уже сегодня В июне я писал про создание рабочей группы, целью которой стала поддержка Andro
👥 Swift SDK для Android доступен уже сегодня В июне я писал про создание рабочей группы, целью которой стала поддержка Android в качестве официальной поддерживаемой платформы. 📖 Сегодня был объявлен выпуск предварительных версий Swift SDK для Android. Уже есть гайд по запуску кода для андроид-девайсов, репа с примерами, а ещё можно чекать доску со статусом прогресса реализации основных фич. 😃 iOS Dev

iOS Dev
7 880
Новое расширение для фоновой загрузки ресурсов в iOS 26.1 ➡️ В iOS 26.1 в PhotoKit (жаль, конечно, что только в нём, но может
Новое расширение для фоновой загрузки ресурсов в iOS 26.1 ➡️ В iOS 26.1 в PhotoKit (жаль, конечно, что только в нём, но может в будущем будет апдейт) появился новый вид расширений Background Resource Upload. По факту, система сама будет управлять загрузками от имени приложения и обрабатывать их в фоне (даже если юзеры переключатся на другие приложения или, например, заблокируют свои девайсы). Из бонусов: автоматическое управление сетевым подключением, энергосбережением и управление таймингами, чтобы обеспечить надежную обработку. 📖 Пример кода и официальная документация 😃 iOS Dev

iOS Dev
7 880
Как вы считается, начнут ли снижаться зарплаты разработчиков из-за допуска ИИ-инструментов?
Anonymous voting

iOS Dev
7 880
Скидки на базу iOS IQ - пора подписываться? Напомню, что кроме канала у нас есть мощный инструмент, в котором многовекторно р
Скидки на базу iOS IQ - пора подписываться? Напомню, что кроме канала у нас есть мощный инструмент, в котором многовекторно рассматриваются основные аспекты разработки на более детальном уровне (включая код, примеры и полезные темы). 🧠 Что вы получите уже сейчас:
➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы) ➡️Вопросы на чтение кода (несколько уровней: простых, посложнее) ➡️Многопоточность ➡️DispatchQueue: практические вопросы ➡️Swift Concurrency ➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач) ➡️Память: ARC, side table, флаги, утечки ➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS ➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом) ➡️Утечки памяти в Swift: что с ними делать, как предотвратить? ➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов
Это только верхушка айсберга: также вы получите доступ к ранним релизам приложения iOS IQ, тонну теории и многое другое. 🤖 А ещё бонусный режим собесов в моём боте iOS IQ Bot. Подпишитесь сегодня ⭐️ в телеграме или 💰 с приятными условиями на бусти. 😃 iOS Dev

iOS Dev
7 880
Передача данных в SwiftUI: сравнение подходов 📖 Маттео Манфердини делится базой на счёт хранения и передача информации внутр
Передача данных в SwiftUI: сравнение подходов 📖 Маттео Манфердини делится базой на счёт хранения и передача информации внутри приложения. Сравнивается несколько флоу обмена данными, подходов к тому, какими должны бысть свойства (от сессии в 2019 году до варианта от Криса Эйдхова) и многое другое в нескольких больших разделах: ➡️Архитектура приложения и источники правды ➡️Передача данных для View ➡️Создание и управление состоянием ➡️Обход View Tree 🔗 Кстати, чтобы почитать и про фундаментальные способы передачи данных в iOS - можно перейти к этому посту. 😃 iOS Dev

iOS Dev
7 880
Сколько часов в день в среднем у вас занимает написание кода?
Anonymous voting