Реализация мема:
Каждый раз, когда мы встречаем сложные термины, может казаться - что это поймут не только лишь все, но с помощью разбора теории и пары практических примеров почти всегда изначальная сложность исчезает или хотя бы кратно уменьшается.
📖 Статья Джейкоба Бартлетта посвящена реализации мема, который изначально заставил автора почувствовать синдром самозванца.
В ней последовательно разбираются атрибуты от escaping до MainActor, и в итоге Джейкоб приходит к варианту:
😅 Как говорится, не пробуйте это дома (или на продакшне без должных навыков).
Кстати, напомню, что в канале был пост с огромным глоссарием по Swift Concurrency.
✅ А вот тут есть примеры тем, вопросов - и несколько разборов подводных камней в Swift Concurrency.
😃 iOS Dev
@escaping @Sendable @MainActor @autoclosure () async -> Void
Каждый раз, когда мы встречаем сложные термины, может казаться - что это поймут не только лишь все, но с помощью разбора теории и пары практических примеров почти всегда изначальная сложность исчезает или хотя бы кратно уменьшается.
📖 Статья Джейкоба Бартлетта посвящена реализации мема, который изначально заставил автора почувствовать синдром самозванца.
В ней последовательно разбираются атрибуты от escaping до MainActor, и в итоге Джейкоб приходит к варианту:
Task {
await allTheAttributes(await helloWorld())
}
func allTheAttributes(
_ then: @escaping @Sendable @MainActor @autoclosure () async -> Void
) async {
Task {
await then()
}
}
@MainActor func helloWorld() {
print("Hello, world!")
}
😅 Как говорится, не пробуйте это дома (или на продакшне без должных навыков).
Кстати, напомню, что в канале был пост с огромным глоссарием по Swift Concurrency.
Please open Telegram to view this post
VIEW IN TELEGRAM
10 20🔥12👍9🤯3⚡2👏2
Global actor в Swift Concurrency на реальных примерах
ℹ️ Swift Concurrency ввел концепцию глобального актора среди async/await и задач.
Наиболее распространенным из них, вероятно, является
Однако нам доступна возможность создавать и собственные глобальные акторы.
Глобальный актор обеспечивает ту же изоляцию актора (безопасный, сериализованный доступ к данным), но есть и разница: вместо привязки к одному экземпляру он привязан к чему-то более широкому, например, к функции, свойству или даже целому типу.
📖 А о том, как его использовать (и как не допустить ошибок) можно прочитать в этой статье.
😃 iOS Dev
ℹ️ Swift Concurrency ввел концепцию глобального актора среди async/await и задач.
Наиболее распространенным из них, вероятно, является
@MainActor
, про который можно почитать здесь и вот тут. Однако нам доступна возможность создавать и собственные глобальные акторы.
Глобальный актор обеспечивает ту же изоляцию актора (безопасный, сериализованный доступ к данным), но есть и разница: вместо привязки к одному экземпляру он привязан к чему-то более широкому, например, к функции, свойству или даже целому типу.
📖 А о том, как его использовать (и как не допустить ошибок) можно прочитать в этой статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
8 11🔥10✍5👍4❤🔥1🆒1
Огромный обзорный пост по всем изменениям UIKit в iOS 26
Ремарка - несколько месяцев назад целый ряд крупных ресурсов про iOS сообщали о том, что UIKit (и UIApplicationDelegate, в частности) депрекейтнут, но как обычно без какого-либо подкрепления фактов.
С тех пор прошла WWDC, и на практике всё совсем не так, в ближайшем времени фреймворк нам ещё пригодится.
Сегодня делюсь чудесным разбором от Себа Видаля, который он писал несколько последних недель (поблагодарить его можно здесь).
В нашем канале уже есть несколько примеров по важным изменениям во фреймворке (и в экосистеме в целом), но этот пост просто невероятен по объёму и количеству примеров.
📖 В этом посте можно познакомиться и с UIBackgroundExtensionView, и с UICornerConfiguration (шок, что этого не было ранее и я, например, писал кастомное решение с UIBezierPath для большинства проектов). Также есть изменения и в UIResponder, и в UIScrollView, и во многом другом.
🔗 Сохраните пост в закладки (релиз новой оси совсем скоро).
😃 iOS Dev
Ремарка - несколько месяцев назад целый ряд крупных ресурсов про iOS сообщали о том, что UIKit (и UIApplicationDelegate, в частности) депрекейтнут, но как обычно без какого-либо подкрепления фактов.
С тех пор прошла WWDC, и на практике всё совсем не так, в ближайшем времени фреймворк нам ещё пригодится.
Сегодня делюсь чудесным разбором от Себа Видаля, который он писал несколько последних недель (поблагодарить его можно здесь).
В нашем канале уже есть несколько примеров по важным изменениям во фреймворке (и в экосистеме в целом), но этот пост просто невероятен по объёму и количеству примеров.
📖 В этом посте можно познакомиться и с UIBackgroundExtensionView, и с UICornerConfiguration (шок, что этого не было ранее и я, например, писал кастомное решение с UIBezierPath для большинства проектов). Также есть изменения и в UIResponder, и в UIScrollView, и во многом другом.
🔗 Сохраните пост в закладки (релиз новой оси совсем скоро).
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥14 11👍9❤🔥2👏2✍1🍓1
Карта изучения Swift Concurrency
Последние несколько недель я активно изучал самые интересные моменты в Swift Concurrency и чем-то делился в канале, что-то пробовал в приложениях, а определённую часть выписывал и структурировал.
Пришло время первого роадмапа по изучению Swift Concurrency (постарался пошагово пройтись по самым важным концепциям и доступно разложить по полочкам самое интересное).
В канале уже есть и пример глоссария и разбор доступных нам инструментов в изложении Emerge Tools.
Но я люблю разбираться в сложных темах, а декомпозиция помогает не только в решении задач, но и в разборах таких вещей.
🔗 Файл в большом разрешении в .pdf доступен всем желающим в моём бусти (достаточно просто подписаться даже на бесплатный уровень).
🧠 А в закрытой базе можно получить доступ к разборам каждой секции и пройтись по каждому этапу:
И это далеко не всё.
✅ Получите доступ к этому разбору и не только на бусти и прямо здесь уже сегодня.
😃 iOS Dev
Последние несколько недель я активно изучал самые интересные моменты в Swift Concurrency и чем-то делился в канале, что-то пробовал в приложениях, а определённую часть выписывал и структурировал.
Пришло время первого роадмапа по изучению Swift Concurrency (постарался пошагово пройтись по самым важным концепциям и доступно разложить по полочкам самое интересное).
В канале уже есть и пример глоссария и разбор доступных нам инструментов в изложении Emerge Tools.
Но я люблю разбираться в сложных темах, а декомпозиция помогает не только в решении задач, но и в разборах таких вещей.
🔗 Файл в большом разрешении в .pdf доступен всем желающим в моём бусти (достаточно просто подписаться даже на бесплатный уровень).
🔘 С чего начать (основны многопоточности, существующие проблемы GCD и нужен ли переход на Swift Concurrency).
🔘 Синтаксис async/await, обработка ошибок, применение@MainActor
.
🔘 Tasks (что это, как работать, как отменять и для чего нужен detached).
🔘 Sendable, потокобезопасность на практике.
🔘 AsyncStream и разбор на реальных примерах.
🔘 Работа в реальных проекта (тестирование, отладка и способы избежать ошибок).
И это далеко не всё.
Please open Telegram to view this post
VIEW IN TELEGRAM
6 16❤🔥9✍5💯5 3👍2🔥1🎉1
Разработчики на Objective-С получают самую высокую зарплату в России
На Хабр Карьере провели очередное крупное исследование (примерно 60 000 специалистов в выборке), и составили несколько отчётов по зарплатам за первое полугодие 2025 года.
Среди интересующих нас результатов:
💰 У разработчиков на Objective-С средняя зарплата 380 000 ₽ (самая высокая в отрасли), а на Swift 292 000 ₽.
Среди компаний лидеры: Авито, Райффайзен Банк, Иннотех и VK.
📖 Сравнить тенденцию изменений можно с этим постом.
😃 iOS Dev
На Хабр Карьере провели очередное крупное исследование (примерно 60 000 специалистов в выборке), и составили несколько отчётов по зарплатам за первое полугодие 2025 года.
Среди интересующих нас результатов:
💰 У разработчиков на Objective-С средняя зарплата 380 000 ₽ (самая высокая в отрасли), а на Swift 292 000 ₽.
Среди компаний лидеры: Авито, Райффайзен Банк, Иннотех и VK.
📖 Сравнить тенденцию изменений можно с этим постом.
Please open Telegram to view this post
VIEW IN TELEGRAM
9 18🔥9👏7👍3 3✍2❤🔥2💯2