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

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

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

iOS-разработчик
Где: Москва, Санкт-Петербург, Казань, Пермь, можно удалённо
Опыт: от 2 лет

Middle iOS-разработчик
Где: Москва
Опыт: от 3 лет

Senior iOS-разработчик
Где: Москва
Опыт: от 3 лет

Senior Android-разработчик
Где: Москва, можно удалённо
Опыт: от 3 лет

Старший Android-разработчик
Где: Москва
Опыт: от 3 лет

#вакансии #работа
👎18👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Создаём Dialog, Snackbar и Toast на Android

В этом уроке вы изучите как:

— использовать диалоговые окна,
— показать индикатор загрузки,
— создать кастомный Toast и SnackBar.

Переходите на гайд для детального разбора:

https://tprg.ru/o7nc

#android
💩6🤮3🤔21👍1
Какие сервисы Accessibility существуют на Android

Accessibility Services помогают адаптироваться людям с ограниченными возможностями в приложении.

— TalkBack зачитывает информацию с экрана,
— Voice Access позволяет управлять устройством с помощью голосых команд,
— Live Captions преобразовывает речь в субтитры.

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

https://tprg.ru/5LB7

#android
👍9
Состоялся релиз Android 13

15 августа Google выпустил новую версию Android. К сожалению, пока только для Pixel. Что нового?

— новый интерфейс выбора фотографий и видео,
— средства разработки приложений обновили до OpenJDK 11,
— появился API, который позволяет привязывать к приложению индивидуальные настройки языка,
— добавлена поддержка MIDI 2.0,
— аудиодескрипция в Accessibility.

Детальнее в этой статье:

https://tprg.ru/9TD6

#android
👍15🤮1
Как запустить мобильное приложение с помощью PWA

Разработка PWA не требует SDK для конкретных платформ и мало чем отличается от обычной веб-разработки.

Мы решили разобрать отличительные качества таких приложений, а также способы интеграции PWA в веб-сайт:

https://tproger.ru/articles/kak-zapustit-mobilnoe-prilozhenie-za-tri-nedeli-s-pomoshhju-pwa/

#pwa
👍8
Реализуем сторис на Flutter

В видео вы узнаете, как создать виджет stories с возможностью использования:

— индикатора прогресса для каждого элемента истории,
— жестов для предыдущего или следующего сторис,
— картинок или видео (в гайде используются однотонные изображения, но вы можете использовать любое фото или видео).

Посмотреть можно тут:

https://youtu.be/x1EoKmhYjB0

#flutter
🔥17👍1👏1
Gradle Convention Plugins для Android

Во время разработки можно столкнуться с ошибками при компиляции или конфигурации subprojects и allprojects блоков. Чтобы не копировать одни и те же скрипты при создании новых субмодулей, можно использовать Convention плагин.

Более подробно о плагине и его настройке в этой статье:

https://tprg.ru/9O4Q

#gradle #android
👍6👎2
Самые раздражающие ошибки при разработке на Android

1. «The project is using an unsupported version of Gradle»

Один из возможных способов решения — проверить версию Gradle на Android Studio и сравнить совпадает ли она с установленной на вашей системе.

2. «Could not access the package manager. Is the system running?»

Проблема тайминга или блокировки экрана. Часто решается просто при перезапуске программы.

3. «Install Failed Insufficient Storage»

Стоит проверить APK файлы и убедиться, что предыдущая версия приложения была удалена.

Предлагаем дополнить список. С какими ошибками вы чаще всего встречались при программировании?

#android
👍19👎21
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать Google Map с использованием Jetpack Compose

Для разработки приложения нужно:

— настроить Google Cloud, чтобы сгенерировать ключ для использования Google Maps SDK API,
— добавить запрос на доступ к местоположению,
— настроить геолокацию,
— с помощью LocationCallback() получить местоположение пользователя.

В этой статье вы найдете пошаговую инструкцию:

https://tprg.ru/Mvdp

#android
7👍3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
PokeCardCompose: приложение с карточками покемонов на Android

Проект PokeCardCompose был создан на основе архитектуры MVI с использованием Koin и Jetpack Compose. Приложение получает данные из сети с помощью Ktor и сохраняет в БД.

Детальнее о стеке используемых технологий читайте здесь:

https://androidrepo.com/repo/lopspower-PokeCardCompose

P.S. покемоны не прилагаются к архитектуре проекта

#android
👍9👎5😁2
UI-тесты: Шпаргалка по Compose

Переходя с View на Compose, можно легко потеряться в многообразии API для тестирования. В этой шпаргалке собраны все основные API для покрытия приложения UI тестами:

https://tprg.ru/tPJ3

#android #compose
👍16
This media is not supported in your browser
VIEW IN TELEGRAM
Полезные библиотеки на GitHub для iOS-разработчиков

1. SSZipArchive — простой Utility-класс для сжатия и распаковки файлов. С помощью ZipArchive можно открывать защищённые паролем zip-архивы, а также создавать большие (>4,3 Гб) zip-файлы.

2. YPImagePicker — image-picker в стиле Instagram. Эта библиотека даёт возможность обрабатывать изображения, видео из галереи или сделать фото из приложения.

3. SwiftCharts — фреймворк для создания диаграмм в приложении. В этой библиотеке можно найти все виды диаграмм: простые, вертикальные, линейные и настроить стиль диаграммы.

4. Flex — библиотека с набором встроенных инструментов для отладки. С помощью панели инструментов вы можете просматривать и изменять практически любую часть приложения.

#ios
👍8👎2
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать свою анимацию с помощью SwiftUI? Гайд для начинающих

Анимация ожидания или загрузки показывает пользователю, что приложение не зависло/не закрылось, а просто ждет ответа с сервера. Такой вид анимации давно используется в YouTube, чтобы отвлечь пользователя, пока загружается контент.

По ссылке пример создания анимации загрузки:

https://tprg.ru/IAbi

#swiftui
👍3
Создаём приложение с прогнозом погоды на Flutter

Для реализации проекта вам понадобится:
— любая среда разработки, в которой установлен Flutter SDK,
— аккаунт на сайте Tomorrow.io для доступа к данным о погоде,
— базовое понимание Dart и Flutter.

В приложение всего один экран, на котором отображается текущая погода и ежедневный прогноз на 4 дня для определенного местоположения. В этой статье автор подробно разобрал процесс разработки:

https://habr.com/ru/post/656033/

#flutter
👍13
Иерархия модулей в Android

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

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

Подробнее о том, как выстроить связи между модулями в Android:

https://tprg.ru/F4Sl

#android
👍131
Google празднует 5-летие с Kotlin

Прошло 5 лет с того момента, как на Google I/O объявили о поддержке Kotlin в Android Studio. В честь этого события в блоге Android Developers вышла статья о проделанной работе Kotlin Foundation за эти годы.

В статье сотрудники Google и JetBrains поделились своим мнением о Kotlin, Jetpack Compose, Android KTX и рассказали о перспективах дальнейшего развития Kotlin.

#kotlin #android
👍30🎉6👎3🔥1💩1
Реализация паттерна State Machine и MVI

Наверняка вы слышали про паттерн State Machine, который часто сравнивают с шаблоном State. Данный паттерн используется для создания объектов, поведение которых меняется в зависимости от состояния. Сам набор этих состояний предопределён и конечен.

В этой серии статей разбирается шаблон State Machine с архитектурой MVI:

Часть 1: https://tprg.ru/EiVB
Часть 2: https://tprg.ru/taGk
Часть 3: https://tprg.ru/YUql

#android
👍6
Вышли новые беты для разработчиков iOS

— iOS 16 beta 7 — больших изменений нет, но Apple исправила некоторые баги в: Airplay, SwiftUI, Accessibility. Некоторые методы в UIViewController объявили устаревшими и заменили, как и MKMapLandscape в Maps. Детальнее: https://tprg.ru/yOCX

Также вчера выпустили:
— iPadOS 16 beta 7,
— watchOS 9 beta 7,
— Xcode 14 beta 6.

#ios
👍5💩3👎1
Анимация Lottie на Kotlin

Библиотека LottieFiles использует анимации, экспортированные в виде файлов JSON из Adobe After Effect. С помощью этой библиотеки вы можете добавить любую анимацию в ваш проект.

В этом видео разбирается, как использовать Lottie:

https://youtu.be/1pEyWkTVwBY

#kotlin
👍29💩3❤‍🔥2🤡2
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать Slack-приложение на Android

С помощью Jetpack Compose и Stream Chat SDK можно реализовать своё приложение, похожее на Slack. Внутри проекта также используются корутины и библиотека Hilt.

Исходники: https://github.com/GetStream/stream-slack-clone-android

#android
👍11
Обход средств защиты в iOS-приложениях

На Хабре вышла интересная статья об инструментах, которые помогают обходить средства защиты Jailbreak Detection и SSL-pinning.

Для обхода проверок на Jailbreak автор использовал специальное приложение SecureStorev2, где установил твики A-Bypass и Liberty. Также в статье был протестирован скрипт из Frida CodeShare для байпаса и приведены примеры обхода вручную:

https://habr.com/ru/company/dsec/blog/676094/

#ios
👍10