Через месяц (чуть меньше) будет очередной WWDC и нас ожидают, вероятно, много интересных апдейтов.
Но пока мы ждем WWDC, на днях прошел аналог от Google, который называется Google I/O.
Вряд ли это жизненно необходимая для вас информация, но всё же лишней не будет, так как Apple и Google достаточно давно двигаются совсем рядом и перенимают фичи друг друга.
Так что вот краткий и ёмкий обзор того, что нового показали на Google I/O в этом году.
Будет что сравнивать с WWDC!
Ну и надеемся, что у Apple будет поинтереснее 🤓
P.S. Судя по слухам будет много про AI 🔥
https://qonversion.io/blog/google-play-i-o-2024-updates-for-app-developers/
Но пока мы ждем WWDC, на днях прошел аналог от Google, который называется Google I/O.
Вряд ли это жизненно необходимая для вас информация, но всё же лишней не будет, так как Apple и Google достаточно давно двигаются совсем рядом и перенимают фичи друг друга.
Так что вот краткий и ёмкий обзор того, что нового показали на Google I/O в этом году.
Будет что сравнивать с WWDC!
Ну и надеемся, что у Apple будет поинтереснее 🤓
P.S. Судя по слухам будет много про AI 🔥
https://qonversion.io/blog/google-play-i-o-2024-updates-for-app-developers/
qonversion.io
What's new in Google Play: I/O 2024 Updates for App Developers | Qonversion – It's all about in-app subscriptions
What's new in Google Play in 2024? Don't miss the key updates in app release tools, new app protection and pricing features.
Базовая штука, аналог которой должен быть у многих, но если вдруг нет или только учитесь, то вот отличный материал про конфигурируемую кнопку в SwiftUI!
То есть просто компонент, который имеет разные состояния и ими легко управлять. Ну и переиспользовать эту кнопку везде по проекту, конечно.
https://www.danijelavrzan.com/posts/2024/05/configurable-button-swiftui
То есть просто компонент, который имеет разные состояния и ими легко управлять. Ну и переиспользовать эту кнопку везде по проекту, конечно.
https://www.danijelavrzan.com/posts/2024/05/configurable-button-swiftui
Danijela's blog
Configurable button with different states in SwiftUI | Danijela's blog
In this post, we'll take a look at how we can create a configurable button with pre-defined states. We'll add four different states and update the button state in the code.
Сборник всех WWDC в одном месте.
3430 сессий. С 2000 года по 2023. Сохраняйте, вдруг когда-нибудь очень захотите посмотреть, что же такого компания Apple показала на WWDC 2001, или 2005, или около того!
Ну или самую первую WWDC 2000 года захотите посмотреть с внуками! 👴
https://nonstrict.eu/wwdcindex/
3430 сессий. С 2000 года по 2023. Сохраняйте, вдруг когда-нибудь очень захотите посмотреть, что же такого компания Apple показала на WWDC 2001, или 2005, или около того!
Ну или самую первую WWDC 2000 года захотите посмотреть с внуками! 👴
https://nonstrict.eu/wwdcindex/
Снова про архитектуру. На этот раз про MVVM и SwiftUI!
Автор проверенный, а материал достаточно хороший, поэтому было бы неправильно не поделиться.
Для новичков точно будет полезно, главное не забывать, что это не единственное возможное решение и не серебрянная пуля! Но для общего развития надо знать и уметь готовить 👍
https://www.avanderlee.com/swiftui/mvvm-architectural-coding-pattern-to-structure-views/
Автор проверенный, а материал достаточно хороший, поэтому было бы неправильно не поделиться.
Для новичков точно будет полезно, главное не забывать, что это не единственное возможное решение и не серебрянная пуля! Но для общего развития надо знать и уметь готовить 👍
https://www.avanderlee.com/swiftui/mvvm-architectural-coding-pattern-to-structure-views/
SwiftLee
MVVM: An architectural coding pattern to structure SwiftUI Views
Discover the power of MVVM in SwiftUI. Separate your view code from your model logic for more maintainable and scalable apps.
Очень классный материал про то, как увеличить перфоманс в 100+ раз при использовании эпловского Accelerate framework 😀
Да, я тоже думаю, что заголовок у статьи немного кликбейтный, да и сама статья не для всех приложений. Но тем, кто работает с похожими инструментами в своем приложении (видео/аудио стримы), точно будет полезно.
И на самом деле в статье даже графики есть, где видно, что буст действительно огромный и порядок цифр похож на 100х 👍
Автор достаточно подробно всё расписал и привел различные графики, так что если у вас что-то похожее есть в приложении, то статья обязательна к ознакомлению! 🔥
https://getstream.io/blog/accelerate-framework/
Да, я тоже думаю, что заголовок у статьи немного кликбейтный, да и сама статья не для всех приложений. Но тем, кто работает с похожими инструментами в своем приложении (видео/аудио стримы), точно будет полезно.
И на самом деле в статье даже графики есть, где видно, что буст действительно огромный и порядок цифр похож на 100х 👍
Автор достаточно подробно всё расписал и привел различные графики, так что если у вас что-то похожее есть в приложении, то статья обязательна к ознакомлению! 🔥
https://getstream.io/blog/accelerate-framework/
getstream.io
Boost Performance 100x Accelerate Framework
How we improved performance 100x in some parts of our Video SDK by using the Accelerate Framework.
Большой и подробный материал с примерами кода, картинками и объяснениями. Про
https://fatbobman.com/en/posts/spacing-of-swiftui/
spacing = nil
в SwiftUI и верстку в целом!https://fatbobman.com/en/posts/spacing-of-swiftui/
fatbobman.com
What Does spacing = nil Mean in SwiftUI? | Fatbobman's Blog
This article will explore the concept of Spacing in SwiftUI in-depth, and share some related tips and considerations.
Если вы уже полезли копаться в visionOS, то этот материал должен быть для вас полезен.
Подробно про типографию в visionOS, с примерами и красивыми картинками 🔥
https://www.createwithswift.com/understanding-typography-in-visionos/
Подробно про типографию в visionOS, с примерами и красивыми картинками 🔥
https://www.createwithswift.com/understanding-typography-in-visionos/
Create with Swift
Understanding typography in visionOS
Optimize text readability in visionOS leveraging font, color, and vibrancy
Если вы всё-таки не оставляете надежду писать backend на Swift-е (🤪), то вот материал для вас!
Очень подробный, с кучей бенчмарков, рассуждений и пояснений!
Автор сравнивает Swift с другими инструментами для бэка. Очень популярными, хотя может и не самыми лучшими в наше время: PHP / Kotlin/Java / JS
Интересно было бы еще сравнение с Go, увидеть, например, но ладно уж 🙂
Стоит еще сказать, что это вряд ли речь про большие нагрузки, но тем не менее.
В общем переходите и смотрите. Много интересного есть 🔥
СПОЙЛЕР:всё не так плохо, как мы могли думать!
https://wadetregaskis.com/swift-sucks-at-web-serving-or-does-it
Очень подробный, с кучей бенчмарков, рассуждений и пояснений!
Автор сравнивает Swift с другими инструментами для бэка. Очень популярными, хотя может и не самыми лучшими в наше время: PHP / Kotlin/Java / JS
Интересно было бы еще сравнение с Go, увидеть, например, но ладно уж 🙂
Стоит еще сказать, что это вряд ли речь про большие нагрузки, но тем не менее.
В общем переходите и смотрите. Много интересного есть 🔥
СПОЙЛЕР:
https://wadetregaskis.com/swift-sucks-at-web-serving-or-does-it
Если вы пишете свою SDK, или, например, собираете свой проект из модулей, то, возможно, вам будет интересна эта статья!
Про такой модификатор, как
Конечно, аттрибут пока скорее экспериментальный, но может быть скоро ситуация изменится.
В любом случае узнать про него стоит 👍
https://varanios.com/articles/spi-or-how-to-develop-better-apis-in-swift/
Про такой модификатор, как
@_spi
. Что он делает, для чего нужен, и как с его помощью сделать улучшенную API ваших компонентов.Конечно, аттрибут пока скорее экспериментальный, но может быть скоро ситуация изменится.
В любом случае узнать про него стоит 👍
https://varanios.com/articles/spi-or-how-to-develop-better-apis-in-swift/
VaraniOS
@_spi or How to develop better APIs in Swift | VaraniOS
Learn the fundamentals of System Programming Interfaces (SPIs) and how to leverage them in Swift.
Небольшой материал для общего развития. Про то, что происходит со SwiftUI превьюшками и превью контентом во время сборки билда для стора, попадают они туда или нет, и еще немного деталей.
Возможно, кстати, кто-то захочет немного оптимизировать свой код и натыкать проверок после прочтения этого материала 🤔
https://jaredsinclair.com/2024/05/20/preview-content.html
Возможно, кстати, кто-то захочет немного оптимизировать свой код и натыкать проверок после прочтения этого материала 🤔
https://jaredsinclair.com/2024/05/20/preview-content.html
Если вы любитель поиспользовать ChatGPT и попросить его написать за вас код, то вот ловите статью с 5 подсказками, как этот процесс улучшить и как лучше просить ChatGPT сделать необходимую вам задачу! 🤖
https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/
https://www.avanderlee.com/swift/chatgpt-code-generation-prompts/
SwiftLee
ChatGPT for Swift: Top 5 code generation prompts
Boost your productivity with ChatGPT for Swift code generation. Learn how to harness the power of AI to speed up your development process.
В последнее время (уже достаточно долго) SPM набирает популярность и, честно говоря, он вполне себе неплох, хоть и некоторые вопросы к нему имеются.
Так вот если вдруг хотите добавить в свою SDK поддержку SPM или всё-таки решились разбить проект на модули при помощи всё того же SPM, то ловите хорошую пошаговую инструкцию, как такой package сделать! 👍
https://www.avanderlee.com/swift/creating-swift-package-manager-framework/
Так вот если вдруг хотите добавить в свою SDK поддержку SPM или всё-таки решились разбить проект на модули при помощи всё того же SPM, то ловите хорошую пошаговую инструкцию, как такой package сделать! 👍
https://www.avanderlee.com/swift/creating-swift-package-manager-framework/
SwiftLee
Swift Package Manager framework creation in Xcode
Create a Swift Package that works with the Swift Package manager. Add dependencies, platform requirements and work with development packages.
Если вы занимаетесь разработкой под macOS и решили попробовать
https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/
SwiftUI
, то с чего-то начинать все-таки нужно. Вот небольшой материал про разные типы Scenes
в SwiftUI
. Не самый большой и полноценный материал, но про те пункты, которые он затрагивает, описано достаточно подробно и понятно!https://nilcoalescing.com/blog/ScenesTypesInASwiftUIMacApp/
Nil Coalescing
Scenes types in a SwiftUI Mac app
Discover how to leverage SwiftUI's versatile scene types, like WindowGroup, DocumentGroup, Settings, Window, and MenuBarExtra, to create efficient and dynamic macOS applications.
Про
https://www.donnywals.com/preconcurrency-usage-in-swift-explained/
strict concurrency
и о том, как макрос @preconcurrency
помогает с этим. Понятно объяснено и с примерами 👍https://www.donnywals.com/preconcurrency-usage-in-swift-explained/
Donny Wals
@preconcurrency usage in swift explained – Donny Wals
Learn how you can use the @preconcurrency attribute in Swift to incrementally adopt strict concurrency in your projects.
Про паттерн «репозиторий» на Swift с примерами.
https://www.avanderlee.com/swift/repository-design-pattern/
https://www.avanderlee.com/swift/repository-design-pattern/
SwiftLee
Repository design pattern in Swift explained using code examples
Improve your project structure and simplify testing with the repository design pattern. Centralize data access and separate concerns.
Последняя неделя регистрации на Yandex BDUI Conf! 🎉
22 июня Яндекс проведёт большую конференцию для мобильных разработчиков по BDUI
Вместе со спикерами из Яндекса, Яндекс Маркета, Авито, X5 Tech и ВСК будем разбираться, как с помощью бэкенда сделать красивые и функциональные приложения. В программе:
— 2 трека с докладами: продуктовый и инфраструктурный;
— активности от Яндекс Маркета с подарками;
— экскурсия по офису Яндекса на «Парке культуры»;
— афтерпати с нетворкингом и музыкой.
Зарегистрироваться можно на сайте конференции. Она пройдёт 22 июня в Москве в «Экстрополисе». Если не получится присутствовать очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
22 июня Яндекс проведёт большую конференцию для мобильных разработчиков по BDUI
Вместе со спикерами из Яндекса, Яндекс Маркета, Авито, X5 Tech и ВСК будем разбираться, как с помощью бэкенда сделать красивые и функциональные приложения. В программе:
— 2 трека с докладами: продуктовый и инфраструктурный;
— активности от Яндекс Маркета с подарками;
— экскурсия по офису Яндекса на «Парке культуры»;
— афтерпати с нетворкингом и музыкой.
Зарегистрироваться можно на сайте конференции. Она пройдёт 22 июня в Москве в «Экстрополисе». Если не получится присутствовать очно, присоединяйтесь к нашей трансляции!
До встречи на Yandex BDUI Conf — будет здорово! 👋
Если у вас есть приложение с подписочной моделью монетизации, то наверняка вам нужны А/Б тесты связанные со всем этим 💸
Проверить гипотезу, подсчитать разные метрики, конверсию и так далее.
Вот статья, где рассказывается о том, почему это важно, какие данные трекать в эксперименте и какие гипотезы стоит протестировать 👍
Даже если прямо сейчас вам это не нужно, ознакомиться точно стоит, вы с этим точно столкнетесь в будущем! 😉
https://qonversion.io/blog/beginners-guide-to-paywall-a-b-testing-examples/
Проверить гипотезу, подсчитать разные метрики, конверсию и так далее.
Вот статья, где рассказывается о том, почему это важно, какие данные трекать в эксперименте и какие гипотезы стоит протестировать 👍
Даже если прямо сейчас вам это не нужно, ознакомиться точно стоит, вы с этим точно столкнетесь в будущем! 😉
https://qonversion.io/blog/beginners-guide-to-paywall-a-b-testing-examples/
qonversion.io
Beginners Guide to Paywall A/B Testing: Examples and Experiment Ideas You Can Try Today – It's all about in-app subscriptions
How to optimize app revenue with paywall A/B testing? Which key metrics to track and how to formulate hypotheses? Discover in our blog.
В Xcode 16 появился macro
Что это, как, и для чего? Можно узнать в этой в статье!
https://www.avanderlee.com/swiftui/previewable-macro-usage-in-previews/
@Previewable
для SwiftUI Previews
.Что это, как, и для чего? Можно узнать в этой в статье!
https://www.avanderlee.com/swiftui/previewable-macro-usage-in-previews/
SwiftLee
@Previewable: Dynamic SwiftUI Previews Made Easy
Discover the power of the @Previewable macro in Xcode 16 for creating richer and more dynamic SwiftUI previews.
Заканчивается WWDC, поэтому будет много материалов по итогам! Если вы и сами всё это посмотрели, то простите, но не поделиться этим тоже будет неправильно.
Новое про StoreKit и In-App purchases 🔥
https://developer.apple.com/videos/play/wwdc2024/10061/
Новое про StoreKit и In-App purchases 🔥
https://developer.apple.com/videos/play/wwdc2024/10061/
Apple Developer
What’s new in StoreKit and In-App Purchase - WWDC24 - Videos - Apple Developer
Learn how to build and deliver even better purchase experiences using the App Store In-App Purchase system. We'll demo new StoreKit views...
Еще одна важная для нас тема с WWDC 24 - обновление Xcode 16.
В этот раз решил дать ссылку на YouTube (и в дальнейшем планирую туда же). Кажется плеер всё-таки сильно удобнее, а в видео-контенте это основное. Если почему-то этот формат менее удобен, чем ссылки на офф ресурс от Apple - дайте знать 🙂
https://www.youtube.com/watch?v=BAQ9EhAm2eM
В этот раз решил дать ссылку на YouTube (и в дальнейшем планирую туда же). Кажется плеер всё-таки сильно удобнее, а в видео-контенте это основное. Если почему-то этот формат менее удобен, чем ссылки на офф ресурс от Apple - дайте знать 🙂
https://www.youtube.com/watch?v=BAQ9EhAm2eM
YouTube
WWDC24: What’s new in Xcode 16 | Apple
Discover the latest productivity and performance improvements in Xcode 16. Learn about enhancements to code completion, diagnostics, and Xcode Previews. Find out more about updates in builds and explore improvements in debugging and Instruments.
Discuss…
Discuss…
Очень полезный материал от первоисточника! Про перфоманс Swift-а!
Классная и подробная сессия 🔥
Очень много всего разобрано на различных примерах 👍
https://www.youtube.com/watch?v=nb3bRQa0iGQ
Классная и подробная сессия 🔥
Очень много всего разобрано на различных примерах 👍
https://www.youtube.com/watch?v=nb3bRQa0iGQ
YouTube
WWDC24: Explore Swift performance | Apple
Discover how Swift balances abstraction and performance. Learn what elements of performance to consider and how the Swift optimizer affects them. Explore the different features of Swift and how they’re implemented to further understand the tradeoffs available…