Мобильная разработка – 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
Этапы отрисовки кадров в Jetpack Compose

UI-фреймворк Compose имеет 3 основных этапа рендеринга кадра:

1. Composition отвечает за то, какой UI показывать.
2. Layout отвечает за то, где размещать UI.
3. Drawing определяет, как рендерить.

Подробнее об этапах объясняется в документации. Но ребята из KTS подготовили её адаптированный перевод:

https://tprg.ru/Jc7y

#android #compose
Вышла Jetpack-библиотека для работы с Drag&Drop

Хоть поддержка перетаскиваний элементов в Android доступна ещё с версии 3.0 (API level 11), полноценный Drag&Drop реализовать было достаточно сложно.

К счастью, Google выкатила новую Jetpack-библиотеку draganddrop, которая упрощает перетаскивание текста, изображений, объектов или других элементов в отдельный View или другое приложение. Последнее особенно актуально для планшетов и складных устройств.

Библиотека пока доступна только в альфа-версии. Подробнее о том, как с ней работать, рассказано в документации: https://tprg.ru/GQ3A

#android #jetpack #библиотеки
Приложения, разработанные прямо на iPad, теперь можно напрямую выложить в App Store

Apple обновила приложение для изучения основ iOS- и iPadOS-разработки Swift Playgrounds. Оно в игровой форме помогает изучить Swift и SwiftUI и отлично подходит для тех, кто никогда не программировал.

Также в Swift Playgrounds можно реализовать собственные приложения для iPhone и iPad. Новое обновление принесло интеграцию с App Store Connect, поэтому опубликовать приложение в магазине теперь можно прямо с iPad.

Подробнее о приложении: https://www.apple.com/swift/playgrounds/

#ios #начинающим
Подборка актуальных вакансий для Android-разработчиков

Android Developer в Bladestorm
Где: Удалённо
Сколько: От 180 000 до 300 000 ₽

Android-разработчик в ОТР
Где: Удалённо
Сколько: По итогам собеседования

Android Software Engineer в Revolut
Где: Удалённо
Сколько: По итогам собеседования

Android-разработчик в Sportmaster Lab
Где: Москва, Санкт-Петербург, Новосибирск, можно удалённо
Сколько: По итогам собеседования

#вакансии #работа
Elementary: новый взгляд на архитектуру Flutter-приложений

Разработчики из Surf в Flutter-проектах используют собственную реализацию чистой архитектуры Elementary, основанную на Model-Widget-WidgetModel (MWWM). В статье они рассказали, как с помощью Elementary отделить слой представления от бизнес-логики:

https://tprg.ru/pdwW

#flutter #архитектура
Обучение ребёнка созданию Android-игр с помощью MIT App Inventor

MIT App Inventor — облачный сервис от MIT, в котором можно создать Android-приложение из специальных блоков и сценариев. Его интерфейс напоминает Scratch, поэтому инструмент отлично подойдёт для обучения детей азам создания Android-приложений.

Гайд объясняет, как можно реализовать простейшую игру в MIT App Inventor:

https://tprg.ru/DxwK

#начинающим
1
Создать виджеты Android-приложений теперь становится проще

Jetpack Compose упростил реализацию интерфейсов приложений. Однако принцип создания виджетов даже с нововведениями в Android 12 почти не изменился.

Поэтому Google реализовала на основе Jetpack Compose новый фреймворк Jetpack Glance. Он предлагает схожие с Compose декларативные API, чтобы реализовывать красивые и отзывчивые виджеты приложений с меньшим количеством кода.

Пока Glance доступен в альфа-версии. Работать с ним можно только в последней стабильной версии Android Studio с установленной средой Compose Runtime.

Для знакомства с фреймворком вы можете изучить сэмпл Glance и различные демки.

#android #jetpack #compose
Drag-and-Drop внутри iOS-приложения

Перетаскивание элементов в приложении — вполне привычная функция для пользователя. Однако для реализации Drag-and-Drop в собственном iOS-приложении единого решения нет.

В статье рассказано о нескольких вариантах создания Drag-and-Drop с помощью UIKit, а также SwiftUI:

https://tprg.ru/PwS1

#ios
План обучения Flutter: с нуля до профи

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

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

https://tprg.ru/Lkx7

#flutter #начинающим
👍1
Анимация логотипа Disney+ на Jetpack Compose

Предлагаем попрактиковаться в создании анимаций на Compose.

Попробуйте создать логотип Disney+, который будет состоять из 3 основных элементов:
— текста Disney;
— дуговой анимации;
— увеличивающийся значок + после завершения дуговой анимации.

Подробный гайд: https://tprg.ru/4glm

#compose #android
Записи докладов с русскоязычной конференции про 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