Когда использование ленивых коллекций поможет, а когда наоборот ухудшит производительность. Для семейства LazyCollection это довольно короткая статья.
https://www.andyibanez.com/posts/lazy-sequences-in-swift/
https://www.andyibanez.com/posts/lazy-sequences-in-swift/
Andy Ibanez - iOS Developer
Lazy Sequences in Swift
Learn about lazy sequences in Swift and how to use them.
Как Кошелек 3D добавлял. Apple уже давно устарела OpenGL, поэтому решили переползти на SceneKit. Особенно интересно про генерацию кастомных текстур под каждую карту и проблемы, с которыми столкнулись в продакшне.
https://habr.com/ru/company/cardsmobile/blog/529958/
https://habr.com/ru/company/cardsmobile/blog/529958/
Хабр
Как добавить 3D в iOS приложение c помощью SceneKit
Одна из запоминающихся частей приложения «Кошелёк» — 3D-изображение карт и купонов с источниками света, бликами на поверхности и возможностью вращения. На собес...
Похоже из-за новых маков всем разработчикам библиотек надо обязательно переходить с толстых фреймворков на XCFramework. В Carthage поддержку XCFramework пока не завезли, ломается.
https://pyckamil.github.io/programming,/framework,/xcode/2020/11/21/deprecating-frameworks.html
https://pyckamil.github.io/programming,/framework,/xcode/2020/11/21/deprecating-frameworks.html
Kamil Pyc
Deprecating Frameworks
I can imagine that if Framework was an API we would probably see it marked as @available(*, deprecated, message: "Use XCFramework now!") when XCFrameworks was introduced in last year’s WWDC.
С WordPress на SwiftUI. Автор решил не заморачиваться с бэком, а просто добавить обработку HTML на устройстве. Дешево и сердито.
https://www.oliverbinns.co.uk/2020/11/25/going-native-with-wordpress/
https://www.oliverbinns.co.uk/2020/11/25/going-native-with-wordpress/
Лонгрид про интересные особенности отображения bounding box, созданной при помощи Vision. Непривычный origin, поворот не туда, обрезание и преобразование координат в нужную систему.
https://machinethink.net/blog/bounding-boxes/
https://machinethink.net/blog/bounding-boxes/
machinethink.net
How to display Vision bounding boxes
What to do if the predicted bounding boxes are drawn in the wrong place
14 декабря стартует первая конференция про современную кроссплатформенную мобильную разработку – Podlodka Crossplatform Crew!
А это значит, что вас ждет:
🔹неделя интенсивов и воркшопов по кроссплатформенным технологиям
🔹общение с крутейшими экспертами и другими участниками комьюнити
🔹куча новых практик и идей, которые можно унести в свой багаж
Никаких “Hello World!” на абстрактных примерах, только настоящий опыт внедрения и использования кроссплатформы в реальных проектах от топовых экспертов.
Тем, кто уже хорошо знаком с любой из платформ, неделя Crossplatform Crew будет особо полезна, потому что поможет понять, какая кроссплатформа лучше всего подойдет проекту, и подойдет ли вообще. В программе:
- Интервью про кейсы внедрения Flutter, React Native, Kotlin Multiplatform Mobile в разных компаниях
- Воркшопы по интеграции разных технологий в существующий проект
- Рулетка кейсов и шоу “Прожарка”. Описывать бессмысленно – это надо видеть!
Как обычно, на конференции нет скучных предзаписанных докладов, зато есть море интерактива и пользы!
Старт 14 декабря, а билеты на сайте пока еще с очень хорошей скидкой!
А это значит, что вас ждет:
🔹неделя интенсивов и воркшопов по кроссплатформенным технологиям
🔹общение с крутейшими экспертами и другими участниками комьюнити
🔹куча новых практик и идей, которые можно унести в свой багаж
Никаких “Hello World!” на абстрактных примерах, только настоящий опыт внедрения и использования кроссплатформы в реальных проектах от топовых экспертов.
Тем, кто уже хорошо знаком с любой из платформ, неделя Crossplatform Crew будет особо полезна, потому что поможет понять, какая кроссплатформа лучше всего подойдет проекту, и подойдет ли вообще. В программе:
- Интервью про кейсы внедрения Flutter, React Native, Kotlin Multiplatform Mobile в разных компаниях
- Воркшопы по интеграции разных технологий в существующий проект
- Рулетка кейсов и шоу “Прожарка”. Описывать бессмысленно – это надо видеть!
Как обычно, на конференции нет скучных предзаписанных докладов, зато есть море интерактива и пользы!
Старт 14 декабря, а билеты на сайте пока еще с очень хорошей скидкой!
Назад в будущее: делаем из обычных функций строковые хуки. Показана часть имплементации внутренностей сервера на Swift, где такой механизм необходим.
https://theswiftdev.com/event-driven-generic-hooks-for-swift/
https://theswiftdev.com/event-driven-generic-hooks-for-swift/
Theswiftdev
Event-driven generic hooks for Swift - The.Swift.Dev.
In this article I am going to show you how to implement a basic event processing system for your modular Swift application.
На М1 переходить еще рано, Xcode фризит и крашит, старые оси не работают. Но все когда-нибудь починят, возможно. Про отсутствие виртуализации, Android Studio и Windows тоже есть.
https://steipete.com/posts/apple-silicon-m1-a-developer-perspective/
https://steipete.com/posts/apple-silicon-m1-a-developer-perspective/
Изображения могут занимать в памяти приложения гораздо больше (80мб), чем весит при хранении (2мб). Почему так и решение проблемы при помощи понижающей дискретизации.
https://swiftsenpai.com/development/reduce-uiimage-memory-footprint/
https://swiftsenpai.com/development/reduce-uiimage-memory-footprint/
Будущее навигации при помощи NavigationLink или продолжаем костылять и прятать в расширения в SwiftUI.
https://fivestars.blog/swiftui/programmatic-navigation.html
https://fivestars.blog/swiftui/programmatic-navigation.html
FIVE STARS
The future of SwiftUI navigation (?) | FIVE STARS
Exploring iOS, SwiftUI & much more.
Может часы и тв обделены вниманием по понятным причинам, но в SwiftUI довольно интересно переработали механизм фокусировки. Выглядит проще, чем в UIKit. Интересно, как работает?
https://swiftwithmajid.com/2020/12/02/focus-management-in-swiftui/
https://swiftwithmajid.com/2020/12/02/focus-management-in-swiftui/
Swift with Majid
Focus management in SwiftUI
WWDC 20 brings us tons of new SwiftUI APIs, which we can use to improve our apps user experience without using UIKit. One of these new APIs was the focus management API that we can use on iOS, macOS, tvOS, and watchOS. This week we will talk about SwiftUI…
Если вы еще не уделяли сортировкам коллекций достаточно внимания то самое время это сделать с новой статьей от Сандела. В конечном счете получим удобный API для пошаговых сортировок с разными дескрипторами.
https://www.swiftbysundell.com/articles/sorting-swift-collections/
https://www.swiftbysundell.com/articles/sorting-swift-collections/
Swift by Sundell
Sorting Swift collections | Swift by Sundell
A look at the various sorting APIs that the Swift standard library offers, and how we could augment those APIs in order to make more advanced sorting tasks easier to perform.
Еще чуть-чуть и 10х. Добавляем View и Modifier в библиотеку Xcode для быстрого доступа - одна из крутых функций SwiftUI. В том числе рассказывается про известные баги, но почему бы не попробовать и не найти свои?
https://useyourloaf.com/blog/adding-views-and-modifiers-to-the-xcode-library/
https://useyourloaf.com/blog/adding-views-and-modifiers-to-the-xcode-library/
Use Your Loaf - iOS Development News & Tips
Adding Views and Modifiers to the Xcode Library
Xcode 12 allows you to add your own custom SwiftUI views and modifiers to the Xcode Library. Here's my quick summary of how it works.
Всегда хотели узнать, кто шарит больше – Александр Зимин или Джон Фир? Интересуетесь кроссплатформой, но боитесь в этом признаться? Любите “Свою игру”, но не понимаете вопросов, которые там задают? Хочешь посмотреть вживую на новые усы Егора Толстого?
📆 Подключайтесь сегодня в 19 часов к легендарнейшему лайву – “Кроссплатформа за триста”! В бешеной схватке за звание лучшего эксперта по кроссплатформе сойдутся Саша Зимин, Сергей Боиштян и звезда нашего чата Джон Фир. А ваша задача – поддержать своего фаворита комментариями на YouTube и кайфануть!
https://www.youtube.com/watch?v=CAYpm-ieJ3s
📆 Подключайтесь сегодня в 19 часов к легендарнейшему лайву – “Кроссплатформа за триста”! В бешеной схватке за звание лучшего эксперта по кроссплатформе сойдутся Саша Зимин, Сергей Боиштян и звезда нашего чата Джон Фир. А ваша задача – поддержать своего фаворита комментариями на YouTube и кайфануть!
https://www.youtube.com/watch?v=CAYpm-ieJ3s
YouTube
🤓 Crossplatform Crew: «Своя игра» с Александром Зиминым, Сергеем Боиштяном и Евгением Елчевым
Хочешь узнать больше про кроссплатформу или получить больше фана? Crossplatform Crew пройдет 14-18 декабря. Не пропусти: https://bit.ly/3qHwDnN
СПЕЦИАЛЬНО ДЛЯ ЗРИТЕЛЕЙ СВОЕЙ ИГРЫ — СКИДКА 25% НА УЧАСТИЕ В КОНФЕРЕНЦИИ!
промокод: CROSSPLATFORM300
Действителен…
СПЕЦИАЛЬНО ДЛЯ ЗРИТЕЛЕЙ СВОЕЙ ИГРЫ — СКИДКА 25% НА УЧАСТИЕ В КОНФЕРЕНЦИИ!
промокод: CROSSPLATFORM300
Действителен…
Объяснение того, что такое ограниченный выбор фотографий из галлереи занимает в этом гайде больше, чем техническая часть. Вполне заслуженно.
https://www.andyibanez.com/posts/understanding-limited-photo-library-ios-14/
https://www.andyibanez.com/posts/understanding-limited-photo-library-ios-14/
Andy Ibanez - iOS Developer
Understanding the Limited Photo Library in iOS 14
Learn how to implement features to deal with Apple's new privacy-focused photo library features.
Пример того, как можно добираться до корня проблемы, вместо использования быстрого фикса на примере миграции UICollectionViewDelegateFlowLayout c 3 версии Свифта на 4. Почему не 5?
https://www.gaelfoppolo.com/magical-objective-c-entrypoint/
https://www.gaelfoppolo.com/magical-objective-c-entrypoint/
И еще немного про жизненный цикл View в SwiftUI. Важно не перенести старый подход UIKit на новую технологию, чтобы почувствовать пользу от нее.
https://www.swiftbysundell.com/articles/the-lifecycle-and-semantics-of-a-swiftui-view/
https://www.swiftbysundell.com/articles/the-lifecycle-and-semantics-of-a-swiftui-view/
Swift by Sundell
The lifecycle and semantics of a SwiftUI view | Swift by Sundell
A look at what it means for SwiftUI to be a value-driven UI framework, and how we might need to break certain assumptions when adopting SwiftUI within our projects.
Революционный тред похлеще истории становления СССР. Можно будет пересказывать своим внукам, чего можно поесть, когда “переписать с нуля на новой технологии быстрее” на примере Uber. Без опыта в глобальной компании такое тяжело представить.
https://twitter.com/StanTwinB/status/1336890442768547845
https://twitter.com/StanTwinB/status/1336890442768547845
Twitter
McLaren Stanley
@tapbot_paul @lorenb @gsapienza Alright folks, gather round and let me tell you the story of (almost) the biggest engineering disaster I’ve ever had the misfortune of being involved in. It’s a tale of politics, architecture and the sunk cost fallacy [I’m…
Лайфхак с гитом, как можно удобно разделить настройки для рабочих и собственных проектов.
https://blog.kulman.sk/different-git-config-for-work-projects/
https://blog.kulman.sk/different-git-config-for-work-projects/
blog.kulman.sk
Using different Git config for personal and work projects
I use the same machines to work on both personal and work projects. I usually have to use a different Git identity for the work projects than for my personal projects.
Previously I had my personal Git identity set globally and then used local Git configs…
Previously I had my personal Git identity set globally and then used local Git configs…
Мастрид для тех, кто уже использует SwiftUI. Статья про то, что понимается под гибкостью View на примере заполнения HStack. Спойлер: сначала дается неправильное определение, поэтому обязательно надо дочитывать до конца.
https://www.objc.io/blog/2020/11/09/hstacks-child-ordering/
https://www.objc.io/blog/2020/11/09/hstacks-child-ordering/
Сегодня стартовала первая конференция про мобильную кроссплатформу Podlodka Crossplatform Crew. Первый спикер выступает прямо сейчас, но еще не поздно подключиться к сезону и успеть на остальные сессии, тем более что записи прошедших сессий сезона доступны всем, кто купил билет.
Напомним, что вы получите, если присоединитесь к нам прямо сейчас:
🤔 Попрактикуетесь сегодня вечером в том, как интегрировать Flutter
😱 Унесете в копилочку лучшие практики применения Kotlin Multiplatform Mobile в Cash App, разработанном в Square.
👴🏼 Разгадаете, почему в Shopify еще пишут на React Native, когда Airbnb уже давно поставил на нем жирный крест?
🤓 Научитесь преодолевать технические челленджи, которые обязательно встретятся вам, если вы решите интегрировать Flutter или KMM в ваш текущий проект
👯♀️ Потренируетесь готовить свою команду к внедрению кроссплатформы: изменения придут не только в кодовую базу, но и в ваши процессы!
💸 Запасетесь рабочими аргументами и психологическими техниками, которые помогут продать кроссплатформу вашему СTO
🎪 Расширите свой кругозор и разберетесь, в каких случаях альтернативная кроссплатформа (Xamarin, Gomobile и Capactor) могут сработать покруче хайповых технологий!
🙊 Выясните реальные особенности и проблемы популярных решений, про которые не расскажут ни на одном докладе — ПРОЖАРКА не пощадит никого!
А специально для тех, кто переживает, что уже поздно подключаться – скидка 500 рублей на билет по промокоду NE_POZDNO! Билеты по ссылке, а мы ждем вас на борту!
Напомним, что вы получите, если присоединитесь к нам прямо сейчас:
🤔 Попрактикуетесь сегодня вечером в том, как интегрировать Flutter
😱 Унесете в копилочку лучшие практики применения Kotlin Multiplatform Mobile в Cash App, разработанном в Square.
👴🏼 Разгадаете, почему в Shopify еще пишут на React Native, когда Airbnb уже давно поставил на нем жирный крест?
🤓 Научитесь преодолевать технические челленджи, которые обязательно встретятся вам, если вы решите интегрировать Flutter или KMM в ваш текущий проект
👯♀️ Потренируетесь готовить свою команду к внедрению кроссплатформы: изменения придут не только в кодовую базу, но и в ваши процессы!
💸 Запасетесь рабочими аргументами и психологическими техниками, которые помогут продать кроссплатформу вашему СTO
🎪 Расширите свой кругозор и разберетесь, в каких случаях альтернативная кроссплатформа (Xamarin, Gomobile и Capactor) могут сработать покруче хайповых технологий!
🙊 Выясните реальные особенности и проблемы популярных решений, про которые не расскажут ни на одном докладе — ПРОЖАРКА не пощадит никого!
А специально для тех, кто переживает, что уже поздно подключаться – скидка 500 рублей на билет по промокоду NE_POZDNO! Билеты по ссылке, а мы ждем вас на борту!