iOS Dev
7.88K subscribers
1.06K photos
102 videos
1 file
1.25K links
👨‍💻Автор: Виктор Грушевский (@Viktorianec)

⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru

🍏Канал об iOS-разработке, алгоритмах и архитектурах

⭐️ Подготовка к собесам

⭐️ Код. Много кода.

#ios #mobile #swift
Download Telegram
Создание приложения на UIKit с использованием Liquid Glass

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

Если вы пока не хотите обновлять дизайн, недавно писал про способ выключения стилистики стекла для ваших проектов.

А вот если на вашем проекте вы уже собираетесь адоптить и возможности iOS 26, то полезно знать про несколько советов.

Например, если вы хотите убрать эффект стекла для ваших кнопок в навбаре, можно юзать hidesSharedBackground (а чтобы отделить группы кнопок визуально, можно добавить .fixedSpace()).

📖 Ещё больше полезных фич разобрали в этом материале.

Процесс перехода будет в любом случае не очень быстрым, так как надо поддерживать и старые опции, но как видите - и для приложений на UIKit новые фичи вполне реально вкрутить уже сейчас.

Кстати, в iOS IQ уже используется новый диз для многих экранов, ещё одно приложение я обновил целиком с учётом поддержки iOS 26, а, например, в плане добавил ещё и кастомизированный таббар.


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
1315🔥10👍5💯32
Сколько часов в день в среднем у вас занимает написание кода?
Anonymous Poll
10%
0
5%
1
13%
2
18%
3
25%
4
13%
5
7%
6
9%
7 (и более). Поделитесь, в какой сфере работаете
78🍓5🔥44💯3👍2😎2
Передача данных в SwiftUI: сравнение подходов

📖 Маттео Манфердини делится базой на счёт хранения и передача информации внутри приложения.

Сравнивается несколько флоу обмена данными, подходов к тому, какими должны бысть свойства (от сессии в 2019 году до варианта от Криса Эйдхова) и многое другое в нескольких больших разделах:

➡️Архитектура приложения и источники правды
➡️Передача данных для View
➡️Создание и управление состоянием
➡️Обход View Tree

🔗 Кстати, чтобы почитать и про фундаментальные способы передачи данных в iOS - можно перейти к этому посту.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
516🔥96👍3❤‍🔥2
Скидки на базу iOS IQ - пора подписываться?

Напомню, что кроме канала у нас есть мощный инструмент, в котором многовекторно рассматриваются основные аспекты разработки на более детальном уровне (включая код, примеры и полезные темы).

🧠 Что вы получите уже сейчас:

➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)
➡️Вопросы на чтение кода (несколько уровней: простых, посложнее)
➡️Многопоточность
➡️DispatchQueue: практические вопросы
➡️Swift Concurrency
➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)
➡️Память: ARC, side table, флаги, утечки
➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS
➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)
➡️Утечки памяти в Swift: что с ними делать, как предотвратить?
➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов


Это только верхушка айсберга: также вы получите доступ к ранним релизам приложения iOS IQ, тонну теории и многое другое.

🤖 А ещё бонусный режим собесов в моём боте iOS IQ Bot.

Подпишитесь сегодня ⭐️ в телеграме или 💰 с приятными условиями на бусти.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥985👍3🔥21
Как вы считается, начнут ли снижаться зарплаты разработчиков из-за допуска ИИ-инструментов?
Anonymous Poll
36%
Да
64%
Нет
47🤯65💯32❤‍🔥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
1119👍106🔥53❤‍🔥1💯1
👥 Swift SDK для Android доступен уже сегодня

В июне я писал про создание рабочей группы, целью которой стала поддержка Android в качестве официальной поддерживаемой платформы.

📖 Сегодня был объявлен выпуск предварительных версий Swift SDK для Android.

Уже есть гайд по запуску кода для андроид-девайсов, репа с примерами, а ещё можно чекать доску со статусом прогресса реализации основных фич.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥47🤯1110👍53
This media is not supported in your browser
VIEW IN TELEGRAM
Трансформация Glass Views с помощью glassEffectID

Среди новых API для работы с интерфейсами можно выделить glassEffectID.

С его помощью можно реализовать плавный переход вьюх друг в друга (например, сделать из одной кнопки несколько и наоборот).

Как обычно, у всего есть условия, например, нам нужно ещё и использовать GlassEffectContainer.

📖 Понятный пример использования есть здесь, а код проект доступен вот тут.

А как применять Liquid Glass к кастомным вью - можно чекнуть в официальной документации.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
621🔥108💯3❤‍🔥2👍21
Стоимость разработки

Всегда вызывает лёгкую улыбку, когда вижу дискуссии про сокращение/увеличение стоимости разработки.

Парадоксально, но чаще об этом пишут или рассказывают на круглых столах с серьёзными лицами ребята со штатом в 100-200 и более разработчиков.

Ребят, ваши бюджеты на найм раздуты до размера Гинденбурга.

Когда у вас монополия на целую область экономики: будь то банковская сфера или рынок перепродажи б/у товаров, то задумываться о том, повлияет ли ИИ на стоимость разработки, просто смешно.

В Яндексе в среднем за день проходит собеседование 200 кандидатов

- ещё раз, не откликов, не просмотров вакансий, а 200 собеседований - с вовлечением как минимум двоих сотрудников, а скорее всего целой цепочки.

О какой экономии вообще речь?

ИИ не сократит стоимость разработки - на поддержку будет потрачено кратно больше ресурсов, инженеры по внедрению AI-решений ситуацию должны упростить, но поиск и рабочие места для таких спецов максимум уравновесят чаши весов.

Вчера увидел тезис, что бизнес-логику сейчас в основном пишет ИИ, а мобильная разработка проиграла - это выглядит как дешёвый хайп и попытка пиара.

Если проводят конфы и говорят, как же хорош BDUI, как мощны его лапищи - хочется напомнить, что вообще-то по гайдам нельзя менять принцип действия фич после проверки в App Store, а за показ другого экрана, не того, что был на ревью - вообще-то должен быть реджект и санкции вплоть до выпила учётки из стора.

Понятно, что бизнес должен выкручиваться - и сейчас всё это выглядит именно так даже для людей, далёких от разработки.

Кайфово, что придумали концепт c QR-кодами и блютузом для оплаты, но каким же костылём это выглядит по сравнению c NFC-стандартом для Apple Pay.

Для меня именно так и выглядит BDUI - не более, чем костыль, просто в масштабах корпораций.

Ничто не заменит нативный опыт, всё остальное - самовнушение.

Стоимость разработки приложений, да и любых проектов в целом - это только один кубик в пирамиде, достаточно посмотреть, сколько ярусов занимает маркетинг.

А тем, кто говорит, как же здорово - что все оптимизируется через ИИ, хочется предложить пообщаться пару раз с чат-ботами в банке или, например, на сервисе по продаже билетов.

Когда-нибудь с такими оптимизациями ключ: «позови оператора» уже не поможет.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥45💯34🍓13👏65👍44🔥31
Apple Dev таймлайн - список всех изменений на WWDC

Делюсь сайтом, на котором проследить, какие фреймворки и изменения для пользователей выкатывали на каждом WWDC с 2015 года.

➡️ Посмотреть можно здесь

📖 А вот тут можно найти конкретные фичи и получить краткое саммари по каждой.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
521🔥108👍42👏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. В отличие от аналогичного с шумом наша сила будет пропорциональна скорости объекта внутри нашего поля.

Для того, чтобы создать эффект завихрения можно юзать любую интервальную функцию (в своём решении я запилил несложный аналог осциллограммы через sin(currentTime * EmitterConstants.oscillationMultiplier).

Для оптимизации распадающихся цифр (вообще тут тоже можно юзать любое вью/картинку и так далее) можно чекнуть массив пикселей (пригодится CGContext, можно почитать тут) из нашей картинки с определённым шагом для производительности (если идти по каждому, можно словить нефиговые лаги) и использовал эти позиции для формирования наших частиц. А на фоне просто-напросто дополнительный SKEmitterNode.

Ещё прикрутил реакцию на наклон девайса из стороны в сторону и вверх-вниз для небольшого эффекта смещения.

📖 А для трансформа кнопок добавил немного фич из новой 26 оси (в этом посте писал подробнее).

Весь код и рабочий пример по традиции уже доступен в закрытой базе:

Можно подписаться в ⭐️ в телеграме или 💰 с приятными условиями на бусти.

🧠 Что вы получите уже сейчас:
➡️Карта изучения Swift Concurrency (примеры, разбор каждого уровня, полезные советы)
➡️Вопросы на чтение кода (несколько уровней: простых, посложнее)
➡️Многопоточность
➡️DispatchQueue: практические вопросы
➡️Swift Concurrency
➡️Алгоритмы: терминология и примеры + путь Яндекс Coderun (разбор нескольких десятков задач)
➡️Память: ARC, side table, флаги, утечки
➡️Результаты зарплатного опроса в нашем канале + сравнение с европейскими реальными зарплатами в iOS
➡️Разбор подходов к анимациям и лучшие паттерны (классические способы, Metal, комбинации - все подкреплено кодом)
➡️Утечки памяти в Swift: что с ними делать, как предотвратить?
➡️Навигация в SwiftUI: типы, отличия, разбор неочевидных моментов


😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥349🤯842👍2🤩1
🚀 Роадмап по принципу работы тайп-чекера и планов на его улучшение в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
713🔥76💯4👍32❤‍🔥1👏1