creator cover iOS Dev IQ
iOS Dev IQ

iOS Dev IQ 

Алгоритмы, код, UI, разбор сложных тем

395subscribers

92posts

Showcase

3

About

Здесь вы увидите уникальные подборки, разбор кода и сложные термины простым и понятным языком.

Что вас ждёт внутри?

🏅Подборки лучших материалов для подготовки.
🧠 Непростые темы с собеседований (задачи, разбор полётов).
👨‍💻 Личная эффективность (советы, мысли, опыт).
🔨 Код. Правила и необычные подходы.
📓 Алгоритмическая секция (если вы хотите узнать, что такое мемоизация или разобраться, наконец, с поиском в ширину).
🏄 Реализация эффектов (от анимации Wallet до эффектов в приложении Messages или NameDrop).
🔝Моя кастомная подборка полезных библиотек.
🤖 Премиум-возможности в боте @iOSIQBot
Я Виктор Грушевский — автор канала iOS Dev, iOS-разработчик с 2011 года (примерно тогда был переход с iOS 4 на iOS 5).
Возможно, вы могли читать мои статьи на хабре или знать по вот этим пунктам:
На протяжении своего пути мне всегда нравилось создавать приложения, настраивать анимации, проектировать архитектуру и искать неочевидные пути выхода из сложных технических ситуаций.
Эти стремления отразились и в моём аккаунте разработчика, и в контестах.
Я никогда не считал алгоритмы лишними в разработке, улучшение скорости работы вашего приложения на 3 секунды сэкономит несколько тысяч часов, если им пользуются миллионы.

Здесь вы получите приоритетный доступ к новейшим материалам про разработку (и UIKit, и SwiftUI), узнаете, как создавать необычные анимации, и увидите плюсы (и минусы) разных архитектур.

Канал с материалами: https://t.me/iosdev
Сайт: https://iosiq.ru
Бот для подготовки: @iOSIQBot
Приложение: iOS IQ

Доступ к Notion есть на уровнях: Мастер • Архитектор
Спасибо вам за вашу поддержку!
_______________________

ℹ️ Внимание, после подписки проверьте ваши личные сообщения здесь, на бусти.

Крутая заставка по мотивам Hail Mary для MacOS на Metal+SwiftUI

Мне давно хотелось посмотреть что под капотом вот этих заставок, которые 100% видел каждый.
Как оказалось, есть специальный таргет в оси, который до сих пор генерит h+m файлы по дефолту (хотя и без проблем эту шляпу можно дропнуть и впилить нормальный код на Swift).
Я даже нашел какой-то древний репозиторий, в котором кто-то сделал ту самую заставку с dvd (а вот тут есть более свежий вариант).
Пришлось побороться с передачей нашей вьюхи с шейдером, но в итоге все оказалось проще, а ещё кстати можно даже прокидывать возможность менять настройки наружу для юзера.
Creator has disabled comments for this post.

Анимация принтера в 30 строчек кода

Глупо отрицать, что многие непростые вещи сейчас можно сделать буквально за считанные минуты. 
Например, на гифке один из эффектов в моём пет-проекте. Под капотом UIBezierPath, а значит, эффект можно полностью кастомизировать отображение как угодно.
Код целиком (включая анимацию выезжающего листа) уже доступен в Notion.

Виды кэширования в iOS: плюсы и минусы, стратегии обновления и интересные задачи

Я постарался собрать самые популярные подходы к реализации и рассмотрел их плюсы и минусы по важным параметрам: производительности, надёжности и стоимости + сложности реализации (тут и про трафик, и про стратегию обновления в целом). 
От того, что именно мы планируем кэшить, будет и зависеть выбранный: ответ сети, изображения, модели, резы вычислений, где хранить (память, диск, БД) и как управлять инвалидацией.
Про концепты работы с кэшированием можно посмотреть и на GitHub: тут и вот здесь (уверен, что многие сталкивались  и использовали это решение).
А ещё разобрал несколько популярных паттернов для реализации этой задачи.
Про TTL, версионирование и как лучше всего поступить при логауте - тоже есть.
Кстати, разобрался немного с mermaid-диаграммами, так что теперь будет больше красивых схем).
Знаю, что многие спрашивают это и в рамках секции по систем-дизайну, так что красивое и доступное структурирование никогда не помешает.
Реализация эффекта InvisibleInk из iMessage на SwiftUI + Metal
Level required:
Мастер

3D-диаграммы в iOS 26 в 3 строчки кода

В 26 оси появилась крутая история с возможностью добавить 3D-диаграммы буквально в пару строк (можно юзать SurfacePlot или 3D-инициализаторы для PointMark, RuleMark, и RectangleMark).
Например, можно сделать так:
Chart3D {
    SurfacePlot(x: "x", y: "y", z: "z") { x, z in
        sin(2 * x) * cos(2 * z)
    }
}

Изучение жестов в SwiftUI + Приложение


Жесты позволяют создавать живые, отзывчивые и понятные каждому интерфейсы. Простые добавить несложно, но вот в комбинациях запутаться довольно просто. Важно понимать не только как они работают в связке, но и какие подводные камни возможны при поворотах или свайпах.
Я написал большую статью с примерами, которую структурировал на несколько важных разделов, с которых рекомендовал бы начать знакомиться с системой жестов не только новичкам, но и тем, у кого возникают сложности при их адаптации:
🔘 Основы работы с жестами (от простых нажатия и удержания до поворотов и перетаскивания).
🔘 Комбинации: перетаскивание и масштабирование, вращение и перемещение.
🔘 Последовательности жестов, расстановка приоритетов.

Создаём музыку бесплатно: как я упаковал MusicGen в нативное приложение для MacOS (Swift + Python и щепотка шейдеров)

Вчера холодным зимним вечером смотрел ролик на ютубе, услышал ненавязчивую музыку и вспомнил про опрос в нашем канале.
Стало интересно, можно ли создать собственный генератор без регистрации и смс без подписок, и короткий ответ - да, можно.
Простой рецепт, из которого можно создать более-менее приемлемый вариант:
Движок - Python + Apple MLX (кстати, сначала пробовал без этого и очевидно упёрся в проблему использования GPU на Apple Silicon).
В качестве модели заттачил MusicGen Small (можно потяжелее).
Обёртку запилил на SwiftUI и добавил немного красоты для фона.
Классный пост, очень прикольно получилось. Заметил пару моментов: не распаковывается all_scripts.zip и после "Но если вам лень и вы хотите просто посмотреть, как работает проект, тут есть секретная ссылка:" пусто
Игорь Клюжев, проверил ещё раз, архив со скриптами корректно распаковывается) Можешь в лс здесь на бусти прислать скриншот ошибки, если она есть - как у тебя выглядит?

Продвинутые графики на SwiftUI без сторонних фреймворков (+ зум и анимации)

Удобная и приятная анимация всё ещё важны при прочих равных параметрах. Графики имеют решающие значения в инвестиционных продуктах и биржах, в частности. 
Например, когда-то Telegram проводил один из самых сложных конкурсов (c бюджетом овер $ 100 000), в которых соревновались за производительность десятки и сотни разработчиков.
Но то в прошлом, и сейчас уже даже в iOS из-под капота можно достать сколь-нибудь приемлемые и легкие в настройке опции. 
Я постарался объединить лучшее из того, что сейчас доступно из коробки iOS и описать на примере, как можно реализовать подобное в течение пары часов, если знать, куда двигаться.

Эффект Liquid Glass + отражения на Metal за 20 строчек кода

📰 В новый год - с новыми эффектами, как говорится)
Попробовал посмотреть на реализацию под другим углом (буквально) и запилить альтернативное решение. 
Для этого по классике подошёл с уже привычным инструментом, попробовал закастомить pull-to-refresh с помощью своего решения в одном из секретных проектов.
Без учёта сигнатуры сам метод занял всего 20 строчек кода.
✅ Код всех реализаций есть в ноушне.

Фундаментальные знания - главный тренд 2026 года

Недавно более половины нашего канала проголосовала за то, что высшее образование в контексте необходимости для iOS-разработчика уже не столь важная веха.
Несмотря на это, наличие диплома по крайней мере показатель того, что человек может выполнить проект:
а) долгосрочный
б) монотонный
в) сложный
Наличие диплома несколько лет назад считалось одним из базовых айтемов в инвентаре специалиста, с помощью которого он мог подтвердить свою ценность, например, в Европе (и тем самым получить оффер на работу).
Сейчас есть альтернативы в виде цитируемости/публичности/подкрепления с помощью отзывов именитых персон в индустрии и/или побед в международных конкурсах (говорю в том числе о визе талантов, так называемой O1). Если у кого-то есть успешные кейсы получения, поделитесь - что было самым весомым из этого списка.
Мы уже пару лет идём в ногу с развитием индустрии в плане внедрения всякого рода помощников - к чему это приведёт (окажется ли это пузырём), пока неизвестно. 
Но пока совершенно ясно следующее:
Без понимания того, что происходит внутри, без осознания того, что это лишь инструмент, а не серебряная пуля, разработка будет походить на копипаст с 1000 попыток. 
Но ИИ, который выдают публично, не учится, это не джун, которого вы можете прокачать/заменторить/заменить какие-то позиции. Обучают модели, а генеративные инструменты - что очевидно, генерируют ответы.
Subscription levels3

Мастер

$13.3 per month
• Ранний доступ к приложению-компаньону
• Доступ к закрытому чату в iOS Dev
 с самыми важными постами.
• Доступ ко всем постам на бусти сразу же.
• Доступ к другим ресурсам в будущем одним из первых.
• Доступ к notion и всем материалам.
+ chat

Архитектор

$26.5 per month
• Ранний доступ к приложению-компаньону
• Доступ к закрытому чату в iOS Dev
 с самыми важными постами.
• Доступ ко всем постам на бусти сразу же.
• Доступ к другим ресурсам в будущем одним из первых.
Возможность предлагать свои темы.
• Возможность комментирования материалов в notion.
+ chat

Инженер

$80 per month
Подписка для тех, кто готов поддержать развитие канала по максимуму, так как считает это правильным. 

Преимущества содержат все то, что на предыдущих уровнях.

Но с возможностью доступа в будущем к эксклюзивам.

• Ранний доступ к приложению-компаньону
• Доступ к закрытому чату в iOS Dev с самыми важными постами.
• Доступ ко всем постам на бусти сразу же.
• Доступ к другим ресурсам в будущем одним из первых.
• Возможность комментирования материалов в notion.
+ chat
Go up