Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Продолжаем делиться с вами контентом @AvitoTech с онлайн-конференции Podlodka iOS Crew #3!
С Александром Катиным из Авито и Денисом Оздемиром из Prisma AI поговорили о том, как собрать привлекательный макет из подручных средств без какого-либо навыка художника → https://youtu.be/1uDwOHL5bz4
С Александром Катиным из Авито и Денисом Оздемиром из Prisma AI поговорили о том, как собрать привлекательный макет из подручных средств без какого-либо навыка художника → https://youtu.be/1uDwOHL5bz4
YouTube
Воркшоп: От идеи до макета в iOS за 60 минут / Александр Катин, Денис Оздемир
Понравилось видео и хочешь узнать что-то еще про iOS? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена работа…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена работа…
Александр Спиричев из Додо рассказал, какие шорткаты и фишки работы с Xcode они используют. Есть как базовые Cmd+Shift+J, так и переустановка подов по хоткею и создание нативных темплейтов файлов.
https://habr.com/ru/company/dododev/blog/527740/
https://habr.com/ru/company/dododev/blog/527740/
Хабр
На пути к «10x инженеру»: шорткаты, сниппеты, шаблоны
Мы разобрались, как избежать рутины с помощью шорткатов для навигации, редактирования и отладки, чем могут помочь кастомные сниппеты и как прокачать файловые шаблоны. Описали это в «методичке» по...
Практическое использование Hopper Disassembler на примере строки поиска в Springboard. По ходу исследования обнаруживается и почему Xcode 12 такой большой. P.S. Потому что бинарник жирный.
https://sidorov.tech/all/kopaem-vnutr-springboard/
https://sidorov.tech/all/kopaem-vnutr-springboard/
sidorov.tech
Копаем внутрь SpringBoard
Копаемся в приватных фреймворках Apple и пытаемся воссоздать градиентный блюр как в App Library.
После этой статьи может возникнуть больше вопросов чем ответов. Речь идет о UIFontMetrics и адаптации своего шрифта к стилям текста с учетом системных возможностей изменения размеров текста. Если то что выше выглядит как набор слов, то точно стоит прочитать.
https://sarunw.com/posts/scaling-custom-fonts-automatically-with-dynamic-type/
https://sarunw.com/posts/scaling-custom-fonts-automatically-with-dynamic-type/
Sarunw
Scaling custom fonts automatically with Dynamic Type | Sarunw
Font is an essential part of an app. A good selection of font would make your app stand out from the crowd. But whatever fonts you choose, you have to make sure it doesn't lose its core function, readability. You might feel reluctant to use a custom font…
Какой жизненный путь проходят View в SwiftUI. Пока все несколько проще, но у меня большой вопрос: как существуют вместе “чистые функции” и анимации?
https://www.vadimbulavin.com/swiftui-view-lifecycle/
https://www.vadimbulavin.com/swiftui-view-lifecycle/
Yet Another Swift Blog
SwiftUI View Lifecycle
Learn the three phases of SwiftUI view lifecycle: Appearing, Updating and Disappearing.
Вторая часть рассказа про интероперабельность UIKit и SwiftUI. Теперь делаем ее полностью двусторонней.
https://www.swiftbysundell.com/articles/swiftui-and-uikit-interoperability-part-2/
https://www.swiftbysundell.com/articles/swiftui-and-uikit-interoperability-part-2/
Swift by Sundell
SwiftUI and UIKit interoperability - Part 2 | Swift by Sundell
In this second article about integrating SwiftUI and UIKit, we’ll take a look at how SwiftUI views can be embedded within UIKit-based view controllers, and various ways of sharing state between them.
Свои пет-проекты не обязательно забрасывать, когда они надоели. Если не жалко, их можно продавать. Самые отважные пытаются продать за 5млн бачей, но если дохода нет, то скорей всего это пара сотен. Автор статьи продал так 3 приложения.
https://www.revenuecat.com/blog/how-to-sell-an-app
https://www.revenuecat.com/blog/how-to-sell-an-app
Revenuecat
How to sell your mobile app
In this article I'll share everything I've learned from selling three different apps and explain the process from start to finish, including tax implications.
А теперь рассмотрим случай, когда интероперабельность становится сложнее благодаря вмешательству Objc Runtime. Скрещивание KVO и Combine.
https://augmentedcode.io/2020/11/08/observing-a-kvo-compatible-model-in-swiftui-and-mvvm/
https://augmentedcode.io/2020/11/08/observing-a-kvo-compatible-model-in-swiftui-and-mvvm/
Augmented Code
Observing a KVO compatible model in SwiftUI and MVVM
In model-view-view model (MVVM) architecture the view model observes the model and provides data for the view by transforming it when needed. When the user interacts with the view and changes the d…
Еще больше подробностей про профайлинг компиляции. Как говорится, все уже было написано.
https://www.avanderlee.com/optimization/analysing-build-performance-xcode/
https://www.avanderlee.com/optimization/analysing-build-performance-xcode/
SwiftLee
Build performance analysis for speeding up Xcode builds
Speed up Xcode Build Performance by gaining insights using Build Timing Summary and various techniques that can save you a lot of time.
Начинается трансляция CocoaHeads Remote VI!
Вас ждут следующие доклады:
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
🍏 Помимо докладов будет интервью с Ильей Кузнецовым (Head of iOS, inDriver)
Присоединяйтесь!
youtu.be/zs1BF4EIHcI
Вас ждут следующие доклады:
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
🍏 Помимо докладов будет интервью с Ильей Кузнецовым (Head of iOS, inDriver)
Присоединяйтесь!
youtu.be/zs1BF4EIHcI
YouTube
CocoaHeads Remote VI
Заходите в telegram канал @cocoaheads
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
Помимо докладов будет интервью с Ильей…
Александр Андрюхин расскажет про дизайн-систему в Авито, к чему пришли и как
Иван Шевелев покажет как в Яндекс.Музыке реализовали поддержку Siri и с чем столкнулись в процессе
Помимо докладов будет интервью с Ильей…
Пол Хадсон накидал промокодов на книги про iOS разработку от самых разных техноблогеров, статьи которых вы периодически видите здесь. Самое время закупаться.
https://mobile.twitter.com/twostraws/status/1331630977249144835
https://mobile.twitter.com/twostraws/status/1331630977249144835
Twitter
Paul Hudson
As Black Friday approaches, some great Swift writers have discounts. I can recommend these – use code “turkeysale2020” to save 40%: - A SwiftUI Kickstart: https://t.co/39b0mTkSd7 - iOS Unit Testing by Example: https://t.co/ZWaSu5E8Br - Swift Style: https…
Мониторим изменения в файлах при помощи DispatchSource. Примером служит вывод новых дебаг-логов.
https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift
https://swiftrocks.com/dispatchsource-detecting-changes-in-files-and-folders-in-swift
Swiftrocks
DispatchSource: Detecting changes in files and folders in Swift
The DispatchSource family of types from GCD contains a series of objects that are capable of monitoring OS-related events. In this article, we'll see how to use DispatchSource to monitor a log file and create a debug-only view that shows the app's latest…
Кажется, завтра на Авито начнут распродаваться 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.