Кажется, завтра на Авито начнут распродаваться Mac Mini из всех тех ферм, которые успели построить у себя команды мобильной разработки.
https://www.youtube.com/watch?v=Pn3miC_tTH0
https://www.youtube.com/watch?v=Pn3miC_tTH0
YouTube
AWS EC2 Mac Instances Launch - macOS in the cloud for the first time, with the benefits of EC2
Amazon EC2 Mac instances are built on Mac mini computers, feature the macOS operating system and are powered by AWS Nitro. EC2 Mac instances enable customers to run on-demand macOS workloads in the cloud for the first time, giving developers an efficient…
Когда использование ленивых коллекций поможет, а когда наоборот ухудшит производительность. Для семейства 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/
steipete’s blog
Apple Silicon M1: A Developer’s Perspective
The excitement around Apple’s new M1 chip is everywhere. I bought a MacBook Air 16 GB M1 to see how viable it is as a main development machine.
Изображения могут занимать в памяти приложения гораздо больше (80мб), чем весит при хранении (2мб). Почему так и решение проблемы при помощи понижающей дискретизации.
https://swiftsenpai.com/development/reduce-uiimage-memory-footprint/
https://swiftsenpai.com/development/reduce-uiimage-memory-footprint/
Swift Senpai
Reducing Memory Footprint When Using UIImage - Swift Senpai
Learn how to use image downsampling to drastically reduce an app memory footprint when dealing with high definition UIImage.
Будущее навигации при помощи 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…