Как добавить дополнительное
https://www.fivestars.blog/articles/swiftui-windows/
UIWindow
в SwiftUI и не сломать взаимодействие с лежащими под ним элементами. Конечно же средствами UIKit
.https://www.fivestars.blog/articles/swiftui-windows/
FIVE STARS
How to layer multiple windows in SwiftUI | FIVE STARS
A complete guide on managing multiple windows in SwiftUI
Все современные способы наблюдения за изменением значений в Swift. Помимо KVO и property observers есть еще имплементация через Combine и сторонние библиотеки, которые на него похожи.
https://www.jessesquires.com/blog/2021/08/08/different-ways-to-observe-properties-in-swift/
https://www.jessesquires.com/blog/2021/08/08/different-ways-to-observe-properties-in-swift/
Jesse Squires
Different ways to observe properties in Swift
After I wrote and released Foil, my library for implementing a property wrapper for UserDefaults, one of the criticisms on Twitter was that a mechanism for o...
Все варианты фильтрации и обработки ошибок внутри конструкции
https://sarunw.com/posts/different-ways-to-catch-throwing-errors-in-swift/
do catch
. От обычных типов, до конструкций с where
и множественными паттернами.https://sarunw.com/posts/different-ways-to-catch-throwing-errors-in-swift/
Sarunw
Different ways to catch throwing errors from Swift do-catch | Sarunw
It is tempting to just catch all a throwing error in a single catch clause and call it a day, but not all errors are created equals, and you should treat it as such.
Создание кодогенерирующих скриптов при помощи SourceKit на примере автоматической регистрации существующих зависимостей в DI контейнере.
https://swiftrocks.com/code-generation-with-sourcekit
https://swiftrocks.com/code-generation-with-sourcekit
Swiftrocks
Adding Intelligent Code Generation to Swift Projects with SourceKit
I've been playing with intelligent code generation for a couple of years now, and I'd like to show you how to achieve this with SourceKit.
Vivid Money is looking for iOS-developer!
Vivid Money — это международный финтех-стартап с корнями из Тинькофф. В Vivid создают и развивают банковские, инвестиционные и даже крипто- продукты.
Проект написан на Swift с использованием VIP архитектуры, свой декларативный layout, повсеместная кодогенерация. Нет никакого легаси, зато есть куча плюшек, интересные задачи и ежедневная практика английского языка)
Если интересно, пиши @kharrasova
Vivid Money — это международный финтех-стартап с корнями из Тинькофф. В Vivid создают и развивают банковские, инвестиционные и даже крипто- продукты.
Проект написан на Swift с использованием VIP архитектуры, свой декларативный layout, повсеместная кодогенерация. Нет никакого легаси, зато есть куча плюшек, интересные задачи и ежедневная практика английского языка)
Если интересно, пиши @kharrasova
Уже успели обрадоваться, что Apple разрешит проводить платежи в обход их системы? Ха. Хаха. Ха.
https://twitter.com/nikogenn/status/1431175304261873667?s=21
https://twitter.com/nikogenn/status/1431175304261873667?s=21
Twitter
Nikita Maidanov
Вы наверняка видели сегодняшнюю новость про "Apple заявила в суде, что готова разрешить разработчикам рассказывать о способах оплаты в обход App Store". О том, почему это не так, почему ничего не изменилось и почему это важная победа для Apple – тред
Уже видели шумиху про поддержку конкурентности на старых операционках? @antonsergeev88 уточнил у автора, на iOS 10-12 работать не будет.
https://github.com/apple/swift/pull/39051
https://github.com/apple/swift/pull/39051
GitHub
Add an option to build the concurrency library for back deployment. by DougGregor · Pull Request #39051 · apple/swift
Introduce an additional build product to build-script to build
back-deployable concurrency libraries. These libraries would need to
be embedded in apps deployed prior to macOS 12/iOS 15 to support
...
back-deployable concurrency libraries. These libraries would need to
be embedded in apps deployed prior to macOS 12/iOS 15 to support
...
Pointfree заопенсорсили кастомный вариант функции
https://www.pointfree. co/blog/posts/62-open-sourcing-custom-dump
dump()
и плюсом diff()
для более удобного логирования объектов.https://www.pointfree. co/blog/posts/62-open-sourcing-custom-dump
www.pointfree.co
Open Sourcing: Custom Dump
Today we are open sourcing Custom Dump, a collection of tools for debugging, diffing, and testing your application’s data structures.
Короткий гайд по прокидыванию геолокации в
http://hboon.com/notes-on-listening-to-location-changes-in-wkwebview/
WKWebView
.http://hboon.com/notes-on-listening-to-location-changes-in-wkwebview/
Hi, I’m Hwee-Boon Yar
Redirecting to page
I write, ship and sell software products. Indie. Writing code in Swift, TypeScript and Ruby. Based in Singapore, working remotely. This is my blog.
Реализация условного модификатора в SwiftUI приносит больше проблем, чем может показаться изначально. Начиная с визуальных дефектов, заканчивая потерей данных из-за ресета
https://www.objc.io/blog/2021/08/24/conditional-view-modifiers/
@State
переменных.https://www.objc.io/blog/2021/08/24/conditional-view-modifiers/
www.objc.io
Why Conditional View Modifiers are a Bad Idea
A SwiftUI anti-pattern
Подумываете расти из разработчика в продакты? Держите детальный план!
https://twitter.com/igrekde/status/1432721716480970758?s=21
https://twitter.com/igrekde/status/1432721716480970758?s=21
Twitter
Egor Tolstoy
Тред про то, как из разработчика перейти в продакт-менеджеры без покупки дорогих курсов. 🧵Лайк, ретвит, погнали.
Финтеху Яндекса нужны iOS-разработчики
Сразу две новости — одна лучше другой. Первую вы наверняка уже слышали: в Яндексе появился Финтех, который в скором времени станет Яндекс Банком. Новость вторая: у нас в подписчиках есть ребята из команды Финтеха, которые занимаются iOS-разработкой и ищут в команду виртуозных специалистов, пишущих на Swift.
Обещают работу без легаси и чужого кода, нанимают за неделю и нацелены попасть в топ-3 банков через нескольких лет.
Звучит хорошо: включиться в разработку банка на самом старте и потом рассказывать внукам, что сотворил империю (why not), ну и, как минимум, — это интересный опыт и отличный шанс быстро прокачать свои скиллы.
Все подробности ищите здесь.
Сразу две новости — одна лучше другой. Первую вы наверняка уже слышали: в Яндексе появился Финтех, который в скором времени станет Яндекс Банком. Новость вторая: у нас в подписчиках есть ребята из команды Финтеха, которые занимаются iOS-разработкой и ищут в команду виртуозных специалистов, пишущих на Swift.
Обещают работу без легаси и чужого кода, нанимают за неделю и нацелены попасть в топ-3 банков через нескольких лет.
Звучит хорошо: включиться в разработку банка на самом старте и потом рассказывать внукам, что сотворил империю (why not), ну и, как минимум, — это интересный опыт и отличный шанс быстро прокачать свои скиллы.
Все подробности ищите здесь.
Короткий совет: чтобы не забыть убрать код, специфичный для определенных ОС, можно указать версию депрекейта в
https://www.basbroek.nl/deprecating-workarounds
#available
.https://www.basbroek.nl/deprecating-workarounds
Bas’ Blog
Deprecating Workarounds
A tip shared by Ole Begemann some time ago to check if your workarounds in Swift have been fixed has been super helpful. With Swift, the compiler helps you out a bunch — why not use that to make sure you check if certain bugs have been fixed in newer versions…
Что может сделать разработку UI еще лучше после появления SwiftUI? Правильно – дизайнеры, которые умеют работать вместе с разработчиками, придерживаются эппловых гайдлайнов и в целом работают с вами плечом к плечу. Мы в Подлодке хотим помочь этому случиться и организуем Design Crew #1.
Темы недель:
- Редизайн (как спланировать, провести и оценить его пользу)
- Взаимодействие с разработчиками (процессы, инструменты, самостоятельная верстка)
Так вот, план-капкан – пошарьте ссылку на конференцию своим дизайнерам, дождитесь, пока они туда сходят, и внедряйте вместе новые практики! А так как конференцию проводим впервые, держите промик:
podlodka.io/designcrew
Темы недель:
- Редизайн (как спланировать, провести и оценить его пользу)
- Взаимодействие с разработчиками (процессы, инструменты, самостоятельная верстка)
Так вот, план-капкан – пошарьте ссылку на конференцию своим дизайнерам, дождитесь, пока они туда сходят, и внедряйте вместе новые практики! А так как конференцию проводим впервые, держите промик:
gr_design
.podlodka.io/designcrew
podlodka.io
Онлайн-конференция Podlodka Design Crew, сезон #3
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам frontend-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
@AppStorage
появился еще в iOS 14 для удобного доступа к UserDefaults
. Но удобен он только для одного View
, да и в целом строковые литералы повсюду доверия не внушают. Поэтому можно добавить кастомную альтернативу, чтобы удобнее хранить ключи и шарить данные между вьюшками.https://www.avanderlee.com/swift/appstorage-explained/
SwiftLee
@AppStorage explained and replicated for a better alternative
The @AppStorage property wrapper allows reading and writing user defaults easily, while monitoring changes to redraw SwiftUI Views.
В этом году в SwiftUI появился долгожданный декларативный аналог
https://swiftwithmajid.com/2021/08/24/mastering-focusstate-property-wrapper-in-swiftui/
firstResponder
из UIKit - @FocusState
. Выбранный фокус можно определять как булевыми значениями, так и сравнением с любым Hashable
значением.https://swiftwithmajid.com/2021/08/24/mastering-focusstate-property-wrapper-in-swiftui/
Swift with Majid
Mastering FocusState property wrapper in SwiftUI
SwiftUI became very powerful during the last WWDC. We gained many new features, and one of them was a brand new FocusState property wrapper. FocusState property wrapper allows us to read and write the current focus position in the view hierarchy. This week…
Если захочется заменить строковые литералы в настройке девайсов для преью в SwiftUI, можно использовать уже готовую библиотеку.
https://dev.to/toni777772/meet-previewdevice-0-7-0-1dpg
https://dev.to/toni777772/meet-previewdevice-0-7-0-1dpg
DEV Community
Meet PreviewDevice 0.7.0
PreviewDevice - a library with elegant syntax for preview device in SwiftUI. The first question that...
Хорошая статья от Ильи Кузнецова про то, как правильно готовиться к собесам, когда ты айосер.
https://habr.com/ru/company/indriver/blog/575572/
https://habr.com/ru/company/indriver/blog/575572/
Хабр
Как подготовиться к iOS-собеседованию
Всем привет! Меня зовут Илья, и я провожу собеседования * хлоп-хлоп-хлоп* . Сейчас работаю на позиции Principal iOS Engineer в inDriver, мой фокус смещен в сторону технических...
Огромный полный список свойств, доступных из коробки в качестве системного окружения (`@Environment(…)`).
https://www.fivestars.blog/articles/swiftui-environment-values/
https://www.fivestars.blog/articles/swiftui-environment-values/
FIVE STARS
Every SwiftUI Environment Value explained | FIVE STARS
A tour on the 50+ public environment values.
Как создать свою асинхронную последовательность, а потом еще и преобразовать ее в
https://www.swiftbysundell.com/articles/async-sequences-streams-and-combine/
Publisher
для использования с Combine.https://www.swiftbysundell.com/articles/async-sequences-streams-and-combine/
Swift by Sundell
Async sequences, streams, and Combine | Swift by Sundell
How Swift’s AsyncSequence and AsyncStream APIs can be used to build asynchronous sequences, and how they relate to Apple’s Combine framework.