Оптимизация Compose
Серёжа Чумиков рассказал об оптимизациях Compose, которые помогут избежать огромного количества лишних рекомпозиций.
00:00 Вступление
00:38 Skippable-функции
02:41 Stable/unstable типы в Compose
08:31 Эквивалентность
11:04 @ Stable-функции
12:32 Обращение к вложенным полям data class
15:14 Подведение итогов 1 части "Рекомпозиция"
18:18 Списки stable/unstable функций и классов
19:45 Вопросы по первой части
30:15 2 часть. MutableState
34:05 Уровень рекомпозиции. Inline @ Composable фунции
37:28 Делегат vs value-поле
40:08 LaunchedEffect vs SnapshotFlow и derivedStateOf()
49:08 Захват параметров лямбдой
52:20 State как параметр @ Composable
56:25 Вопросы по 2 части
59:03 Разбор примера Осипа
https://youtu.be/OWSSu8CkhY4
#Android
👉 @developer_mobila
Серёжа Чумиков рассказал об оптимизациях Compose, которые помогут избежать огромного количества лишних рекомпозиций.
00:00 Вступление
00:38 Skippable-функции
02:41 Stable/unstable типы в Compose
08:31 Эквивалентность
11:04 @ Stable-функции
12:32 Обращение к вложенным полям data class
15:14 Подведение итогов 1 части "Рекомпозиция"
18:18 Списки stable/unstable функций и классов
19:45 Вопросы по первой части
30:15 2 часть. MutableState
34:05 Уровень рекомпозиции. Inline @ Composable фунции
37:28 Делегат vs value-поле
40:08 LaunchedEffect vs SnapshotFlow и derivedStateOf()
49:08 Захват параметров лямбдой
52:20 State как параметр @ Composable
56:25 Вопросы по 2 части
59:03 Разбор примера Осипа
https://youtu.be/OWSSu8CkhY4
#Android
👉 @developer_mobila
👍2
iOS Conf SG 2023
Man vs Machine: Can ChatGPT write better SwiftUI than you? - iOS Conf SG 2023
Your Brain 🧠 on Swift Concurrency - iOS Conf SG 2023
Shipping Side Projects in 2-2-2 Easy Steps - iOS Conf SG 2023
Making the Most Out of Swift - iOS Conf SG 2023
Все видео https://www.youtube.com/playlist?list=PLED4k3CZkY9RBYTMNziVhwXGepdcUIz8B
#ios
👉 @developer_mobila
Man vs Machine: Can ChatGPT write better SwiftUI than you? - iOS Conf SG 2023
Your Brain 🧠 on Swift Concurrency - iOS Conf SG 2023
Shipping Side Projects in 2-2-2 Easy Steps - iOS Conf SG 2023
Making the Most Out of Swift - iOS Conf SG 2023
Все видео https://www.youtube.com/playlist?list=PLED4k3CZkY9RBYTMNziVhwXGepdcUIz8B
#ios
👉 @developer_mobila
👍1
Исследование https-трафика мобильного приложения
Обычно я такими непотребствами не занимаюсь и уважаю частную жизнь приложений. Однако на днях мне довелось исследовать одно мобильное приложение написанное индусом в метро под iOS, а затем адаптированное под Android пьяным студентом «в комнате раздумий». Все действия выполнялись с целью дебага и понимания оптимальных условий для работы. Само приложение мы анализировать не будем, но подготовим среду для проведения исследований.
https://habr.com/ru/articles/728206/
#ios
👉 @developer_mobila
Обычно я такими непотребствами не занимаюсь и уважаю частную жизнь приложений. Однако на днях мне довелось исследовать одно мобильное приложение написанное индусом в метро под iOS, а затем адаптированное под Android пьяным студентом «в комнате раздумий». Все действия выполнялись с целью дебага и понимания оптимальных условий для работы. Само приложение мы анализировать не будем, но подготовим среду для проведения исследований.
https://habr.com/ru/articles/728206/
#ios
👉 @developer_mobila
Android HDR | Migrating from TextureView to SurfaceView (Part #1) — How to Migrate
https://medium.com/androiddevelopers/android-hdr-migrating-from-textureview-to-surfaceview-part-1-how-to-migrate-6bfd7f4b970e
#Android
👉 @developer_mobila
https://medium.com/androiddevelopers/android-hdr-migrating-from-textureview-to-surfaceview-part-1-how-to-migrate-6bfd7f4b970e
#Android
👉 @developer_mobila
❤2
Build Complex Lists in SwiftUI
https://jakubkiermasz.medium.com/building-a-complex-list-in-swiftui-196a6989726b
#ios
👉 @developer_mobila
https://jakubkiermasz.medium.com/building-a-complex-list-in-swiftui-196a6989726b
#ios
👉 @developer_mobila
Сам себе экосистема: Как я адаптировал старый смартфон под современные реалии и написал клиенты нужных мне сервисов
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!
https://habr.com/ru/companies/timeweb/articles/726086/
#Android
👉 @developer_mobila
Время неумолимо бежит вперед: выходят новые гаджеты, постепенно заменяя старые, превращая их в тыкву или в лучшем случае, в «тапочек» для звонков. Сейчас смартфоны стали практически одинаковы во всем: дисплей на всю площадь передней панели, почти полное отсутствие аппаратных кнопок, беспроводная зарядка… Это всё, конечно, здорово, но ведь иногда так хочется взять в руки старый, но такой необычный в наше время QWERTY-смартфон и попытаться его использовать как основной, да и цены на них могут приятно удивить: БУ девайс можно купить за несколько сотен рублей (~5-10$). Одна проблема — клиенты приложений на версии Android 1.6-2.0 безбожно устарели и давно не работают. Но иногда желание воскресить старый девайс превыше потребительского качества и тут я пришёл к мысли… а почему бы не написать с нуля свои клиенты популярных приложений? ВК с музыкой, YouTube, трекинг посылок. Так я и сел писать необходимые в повседневной жизни приложения, с нуля, на голом API Android, без каких либо фреймворков (и даже AppCompat). Получилось ли у меня это? Узнаем в статье!
https://habr.com/ru/companies/timeweb/articles/726086/
#Android
👉 @developer_mobila
👍5
Creating a custom Combine Publisher to extend UIKit
https://medium.com/swlh/creating-a-custom-combine-publisher-to-extend-uikit-ef97d6ad5cbb
#ios
👉 @developer_mobila
https://medium.com/swlh/creating-a-custom-combine-publisher-to-extend-uikit-ef97d6ad5cbb
#ios
👉 @developer_mobila
Medium
Creating a custom Combine Publisher to extend UIKit
A Custom Combine Publisher can add missing functionalities to UIKit elements you use every day. A lot of boilerplate code can be removed…
👍1
Представьте, что вы начали разработку нового Android-приложения. Поначалу особых проблем не будет. Вы реализовали лишь самые базовые функции. Экранов немного, и все они простые. Вам легко ориентироваться в коде. Вы бодро добавляете одну фичу за другой. Но со временем разработка усложняется: кода становится много, главный экран обрастает большим количеством UI-элементов и логики, экраны образуют сложные цепочки переходов. Приходится ломать голову, чтобы добавить что-то новое, не сломав ничего из старого. Скорость разработки падает. Знакомая ситуация?
Компонентный подход. Боремся со сложностью в Android-приложениях
https://habr.com/ru/articles/708040/
Компонентный подход. Реализуем экраны с помощью библиотеки Decompose
https://habr.com/ru/articles/709808/
Компонентный подход. Организуем навигацию с помощью библиотеки Decompose
https://habr.com/ru/articles/727962/
#Android
👉 @developer_mobila
Компонентный подход. Боремся со сложностью в Android-приложениях
https://habr.com/ru/articles/708040/
Компонентный подход. Реализуем экраны с помощью библиотеки Decompose
https://habr.com/ru/articles/709808/
Компонентный подход. Организуем навигацию с помощью библиотеки Decompose
https://habr.com/ru/articles/727962/
#Android
👉 @developer_mobila
👍4
Pocket Shop: eCommerce для Android
Pocket Shop — мобильный магазин, выполненный в лучших правилах MAD. Внутри чистая архитектура, Kotlin, Coroutines + Flow, Jetpack, MVVM, Retrofit2 & OkHttp3, Moshi и все прочие полагающиеся инструменты.
https://github.com/AYOMITIDE-OAJ/pocketshop
#Android
👉 @developer_mobila
Pocket Shop — мобильный магазин, выполненный в лучших правилах MAD. Внутри чистая архитектура, Kotlin, Coroutines + Flow, Jetpack, MVVM, Retrofit2 & OkHttp3, Moshi и все прочие полагающиеся инструменты.
https://github.com/AYOMITIDE-OAJ/pocketshop
#Android
👉 @developer_mobila
👍3
Группируйте и сортируйте коллекции Swift как профессионал
Swift предоставляет мощные возможности для группировки и сортировки коллекций. Давайте рассмотрим некоторые способы сделать это и как немного изменить логику сортировки.
https://danielsaidi.com/blog/2023/04/01/group-and-sort-swift-collections-like-a-pro
#ios
👉 @developer_mobila
Swift предоставляет мощные возможности для группировки и сортировки коллекций. Давайте рассмотрим некоторые способы сделать это и как немного изменить логику сортировки.
https://danielsaidi.com/blog/2023/04/01/group-and-sort-swift-collections-like-a-pro
#ios
👉 @developer_mobila
Daniel Saidi
Group and sort collections in Swift like a pro
Swift provides powerful ways to group and sort collections. Let’s take a look at some ways to do this and how to change the sort logic a ...
👍1
Как настроить автомиграцию в Room
В этой статье я расскажу про автомиграцию в Room (версия не ниже Room 2.4.0), варианты ее использования, преимущества, которые она дает, и проблемы, с которыми мы можем столкнуться.
https://habr.com/ru/companies/simbirsoft/articles/728492/
#Android
👉 @developer_mobila
В этой статье я расскажу про автомиграцию в Room (версия не ниже Room 2.4.0), варианты ее использования, преимущества, которые она дает, и проблемы, с которыми мы можем столкнуться.
https://habr.com/ru/companies/simbirsoft/articles/728492/
#Android
👉 @developer_mobila
Контекстное меню для таблиц
Apple добавила контекстные меню еще в iOS 13 и macOS 10.15. Вы можете добавить контекстное меню в любое представление. То, как пользователь видит меню, зависит от платформы:
Жест касания и удержания (длительное нажатие) на iOS.
Контрольный щелчок с помощью мыши на macOS и iPadOS.
Вторичный щелчок на трекпаде на macOS или iPadOS.
https://useyourloaf.com/blog/context-menus-for-tables
#ios
👉 @developer_mobila
Apple добавила контекстные меню еще в iOS 13 и macOS 10.15. Вы можете добавить контекстное меню в любое представление. То, как пользователь видит меню, зависит от платформы:
Жест касания и удержания (длительное нажатие) на iOS.
Контрольный щелчок с помощью мыши на macOS и iPadOS.
Вторичный щелчок на трекпаде на macOS или iPadOS.
https://useyourloaf.com/blog/context-menus-for-tables
#ios
👉 @developer_mobila
Мечтали о космосе, а работаете в опенспейсе?
Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.
Путешественников ждут 30 порталов в новые измерения. Там предстоит пройти миссии, набрать максимальное количество баллов и, конечно, разгадать все пасхалки.
Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.
Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!
Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.
🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!
Да пребудут с вами силы мультивселенной капибары!
(Упс… кажется, мы спалили первую пасхалку, Хьюстон)
Ерид: LdtCKbTQb
Мы тоже… Но мечты же должны сбываться! Поэтому мы создали свои мультивселенные и решили провести там настоящие соревнования по спортивному хакингу IT’s Tinkoff CTF.
Путешественников ждут 30 порталов в новые измерения. Там предстоит пройти миссии, набрать максимальное количество баллов и, конечно, разгадать все пасхалки.
Задания будут интересны разработчикам, SRE- и QA-инженерам, аналитикам и другим ИТ-специалистам. А еще вы сможете потренироваться на тестовых заданиях и выбрать лигу по своим скиллам.
Лучшим командам — вселенский почет и денежные призы до 360 000 рублей!
Покорять мультивселенные отправимся 15 и 16 июля. Участвовать можно онлайн и очно в 14 ИТ-хабах Тинькофф по всей России. Офлайн-участников ждут квизы, настолки, крутой мерч и нетворкинг с экспертами.
🚀Переходите на IT’s Tinkoff CTF, читайте подробности и регистрируйтесь!
Да пребудут с вами силы мультивселенной капибары!
Нейронные сети и Android: как их создавать и использовать в мобильных приложениях
Маски в Snapchat и Запрещёноgram, категоризация фотографий в галерее, улучшение качества фотографий в Google Camera — все эти фичи в приложениях используют нейронные сети. Будущее мобильных устройств тесно связано с развитием нейронных сетей и их интеграцией в различные приложения: нейросети помогают усовершенствовать пользовательский опыт и повысить эффективность работы приложений.
https://habr.com/ru/companies/surfstudio/articles/728554/
#Android
👉 @developer_mobila
Маски в Snapchat и Запрещёноgram, категоризация фотографий в галерее, улучшение качества фотографий в Google Camera — все эти фичи в приложениях используют нейронные сети. Будущее мобильных устройств тесно связано с развитием нейронных сетей и их интеграцией в различные приложения: нейросети помогают усовершенствовать пользовательский опыт и повысить эффективность работы приложений.
https://habr.com/ru/companies/surfstudio/articles/728554/
#Android
👉 @developer_mobila
Alfa Mobile Meetup в Технопарке аттракционов 📲
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
23 июня в офисе Альфа-Банка в Москве пройдет митап для iOS и Android разработчиков.
Как всегда, будет два отдельных трека: для iOS и Android. И на каждом треке будут свои доклады от разработчиков из Альфы, Ozon и Яндекс.
На треке Android спикеры обсудят с участниками, зачем объединять код от разных команд в одну библиотеку и как создать Android-монорепозиторий, как работают альтернативные маркетплейсы для приложений и устроен процесс релизов у Альфа-Банка.
На треке iOS будет доклад про дебаггинг приложения без Xcode и дискуссия с коллегами из Яндекса и Ozon Tech.
А помимо докладов гости смогут поучаствовать в розыгрыше мерча от Альфы, попробовать хот-доги и сладкую вату.
Когда: 23 июня в 18:30
Где: в офисе Альфа-Банка в Москве или онлайн
Зарегистрироваться на митап и посмотреть программу
👍1
The “Real” Modularization in Android
https://betterprogramming.pub/the-real-clean-architecture-in-android-modularization-e26940fd0a23
#Android
👉 @developer_mobila
https://betterprogramming.pub/the-real-clean-architecture-in-android-modularization-e26940fd0a23
#Android
👉 @developer_mobila
Custom View в Android — краткое руководство
https://habr.com/ru/articles/727744/
#Android
👉 @developer_mobila
https://habr.com/ru/articles/727744/
#Android
👉 @developer_mobila
👍1