Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
854 photos
239 videos
2.95K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Реализуем сквирклморфизм

Недавно мы разбирали, что такое сквирклморфизм. Его принципы реализованы в библиотеке SquircleView. С её помощью вы можете создавать View в форме сквиркла.

Репозиторий: https://github.com/Juky-App/SquircleView

#android #библиотеки
Управляем микроконтроллером с Android-смартфона

Концепция «умного дома» — уже не фантастика. С Android-устройства можно, например, считывать температуру и управлять светодиодами с микроконтроллера ESP8266. И всё это через Wi-Fi.

Вот как это можно реализовать:

https://youtu.be/BmEqc8nOqWM

#android #native
С августа новые Android-приложения должны перейти на формат Android App Bundle

Иначе их не пропустят в Google Play.

Формат Android App Bundle (AAB) пришёл на замену Android Package (APK). Внутри него приложение делится на специальные модули, и пользователь загружает приложение только с необходимыми для устройства пакетами.

Благодаря этому разработчики могут более свободно работать с лимитом на размер установочного файла приложения — 150 МБ.

Если вы уже упаковывали приложение в оптимизированный APK, то переход на AAB пройдёт гладко: достаточно пересобрать приложение в новый формат в Android Studio или через командную строку.

Подробнее об Android App Bundle и как собрать приложение: https://developer.android.com/guide/app-bundle

#android #native
Как в View Model избавиться от наследования ViewModel

Обычно в проекте отвязки от ViewModel не требуется. Но если вы реализуете приложение на Kotlin Mutliplatform (KMM), то необходимо написать код так, чтобы он работал на разных платформах и не зависел от Android.

В статье подробно разобрана эта проблема:

https://tprg.ru/BYDu

#android #native
This media is not supported in your browser
VIEW IN TELEGRAM
Реализуем эффект размытия на Flutter

Если вам нужно «заблюрить» экран Flutter-приложения, например, при выскакивании уведомления, то в этом может помочь виджет BackdropFilter. Он применяет нужный фильтр как к нужному виджету, так и ко всему экрану.

В статье рассказано, как достичь эффекта размытия с помощью BackdropFilter:

https://tprg.ru/1mDn

#flutter
Вышла первая Release Candidate-версия Jetpack Compose

Новых функций в Compose-библиотеках нет. Но сам факт перехода Jetpack Compose в ветку RC уже говорит о том, что релиз не за горами. Вот полные списки всех изменений.

Вместе с Compose обновления получили и другие Jetpack-библиотеки:

Navigation 2.4.0-alpha04 получила встроенную поддержку двухпанельных layout с помощью AbstractListDetailFragment;
Paging 3.1.0-alpha02 теперь может слушать, когда происходит обновление страниц.

#android #jetpack
Как работать с API StoreKit 2

Storekit — это фреймворк от Apple, который позволяет встроить покупки прямо в iOS-приложение. В июне фреймворк получил обновление до второй версии.

В статье рассматривается работа с StoreKit 2 со стороны сервера через App Store Server API:

https://tprg.ru/vu91

#ios
Поддержка настольного режима для складных Android-устройств

Хоть складных устройств на рынке довольно мало, но они обладают уникальными фишками. В их число входит настольный режим (tabletop mode), когда верхняя часть экрана приподнимается.

К счастью, на Android есть инструменты, которые позволяют определить, в каком положении находится устройство, и адаптировать под него приложении.

В статье объясняется, как реализовать поддержку настольного режима на примере простого видеоплеера:

https://tprg.ru/jXFk

#android

Кстати, так выглядит Google Duo до и после оптимизации под складные устройства:
This media is not supported in your browser
VIEW IN TELEGRAM
К слову о фичах складных Android-устройств. Пожалуй, сложно придумать что-то лучше, чем превращение смартфона RAZR в ностальгическую «звонилку».

#android
Интеграция Huawei Mobile Services в Android-приложение

Huawei — один из лидеров на рынке мобильных смартфонов. Но на относительно новых смартфонах от Huawei вместо сервисов Google встроены Huawei Mobile Services (HMS) и свой магазин приложений AppGallery.

Если вы хотите опубликовать приложение в AppGallery, то в видео показывается, как интегрировать HMS:

https://youtu.be/LQAgkxfu7M4

#android
Переход новых приложений на формат Android App Bundle

С 1 августа все новые Android-приложения должны загружаться в Google Play в формате Android App Bundle (AAB). Новый формат обещает уменьшить размер пакетов для конечных пользователей. Однако его внедрение может повлечь потенциальные проблемы:

привязка к Google Play. Приложение будет теснее завязано на сервисах Google, и поэтому для альтернативных платформ (например, AppGallery) понадобится делать свою версию приложения;

Google сама будет подписывать приложения, поскольку нужные для пользователя APK-файлы генерируются автоматически. Поэтому APK-файл от разработчика и версия из Google Play могут быть несовместимы из-за разных подписей.

Используете ли вы формат Android App Bundle? Действительно ли он хорош и удобен для разработчика?

#чат
Библиотека для визуализации сложности пароля

Имеет 6 градаций сложности. Написана на Java.

Код: https://github.com/RHSaliya/PasswordStrengthView

#android #ui
Корутины в Android

Корутины — это «фишка» Kotlin. С их помощью вы можете написать асинхронный код.

В Android корутины не только нативно поддерживаются, но и часто используются для обеспечения многопоточности приложения.

Статья объяснит, как использовать корутины: https://tprg.ru/rShZ

#android #начинающим
Судоку на Kotlin Multiplatform и Jetpack Compose

Приложение представляет собой хороший пример того, как сделать для разных платформ общим код: данные, бизнес-логику, представление, навигацию и UI.

Код проекта: https://github.com/aaronoe/ComposeArcade

#android #jetpack
Как определить, находится ли курсор мыши на виджете

Для этого в Flutter есть виджет MouseRegion. Он помогает определить координаты курсора и отследить выход из исследуемой области.

Где может пригодиться? Для создания десктопных приложений на Flutter или для поддержки Android-планшетов с возможностью использования мыши.

Подробнее о MouseRegion в документации: https://tprg.ru/0Agy

#flutter #библиотеки
Рекламодатели стали меньше тратить на iOS, но больше на Android

В апреле вышла iOS 14.5 с внедрённым фреймворком App Tracking Transparency. С этого момента разработчики обязаны спрашивать разрешение на отслеживание пользовательской активности.

Ожидаемо, что со сбором данных согласилось менее трети пользователей. В результате рекламодатели переключились на Android, и реклама на Android стала стоить в среднем на 30% дороже, чем на iOS.

Пришли золотые времена Android-разработчиков?

#android #ios
Как Яндекс.Клавиатура ускоряет ввод текста на смартфоне

Казалось бы, что можно придумать нового в приложении клавиатуры? Однако разработчики Яндекс.Клавиатуры нашли интересный способ уменьшить количество опечаток.

Когда пользователь пишет в спешке слова, то специальная математическая модель увеличивает «хитбоксы» букв, которые, вероятнее всего, будут следующими. Благодаря этому пользователь, промахнувшись по центру области буквы, всё равно введёт нужную.

В статье объяснили подробнее, как это работает: https://tprg.ru/6cNw

#android
Карточки на SwiftUI

Концепция карточек а-ля Tinder отлично вписывается в интерфейс мобильного приложения. В виде карточек можно реализовать, например, небольшой гайд.

А так выглядит один из вариантов реализации карточек для iOS-приложения:

https://github.com/Volorf/swipeable-cards

#ios #ui
Что послушать: подкаст об ускорении сборки Android-приложения

После добавления фичи приходится каждый раз собирать проект. Однако процесс сборки далеко не быстрый. Что можно с этим сделать?

Об этом ребята из Mobile People Talks поговорили с мастером CI/CD из Avito Сергеем Боиштяном:

SoundCloud: https://tprg.ru/Sn9G
Apple Podcasts: https://tprg.ru/b4xG
Яндекс.Музыка: https://tprg.ru/iPck

#android #подкасты
Soft Skillz — новый канал от Tproger, где мы будем рассказывать о важности soft skills для работы и жизни и делиться способами их прокачки.

Тема soft skills достаточно широкая, поэтому в канале будет интересно не только айтишникам, но и тем, кто просто хотел бы повысить свою продуктивность.

Подписывайтесь сами и приглашайте друзей: @soft_skillz
iOS-приложение для поиска нового питомца

Приложение написано на SwiftUI и построено на MVVM-архитектуре.

Код: https://github.com/sameersyd/Wiggles-iOS

#swiftui #ios