Jetpack Compose — Respect the contract of Modifiers
https://blog.protein.tech/jetpack-compose-respect-the-contract-of-modifiers-ecbbe8ce03db
#Android
👉 @developer_mobila
https://blog.protein.tech/jetpack-compose-respect-the-contract-of-modifiers-ecbbe8ce03db
#Android
👉 @developer_mobila
Medium
Jetpack Compose — Respect the contract of Modifiers
The do’s and don’ts of Modifiers
This media is not supported in your browser
VIEW IN TELEGRAM
17–18 июня Яндекс проводит Weekend Offer Mobile
Всего за 2 дня можно пройти все технические секции и попасть в проект, который покажется самым интересным. Ищем крутых мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет.
Предлагаем работу в любом офисе в России и Беларуси. Некоторые команды приглашают в наши хабы в Армении, Казахстане и Сербии.
Заявки принимаем до 12 июня.
Подробности ищите здесь
Всего за 2 дня можно пройти все технические секции и попасть в проект, который покажется самым интересным. Ищем крутых мобильных разработчиков на iOS, Android и Flutter с опытом от 3 лет.
Предлагаем работу в любом офисе в России и Беларуси. Некоторые команды приглашают в наши хабы в Армении, Казахстане и Сербии.
Заявки принимаем до 12 июня.
Подробности ищите здесь
Merge, CombineLatest, and Zip: Comparing Operators of Combine for iOS
https://holyswift.app/what-is-the-difference-between-merge-combinelatests-and-zip-using-combine-in-swift/
#ios
👉 @developer_mobila
https://holyswift.app/what-is-the-difference-between-merge-combinelatests-and-zip-using-combine-in-swift/
#ios
👉 @developer_mobila
👍2
Шаблон заголовка в Xcode для Swift Package
Если вы используете пакет Swift, то при создании нового файла возникают две досадные проблемы.
Проблема 1: Отсутствие шаблона заголовка
Проблема 2: Не запрашивается имя файла
https://samwize.com/2023/02/28/xcode-header-template-for-swift-packages/
#ios
👉 @developer_mobila
Если вы используете пакет Swift, то при создании нового файла возникают две досадные проблемы.
Проблема 1: Отсутствие шаблона заголовка
Проблема 2: Не запрашивается имя файла
https://samwize.com/2023/02/28/xcode-header-template-for-swift-packages/
#ios
👉 @developer_mobila
👍1
Как уменьшить размер Android приложения
00:00 Вступление
00:40 Размер Android приложения
01:32 AvitoTech
02:12 Картинки
06:22 Шрифты
08:20 Поддерживаемые конфигурации для ресурсов
09:09 Дублирование ресурсов
09:41 Оптимизация через Tint
10:16 Удаление неиспользуемых ресурсов из проекта
11:49 Оптимизации кода
15:54 Удаление мусора в сборке
16:51 Сравнение размеров APK
17:38 Заключение
https://www.youtube.com/watch?v=ZNqwXg7vDFY
#Android
👉 @developer_mobila
00:00 Вступление
00:40 Размер Android приложения
01:32 AvitoTech
02:12 Картинки
06:22 Шрифты
08:20 Поддерживаемые конфигурации для ресурсов
09:09 Дублирование ресурсов
09:41 Оптимизация через Tint
10:16 Удаление неиспользуемых ресурсов из проекта
11:49 Оптимизации кода
15:54 Удаление мусора в сборке
16:51 Сравнение размеров APK
17:38 Заключение
https://www.youtube.com/watch?v=ZNqwXg7vDFY
#Android
👉 @developer_mobila
YouTube
Как уменьшить размер Android приложения
Лучшие практики по уменьшению размера Android приложения
🔗 Технологии и вакансии AvitoTech https://cutt.ly/X7w1vvC
🔗 Telegram канал "Android Broadcast" https://ttttt.me/android_broadcast
💰 Поддержать проект на Boosty https://boosty.to/androidbroadcast…
🔗 Технологии и вакансии AvitoTech https://cutt.ly/X7w1vvC
🔗 Telegram канал "Android Broadcast" https://ttttt.me/android_broadcast
💰 Поддержать проект на Boosty https://boosty.to/androidbroadcast…
How to Create Custom Redacted Effects on Widgets
https://swiftsenpai.com/development/widget-custom-redacted-effects/
#ios
👉 @developer_mobila
https://swiftsenpai.com/development/widget-custom-redacted-effects/
#ios
👉 @developer_mobila
Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы
Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.
https://habr.com/ru/companies/yandex_praktikum/articles/726540/
#Android
👉 @developer_mobila
Статья поделена на две части — в первой я описываю работу в команде и какие навыки для этого нужны, во второй части расскажу, что нужно для создания новой функциональности в приложении или для исправления старого. Иначе говоря, первая часть про людей, вторая — про код.
https://habr.com/ru/companies/yandex_praktikum/articles/726540/
#Android
👉 @developer_mobila
👍3
Оптимизация 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