Мобильная разработка
14.4K subscribers
647 photos
238 videos
2.68K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

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

По Flutter проходит не так много мероприятий на русском языке, поэтому ежегодная конференция DartUP — одно из главных событий среди русскоязычной части Flutter-сообщества.

DartUP состоялась в начале декабря, и сейчас уже доступны записи докладов. Расскажем о некоторых из них:

1. 3 года с Flutter — куда мы катимся?
Релиз Flutter состоялся почти 3 года назад, и в докладе показана ретроспектива фреймворка, а также видение его будущего.

2. Flutter. Все грани платформенных интеграций
Flutter доступен для множества платформ, поэтому существует целая куча вариантов, как интегрироваться с нативной частью каждой из них. Они рассмотрены в докладе на различных примерах.

3. Стелем мягкую соломку на жёсткий Flutter
В основу доклада лёг опыт, накопленный командой Surf почти за 3 года работы с Flutter. Из выступления вы узнаете о лучших практиках разработки Flutter-проектов.

#flutter #доклады
Уменьшение размера приложения с Android App Bundle

С августа 2021 года все новые приложения в Google Play должны публиковаться в формате Android App Bundle (.aab), который пришёл на смену формату APK. В AAB приложение разделяется на модули, чтобы конечный пользователь скачивал только требуемые части приложения. Благодаря этому итоговый размер приложения может существенно уменьшиться.

Как работать с форматом AAB: https://tprg.ru/krO9

#android
Как повысить качество кода?

Со временем проекты обрастают миллионами строк кода, написанными разными разработчиками. Такой объём кодовой базы крайне сложно поддерживать вручную. Поэтому существует множество автоматизированных инструментов, которые следят за качеством кода.

Подробнее об автоматизации и инструментах:

https://youtu.be/Pz8yuWNYwVw

#android
Парковка магнитолы, борьба с багами и отсутствующей документацией: опыт 2ГИС по внедрению навигации в Android Auto

Команда Android в 2ГИС первой в России интегрировала навигацию в SDK Android Auto, но такое звание досталось трудной ценой. Поскольку на момент разработки SDK ещё не достиг релиза и документация с требованиями не была проработана, ребята постоянно отказывались от запланированных фич и изменяли приложение.

Проект удалось успешно довести до бета-теста за 5 месяцев, и QA-инженер рассказала о различных нестандартных решениях в приложении:

https://tprg.ru/Nn3I

#android #auto
Краткое руководство по работе с Android Biometric API

В приложение иногда требуется добавить аутентификацию пользователя по паролю или отпечатку пальца (например, в блокнот или банковское приложение). Для считывания конфиденциальных данных не нужно писать собственную логику — Android имеет встроенный Biometric API, который поможет распознать пользователя.

Как работать с Biometric API: https://tprg.ru/VLIo

#android
👍3
Холодный запуск Android-приложения

Когда приложение запускается впервые после загрузки устройства или завершения работы, то ему требуется больше времени до показа первого экрана. Чтобы пользователь не ждал слишком долго загрузки приложения, необходимо мониторить производительность холодного запуска.

В статье разобрана вся последовательность холодного запуска — от нажатия на иконку лаунчера до создания процесса приложения:

https://tprg.ru/P1K7

#android
Что под капотом встроенных приложений в iOS 15?

Хоть Apple не выкладывает исходники своих приложений для iPhone, по их файлам можно определить, на каком языке они написаны. Так, исследователи проанализировали бинарные файлы приложений и выяснили много интересного:

— Только 13% бинарных файлов имеют Swift-код, а 89% — код на Objective-C. Часть файлов содержит код на нескольких языках, поэтому сумма превышает 100%. Из статистики видно, что Objective-C до сих пор является доминирующим языком для встроенных в iPhone приложений.
— 14 приложений используют SwiftUI, и 9 из них обновились на SwiftUI в 2021 году. Это является наглядной демонстрацией того, что в этом году для SwiftUI наступил поворотный момент.
— C и C++ продолжают активно использоваться в низкоуровневых фреймворках.

Если сравнить с предыдущими версиями iOS, то Swift и SwiftUI продолжают активно внедряться в существующие приложения.

#ios
Масштабирование Jetpack Compose Navigation

Если для Android-проекта использовать Jetpack Compose в качестве основной технологии, то оптимально иметь одну Activity, а всю навигацию реализовать через Compose.

В этом случае стандартные методы навигации через NavHost успешно работают при небольшом количестве маршрутов. А если маршрутов сотни?

В статье описано возможное решение проблемы масштабирования:

https://tprg.ru/rJLi

#android #compose
Сейчас идут последние рабочие деньки, и скоро вместо клавиатуры и тачпада (мышки) в руках будет вилка и бокал шампанского.

Успели ли вы закрыть все срочные таски? Поделитесь тем, как вам удаётся оставаться эффективными даже в преддверии новогодних праздников.

#чат
Создаём несколько вариантов одного Android-приложения

В Android существует технология Build Flavors, в помощью которой можно подготовить несколько вариантов приложения. Они могут отличаться функциональностью и оформлением, но в целом они будут схожи.

Подобный подход может пригодиться как минимум в двух случаях:
1. Создание полной и урезанной версии приложения (платная и бесплатная версия).
2. Адаптация приложения под различные требования бизнеса (разные кейсы использования, доступы и т.д.).

Статья ниже не заменит документацию, но поможет лучше понять, как Flavors работает:

https://tprg.ru/Otz2

#android
👍1
Создаём первое приложение на Flutter — «Тайный Санта»

Серия YouTube-роликов от команды VK поможет разработать приложение «Тайный Санта» и базово освоить Flutter:

1. Введение в Flutter. Каркас приложения.
Вы познакомитесь с принципами работы с Flutter и устройством Flutter-приложения, а также создадите первый экран приложения с полем ввода и с переходом на следующую страницу.

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

3. Списки в Flutter и наполнение их данными.
В видео объясняется, как создать список друзей и наполнить его данными. Также вы научитесь верстать ячейки списка.

#flutter #начинающим
👍1
Как правильно передавать действия пользователя между компонентами iOS-приложения

Для решения задачи можно использовать встроенный в iOS инструмент Responder Chain. В официальной документации о нём рассказано не очень понятно и подробно, поэтому статья призвана показать всю мощь и гибкость механизма:

https://tprg.ru/PrIE

#ios
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Панель для выбора рейтинга на Jetpack Compose

С помощью компонента можно выстроить собственную систему рейтинга в приложении.

Как использовать: https://github.com/a914-gowtham/compose-ratingbar

#android #библиотеки #compose #ui
👍1
Приложение на Flutter: сеть, локализация, главный экран, локальный поиск

В предыдущей статье из цикла было показано, как сформировать идею приложения и реализовать базовую инфраструктуру на примере Flutter-проекта с котировками акций.

Скелет приложения создан, и пора двигаться дальше. В новом материале подробно объясняется, как реализовать:
— сетевой слой;
— UI для первого экрана приложения;
— локальный поиск;
— удобную локализацию:

https://tprg.ru/yUmS

#flutter #начинающим
Android-библиотека для отображения аватарок пользователей

Можно настроить форму изображения, рамку, индикаторы и текст инициалов.

Как использовать: https://github.com/getStream/avatarview-android

#android #библиотеки #ui
Kotlin Flow: всё, что нужно знать Android-разработчику

Раньше в Android-приложениях для обработки потоков данных использовали LiveData и RxJava. Однако позже в Kotlin появился встроенный инструмент Flow, который аналогично LiveData и RxJava реализует паттерн наблюдателя.

В одной статье собрана вся необходимая информация по потокам (flows) в Kotlin, чтобы начать их применять в собственных проектах:

https://tprg.ru/7gHT

#kotlin #android
👍1
Гайд по UI-тестированию Android-приложений

Внедрение инструментального тестирования в рабочий процесс вашей команды может потребовать немало времени и усилий.

Руководство поможет освоить UI- и Screenshot-тестирование без боли и избежать распространённых ошибок:

https://android-ui-testing.github.io/Cookbook/home/

#android #тестирование
SwiftUI-библиотека с сезонными анимациями

Доступны эффекты осени (падающие листья), зимы (снежинки), весны (цветы) и лета (солнце).

Как использовать: https://github.com/yhondri/HolidayThemes

#ios #swiftui #библиотеки