Мобильная разработка – 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
Автотесты на Espresso: первые вопросы и способы их решений

Espresso — это фреймворк для автоматизации тестирования Android-приложений. Но у начинающего тестировщика могут возникнуть сложности при работе с фреймворком.

Поэтому в статье разобраны вопросы по Espresso, которые могут появиться у новичков:

https://tprg.ru/zteN

#тестирование #android
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация «стадного» алгоритма на Jetpack Compose

Можно настроить выравнивание, сплочённость и разделение частиц, а также силу нажатия пользователя.

Код: https://github.com/ch8n/Compose-boids-flocking

#jetpack
Приложение-часы на Flutter

В приложении реализована светлая и тёмная тема.

Вот как это реализовано:
https://github.com/hongvinhmobile/flutter_analog_clock

#flutter #ui
Пишем свой профилировщик для анализа производительности приложения на Android

Хоть для профайлинга существуют свои специальные инструменты (например Android Profiler), но иногда выгоднее написать своё решение. Оно позволит снимать только необходимые метрики без вреда для производительности приложения.

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

https://tprg.ru/nO9b

#android
Ребята из Авиасейлс ищут опытного Android разработчика в команду платформы

Где?
Удаленно или в одном из офисов (Москва или Петербург). С переездом помочь готовы.

Что предлагают?
- достойную зарплату;
- ДМС (в т.ч. для семьи) и даже компенсацию индивидуальной психотерапии;
- спорт и поддержку в изучении иностранных языков.

Какие требования?
- опыт Android-разработки от 2-х лет, обязательное знание Kotlin и RxJava;
- умение писать понятный код с разумным покрытием тестами (Unit, UI);
- наличие в Google Play приложений, в создании которых ты принимал/а участие;
- понимание гайдлайнов и особенностей Android.

Прочитать подробнее о вакансии и оставить отклик можно на сайте: https://tprg.ru/PjEi

#вакансия #работа
Релиз Kotlin 1.5.20

Что нового:
— конкатенация строк через invokedynamic;
— экспериментальная поддержка JSpecify-аннотаций для контроля nullability;
— экспериментальная поддержка методов, сгенерированных Lombok.

Подробнее в блоге Kotlin: https://tprg.ru/WMib

Также JetBrains сделала наглядный ролик, рассказывающий об изменениях: https://youtu.be/SV8CgSXQe44

#kotlin
На Windows 11 можно будет запустить Android-приложения без сторонних эмуляторов

На этой неделе Microsoft показала свою следующую ОС — Windows 11. Одним из ключевых нововведений системы стала поддержка Android-приложений. Да, они будут работать как обычные программы.

Такое стало возможно благодаря технологии Intel Bridge. Она в реальном времени переводит приложения, скомпилированные для других платформ, в инструкции x86. Принцип работы напоминает проект Rosetta от Apple, но наоборот — там x86-инструкции транслируются в ARM.

Android-приложения можно будет запустить на процессорах Intel и AMD. А распространяться они будут через Amazon Appstore и Microsoft Store.

#android
В курсе Android Basics появился новый раздел

Android Basics in Kotlin — это официальный курс по Android-разработке для новичков.

В июне курс обновили, и в нём появился юнит по хранению данных. В разделе знакомят с основами SQL и библиотекой Room, которая помогает управлять базами данных:

https://developer.android.com/courses/android-basics-kotlin/unit-5

#android #native #начинающим
Библиотека для создания красивых онбордингов

Онбординг — это экран, который видит пользователь при первом запуске приложения. Стартовый экран рассказывает о ключевых возможностях приложения и должен зацепить пользователя.

Библиотека поможет сделать красивые анимации, индикаторы и переходы:

https://github.com/Mindinventory/Walk-Through-Screen

#android #библиотеки #native
Память в Swift от 0 до 1

Знаете ли вы, как язык Swift работает с памятью?

В статье рассказано:
— как байты в памяти размещаются в Swift;
— как Swift управляет памятью;
— как выглядит жизненный цикл объектов:

https://tprg.ru/jSys

#swift #ios
Реализуем сквирклморфизм

Недавно мы разбирали, что такое сквирклморфизм. Его принципы реализованы в библиотеке 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? Действительно ли он хорош и удобен для разработчика?

#чат