Мобильная разработка – 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
Библиотека Gmenu для создания меню в iOS-приложении

С помощью Gmenu вы сможете создать меню, которое разворачивается из угла верхней панели поиска и отображает несколько больших иконок. В процессе появления меню строки из UITableView прокручиваются вниз.

Репозиторий: https://github.com/amirdew/gmenu

#ios #библиотеки
5 советов начинающим Android-разработчикам

1. Не изобретайте колесо, используйте готовые библиотеки.
2. Используйте Fragment вместо Activity.
3. Используйте плагины для Android Studio.
4. Не разрабатывайте приложение под ваш смартфон (только если вы не делаете его для себя).
5. Всегда запускайте тесты перед выпуском новой версии приложения.

Подробнее советы разъяснены в статье: https://tprg.ru/RVQL

#android #начинающим
Централизуем дизайн Flutter-приложения

Может показаться странным, но у страниц настроек, показанных выше, почти идентичный код. Этого удалось достичь за счёт переноса данных о теме приложения в объект ThemeData.

В статье объясняется, как это сделать:

https://tprg.ru/fNrA

#flutter
Множество разработчиков жалуется на баги новой версии Android Studio (и даже некоторые наши читатели).

Расскажите, столкнулись ли вы с проблемами? Или же работает прямо огонь (хе-хе)?

#чат
Перевод текста на Android с помощью Google ML Kit

Translation API из Google ML Kit позволяет динамически переводить текст и поддерживает свыше 50 языков (включая русский). При этом модель машинного обучения загружается на устройство, и функцию можно использовать в автономном режиме.

В статье на примере простого приложения показано, как использовать Translation API:

https://tprg.ru/xh1P

#android
Дневник привычек в стиле GitHub

Приложение позволяет следить за продуктивностью в течение месяца при помощи доски, похожей по стилю с GitHub. Написано на Flutter.

Репозиторий: https://github.com/GiacomoPignoni/habits_diary

#flutter #идеи
Приложение от Google, демонстрирующее реализацию Material Design компонентов в Jetpack Compose

Compose Material Catalog состоит из трёх основных экранов: домашний экран, экран с компонентами и экран с примерами. Вы можете посмотреть, как реализованы различные функции и даже настроить тему приложения.

Compose Material Catalog в Google Play: https://tprg.ru/Tfrv

#android #jetpack
Адаптивная вёрстка в iOS-приложении

В семействе iPhone экраны различаются как разрешением, так и соотношением сторон. И чтобы не «разъехалось» представление (view), нужно задать ему собственное соотношение сторон и привязать к высоте или ширине основного view.

Статья поможет разобраться, как решить эту проблему: https://tprg.ru/L3cR

#ios #начинающим
У нас появился канал, в котором мы прокачиваем soft skills

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

Повышайте продуктивность в Soft Skillz: @soft_skillz
Создание и стилизация выпадающих меню в Android

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

Из статьи вы узнаете, как кастомизировать меню при помощи TextInputLayout и AutoCompleteTextView:

https://tprg.ru/0SPe

#android
Библиотека для обработки телефонных номеров на iOS

PhoneNumberKit проверяет введённые номера на корректность и умеет отображать флаг страны, которой принадлежит номер, и пример ввода на фоне текстового поля.

Как использовать библиотеку: https://github.com/marmelroy/PhoneNumberKit

#ios #библиотеки
Вышла альфа-версия инструмента Compose Multiplatform для разработки интерфейса десктопных и веб-приложений на Compose

Compose Multiplatform объединяет два фреймворка — Compose for Desktop и Compose for Web. Теперь разработчики могут использовать схожие элементы Compose для приложений под Android, десктоп и веб-платформу.

Вместе с релизом альфы JetBrains представила плагин Compose Multiplatform для IntelliJ IDEA и Android Studio. Он позволяет увидеть превью Compose-элемента прямо в IDE. Для этого в определение @Composable функции без параметров нужно добавить аннотацию @Preview.

Попробовать Compose Multiplatform можно уже сейчас. Разработчики рассчитывают выпустить стабильную версию 1.0 уже в этом году.

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

#compose #kotlin
Миграция AOSP-приложения Calendar на Kotlin

Не всегда миграция с Java на Kotlin нужна для повышения производительности приложения.

Переписав весь код на Kotlin, разработчики open source приложения Calendar добились:
— схожей производительности с Java-версией;
— уменьшения кодовой базы примерно на 300 строк;
— следования лучшим практикам Android-разработки;
— примера Kotlin-first приложения.

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

#android #kotlin
Code With Me — инструмент для совместной разработки — теперь поддерживается в Android Studio Bumblebee

Code With Me предназначен для совместной разработки и парного программирования. С его помощью вы можете вместе редактировать код, следить за действиями коллег, управлять правами доступа к проекту и даже совершать аудио- и видеозвонки.

Плагин стал доступен в JetBrains Marketplace для Android Studio Bumblebee 2021.1.1 (которая находится пока в Canary-ветке). Также плагин будет встроен в AppCode 2021.2.

Подробнее о релизе Code With Me в блоге JetBrains: https://tprg.ru/8cTa

#android
Запуск первого теста на Kaspresso

Kaspresso — фреймворк для автоматизированного тестирования UI приложения, основанный на Espresso и UI Automator.

Гайд поможет настроить эмулятор и запустить первые тесты: https://tprg.ru/YzPc

#тестирование #android
Знакомство с async/await в Swift

Инструмент async/await в Swift был представлен на WWDC21 и пока находится в стадии беты.

Разработчик из Ситимобил сравнил async/await с GCD и подробнее разобрал работу с асинхронным кодом:

https://tprg.ru/1sfu

#ios
Экран загрузки на Flutter

Экран загрузки (splash screen) имеет круглую кнопку перехода с выгнутым пространством под ней.

Как это реализовано: https://github.com/hosain-mohamed/curved_splash_screen

#flutter #ui
Держите шпаргалку по изучению Dagger 2 — инструмента для внедрения зависимостей в Android-приложения. Схема поможет понять, в каком порядке стоит приступить к изучению Dagger.

Dagger 2 стоит изучить, если он применяется в существующем проекте, над которым вы работаете. В остальных случаях рекомендуется использовать Hilt.

#android
Давайте честно — нравится ли вам Kotlin в текущем виде? Чем он действительно хорош? Или Java привычнее?

Давайте обсудим в комментариях.

#чат
Расширяем возможности jetpack Compose вместе с набором библиотек Accompanist

Параллельно с разработкой Jetpack Compose Google создала множество утилит, обёрток и виджетов в помощь мобильным разработчикам. Они вошли в набор Accompanist.

О части полезных инструментов из набора рассказано в статье:

https://tprg.ru/25MH

#android #compose
Pulse — фреймворк для логирования на iOS

С помощью Pulse вы можете записывать и проверять сетевые запросы и логи из iOS-приложений. Все данные сохраняются локально.

Репозиторий: https://github.com/kean/Pulse

Документация: https://kean.blog/pulse/guides/overview

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