iOS.Devs
5.52K subscribers
93 photos
4 videos
1 file
838 links
Всё самое актуальное из мира iOS разработки. По вопросам @suriksarkisyan

При поддержке qonversion.io

Чат: @ios_camp_chat.
Download Telegram
Коротенький обзор про lazy vars в Swift.
Всем новичкам обязательно к ознакомлению ‼️
https://www.donnywals.com/what-are-lazy-vars-in-swift/
В Swift 6 импорты можно будет делать публичными или приватными. Это в том числе скажется на ваших публичных функциях, если вы хотите в них вернуть что-то, что заимпорчено из какой-то либы, например, а она приватная.
В общем выглядит интересно, но куда интереснее понять какой профит мы из этого получим и как это скажется на времени сборки, например, и других важных вещах.
Подробнее можно посмотреть в статье, но самые интересные расследования на эту тему еще впереди, думаю!
https://www.polpiella.dev/swift-6-import-access-level
Про Safe Area, наверное, знают все и что касается UIKit уже давно должны были научиться с ней работать.
А вот со SwiftUI + Safe Area еще могут быть проблемы, думаю.
Вот статья, которая если и не закроет все вопросы, то хотя бы с базовыми должна помочь 👍
https://swiftwithmajid.com/2021/11/03/managing-safe-area-in-swiftui/
Подробно про reduce и про то, как и где его можно использовать.
Уверен, что многие не особо работали с этой функцией, но после этой статьи должны начать 👍
Ну и, конечно, всем новичкам обязательно к ознакомлению!
https://www.polpiella.dev/mastering-the-reduce-operator-in-swift
This media is not supported in your browser
VIEW IN TELEGRAM
Статья о том, как добавить такой красивый «stretchable & sticky» хеддер, который, собственно, будет растягиваться и прижиматься к верху экрана в зависимости от вашего скролла.
При использовании SwiftUI, конечно, потому что для UIKit таких статей куча и давно уже всеми прочитаны (надеюсь)!
https://danielsaidi.com/blog/2023/02/09/adding-a-sticky-header-to-a-swiftui-scroll-view
Большой видео-материал с конференции под названием Swift Server Side Meetup! 😀
Эту тему поднимают еще со времен появления Swift-а. Тогда это было скорее развлечением, чем каким-то рабочим решением. Я не очень погружен в текущий контекст, но, почти наверняка, ничего не изменилось и использовать Swift для написания серверной части можно разве что для своего небольшой пет-проджекта. Но если хотите подробнее узнать об этом, то этот материал предоставляет подобную возможность 🙂
Темы докладов можно узнать по превьюшке.
https://www.youtube.com/watch?v=FULMRV3wIKg
Пишете на Swift под iOS? Или на Java/Kotlin под Android? Для вас есть работа в Тинькофф.

18 и 19 мая пройдет Mobile Weekend Offer для разработчиков с опытом от 3 лет. Так можно попасть в команду еще быстрее: пройти все этапы собеседования за выходные и получить оффер на неделе.

Если устроитесь, будете решать сложные финтех-задачи, развивать продукты для миллионов и расти в сильной команде. Топовый стек, достойная оплата и ДМС со стоматологией тоже будут.

Проверьте свои силы — оставьте заявку до 15 мая

Реклама. АО «Тинькофф Банк», ИНН 7710140679
Про defer в Swift, коротко, с пояснением и примерами. Очень надеюсь, что полезно это будет только новичкам, иначе не знаю, как вы до сих пор без этого жили. Штука очень старая и очень полезная 👍
https://www.donnywals.com/what-is-defer-in-swift/
Подробный материал про обработку ошибок в Swift.
Много разных примеров, как это можно реализовать. Речь про вариации catch, конечно 👍
https://sarunw.com/posts/different-ways-to-catch-throwing-errors-in-swift/
Хороший материал про время сборки в Xcode. О том, как следить за этим и почему это важно.
Конечно, тут от автора не обходится без рекламы своей тулзы RocketSim, которая на самом деле прикольная и мы про неё уже постили, но даже если пропустить этот момент, статья действительно полезная.
Из забавного тут есть о том, что еще важно не просто следить за временем билда, понимать просело ли оно в вашем проекте, улучшилось ли с новым Xcode и так далее, но еще важно сравнивать время сборки на вашем девайсе с временем сборки на девайсах коллег. Возможно, купить вам более мощный ноут будет даже выгоднее для компании в плане затрат 😀
https://www.avanderlee.com/xcode/xcode-build-insights-keep-track-of-project-compilation-times/
Через месяц (чуть меньше) будет очередной 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/
Базовая штука, аналог которой должен быть у многих, но если вдруг нет или только учитесь, то вот отличный материал про конфигурируемую кнопку в SwiftUI!
То есть просто компонент, который имеет разные состояния и ими легко управлять. Ну и переиспользовать эту кнопку везде по проекту, конечно.
https://www.danijelavrzan.com/posts/2024/05/configurable-button-swiftui
Сборник всех WWDC в одном месте.
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/
Очень классный материал про то, как увеличить перфоманс в 100+ раз при использовании эпловского Accelerate framework 😀
Да, я тоже думаю, что заголовок у статьи немного кликбейтный, да и сама статья не для всех приложений. Но тем, кто работает с похожими инструментами в своем приложении (видео/аудио стримы), точно будет полезно.
И на самом деле в статье даже графики есть, где видно, что буст действительно огромный и порядок цифр похож на 100х 👍
Автор достаточно подробно всё расписал и привел различные графики, так что если у вас что-то похожее есть в приложении, то статья обязательна к ознакомлению! 🔥
https://getstream.io/blog/accelerate-framework/
Большой и подробный материал с примерами кода, картинками и объяснениями. Про spacing = nil в SwiftUI и верстку в целом!
https://fatbobman.com/en/posts/spacing-of-swiftui/
Если вы уже полезли копаться в visionOS, то этот материал должен быть для вас полезен.
Подробно про типографию в visionOS, с примерами и красивыми картинками 🔥
https://www.createwithswift.com/understanding-typography-in-visionos/
Если вы всё-таки не оставляете надежду писать backend на Swift-е (🤪), то вот материал для вас!
Очень подробный, с кучей бенчмарков, рассуждений и пояснений!
Автор сравнивает Swift с другими инструментами для бэка. Очень популярными, хотя может и не самыми лучшими в наше время: PHP / Kotlin/Java / JS
Интересно было бы еще сравнение с Go, увидеть, например, но ладно уж 🙂
Стоит еще сказать, что это вряд ли речь про большие нагрузки, но тем не менее.
В общем переходите и смотрите. Много интересного есть 🔥
СПОЙЛЕР: всё не так плохо, как мы могли думать!
https://wadetregaskis.com/swift-sucks-at-web-serving-or-does-it
Если вы пишете свою SDK, или, например, собираете свой проект из модулей, то, возможно, вам будет интересна эта статья!
Про такой модификатор, как @_spi. Что он делает, для чего нужен, и как с его помощью сделать улучшенную API ваших компонентов.
Конечно, аттрибут пока скорее экспериментальный, но может быть скоро ситуация изменится.
В любом случае узнать про него стоит 👍
https://varanios.com/articles/spi-or-how-to-develop-better-apis-in-swift/
Небольшой материал для общего развития. Про то, что происходит со SwiftUI превьюшками и превью контентом во время сборки билда для стора, попадают они туда или нет, и еще немного деталей.
Возможно, кстати, кто-то захочет немного оптимизировать свой код и натыкать проверок после прочтения этого материала 🤔
https://jaredsinclair.com/2024/05/20/preview-content.html