Telegram Web Link
Если вам интересная технология Vision Pro, то вот хороший материал про это. Взгляд со стороны разработчика.
Материал вышел 6 месяцев назад, но в актуальности касаемо этой новой технологии вряд ли потерял.
https://www.youtube.com/watch?v=n8-wTpiuZwE
Материал не совсем технический, но подводить итоги года в смежных и нужных для iOS разработчиков областях тоже нужно. Так что вот материал про UX/UI тренды, которые будут актуальны в 2024 году.
Очень неплохая подборка 👍
https://blog.prototypr.io/ux-ui-design-trends-going-into-2024-ca43a839b541
Крутой материал (снова на medium, к сожалению) про фишки и оптимизации SwiftUI!
Что и как лучше использовать из вью компонентов, какую архитектуру выбрать, особенности использования модификаторов, микс с UIKit и еще много всего разного!
С объяснением и примерами кода 👍
https://medium.com/simform-engineering/mastering-in-swiftui-ecadd0199ece
Если вы используете или планируете использовать Github Actions, то вот хорошая статья о том, как избежать лишних костов и максимально оптимизировать стоимость.
P.S. А если у вас свой петпроджект или просто открытый репозиторий, то Github Actions можно использовать вообще бесплатно (до определенных нагрузок, кажется).
https://blog.eidinger.info/save-money-when-using-github-actions-for-ios-cicd
Если вы используете SwiftUI, то, наверное, знаете про такие штуки, как ObservableObject и @Published параметр.
И, возможно, даже знаете про @Observable Macro, который появился не так давно и призван заменить своих предшественников, о которых я упоминал выше.
В этой статье, собственно, и разбирается этот переезд, а также принцип работы, и, что достаточно важно, это решение хорошо сказывается на производительности 📈
Подробнее читайте в статье.
https://www.avanderlee.com/swiftui/observable-macro-performance-increase-observableobject/
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы всё-таки решились использовать SwiftData у себя в проекте, то вот очень большой набор информации в видео формате про это!
Тут и про разные виды связей, и про миграции, и про контейнеры, сортировки и фильтры, про CRUD операции, хранение картинок и это даже не всё. В общем много всего, чтобы полноценно разобраться и начать использовать SwiftData!
https://www.youtube.com/playlist?list=PLBn01m5Vbs4Ck-JEF2nkcFTF_2rhGBMKX
Интересный материал о том, как использование AnyView в SwiftUI влияет на производительность и fps!
Ожидаемый спойлер: отрицательно
https://martinmitrevski.com/2024/01/02/anyviews-impact-on-swiftui-performance
Не могу назвать этот материал совсем уж сложным, но и простым для большинства он тоже вряд ли покажется.
Но его точно можно назвать интересным и полезным.
Статья про Actors, протоколы и многопоточность.
Три основные части:
- Как при помощи тестов найти косяки в многопоточном коде? 🤔
- Какие проблемы бывают при использовании Actors?
- Как эти проблемы решить?
https://lucasvandongen.dev/swift_actors_and_protocol_extensions.php
🟥 Что делать в Сочи в марте? Писать мобильные приложения, конечно же!

С 18 по 29 марта в Сочи пройдёт научно-практический интенсив по мобильной разработке от Young&&Yandex и Университета «Сириус».

На смене будет представлено два направления: нативная разработка на iOS и мультиплатформенная разработка на Flutter.

Что вы успеете в ходе интенсива

🔶 Прокачаетесь в хард-скилах: создадите полноценные мобильные приложения под руководством ведущих разработчиков Яндекса и узнаете о современных инструментах разработки.
🔶 Поработаете над софтами: научитесь организовывать работу и ресурсы в команде, а также получите опыт совместной разработки.
🔶 Классно проведёте время: вас ждёт нетворкинг, природа Сочи — горы и море, а ещё выпускной в офисе Яндекса.

Что вы получите после прохождения интенсива

🔶 Качественный пет-проект в ваше портфолио.
🔶 Грамотное резюме: вы пройдёте мастер-класс по оформлению резюме, что будет полезно на любом этапе вашей карьеры.
🔶 Пробное собеседование в Яндекс: лучших мы пригласим стать сотрудниками.

Кто может принять участие в интенсиве

😀 Мы приглашаем принять участие в отборе студентов всех курсов бакалавриата, магистратуры и аспирантуры, интересующихся современными технологиями создания приложений на iOS или Flutter. Подробнее о необходимых навыках можно узнать здесь.

Обучение, проезд, проживание и питание на время смены предоставит Университет «Сириус».

💫 Успейте подать заявку и решить тестовое до 4 февраля включительно: https://clck.ru/37ESJJ
Please open Telegram to view this post
VIEW IN TELEGRAM
Короткий, но полезный материал о том, как использовать глобальные переменные в условиях многопоточности, но так, чтобы не столкнуться с состоянием гонки и сопутствующими проблемами 🏎️
https://www.avanderlee.com/concurrency/concurrency-safe-global-variables-to-prevent-data-races/
Если вы большой любитель @Observable и очень страдаете от того, что он доступен только с iOS 17, то вот ребята сделали по сути обратно совместимый @Observable, который можно использовать с iOS 13 🔥
Еще и опенсорс.
P.S. Не так давно эту статью скидывал наш подписчик в один из тредов, но если вдруг пропустили, то вот.
https://www.pointfree.co/blog/posts/129-perception-a-back-port-of-observable
This media is not supported in your browser
VIEW IN TELEGRAM
Начало года всегда немного скучноватое в плане контента, но чем-то полезным поделиться все равно хочется.
Возможно, не самый полезный, но вполне интересный (и немного развлекательный) контент про visionOS.
А конкретнее про то, как адаптировать иконку вашего приложения для visionOS.
В итоге она будет с 3D-эффектом 🔥
https://www.createwithswift.com/adapting-your-app-icon-to-visionos
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой материал для всех, кто использует SwiftUI и хочет чуть упросить работу с кнопками и сделать их (кнопки, как класс Button в смысле) асинхронными.
Автор рассказывает (и показывает) о своей небольшой библиотечке для асинхронных кнопок.
https://blog.thomasdurand.fr/story/2024-01-14-asynchronous-swiftui-buttons
Одна из проблем SwiftUI (а точнее плохого использования SwiftUI) - частый ререндер.
Уже не так мало, а будет еще больше, статей на тему того, как же правильно использовать SwiftUI, чтобы избежать частых ререндеров. Из-за которых падает фпс, греются и быстрее разряжаются девайсы и много чего еще.
Вот хорошая статья, где автор описывает основные принципы, которым нужно следовать, чтобы избегать ререндера вьюшек в SwiftUI. И помимо описания этих принцпипов есть еще и конкретные объяснения и причины, почему нужно делать так! 👍
https://medium.com/@shashidj206/how-to-avoid-repeating-swiftui-view-updates-ec1fce0349a9
Изучаем SwiftUI дальше!
О View в SwiftUI и о том, как сохранить полиморфизм! Очень важная штука вообще-то говоря.
https://medium.com/the-swift-cooperative/swiftui-view-models-a-polymorphic-approach-8911a992892b
И еще про SwiftUI!
Про сравнение использования view и модификаторов на примере простой вьюшки с текстом и картинкой.
https://swiftbysundell.com/articles/swiftui-views-versus-modifiers/
Несколько дней назад Apple анонсировали большие изменения для EU региона. Информация в целом будет полезна всем, кто дистрибьютит свои приложения.
Речь о том, что станут доступны альтернативные сторы, способы оплаты и всё связанное с этим 😱
Пока выглядит немного туманно и не до конца понятно, как это будет выглядеть, но в любом случае, лёд тронулся. Будем наблюдать за происходящим с интересом!
https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/
Небольшой лайфхак для всех, кто использует SwiftUI.
Ловите кусок кода, который поможет вам понять, когда отрисовка вашей вьюшки занимает слишком много времени или просто висит.
В общем полезный кусок кода, который поможет вам в дебагинге.
https://wadetregaskis.com/swiftui-main-thread-hang-detector/
This media is not supported in your browser
VIEW IN TELEGRAM
Я не знаю зачем вам это, но я уверен, что пригодится!
Репозиторий с примером использования библиотечки HandShadows.
Библиотека для создания таких вот тенюшек под ваши клики(gesture). Удобно снять какое-нибудь демо видео для вашей новой фичи, например 👍
https://github.com/adamwulf/HandShadowsExample
2025/07/06 14:09:45
Back to Top
HTML Embed Code: