Мобильная разработка – 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
Создаём приложение с прогнозом погоды на 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
Подборка актуальных вакансий

iOS-разработчик
Где: удалённо
Опыт: можно без опыта

Android-разработчик
Где: Удалённо
Опыт: от 2 лет

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

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

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

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

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

#вакансии #работа
👎12💩7👍2🔥1
Как исправить устаревшие Android API

В этой статье автор делится опытом по исправлению неподдерживаемых функции и API на примерах замены:

— устаревшего конструктора без параметров Handler,
— метода setHasOptionsMenu() на интерфейс MenuProvider,
— метода startActivityForResult() на другие Activity Result API и launcher.

Реализация и примеры здесь:

https://tprg.ru/Sw2V

#android
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Меню Apple Watch на Jetpack Compose

Используя Jetpack Compose можно реализовать практически любой UI-дизайн, даже если это меню Apple Watch. Как создать двумерную сетку из элементов, Scale-анимацию, drag-жест для правильного смещения контента и многое другое — в этой статье:

https://tprg.ru/8X3Y

#android
👍3🎉1🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
Практический пример создания View-компонента на SwiftUI

В этой статье пошаговое руководство как создать собственный Custom View для городов, используя Sruct, Computed Property и несколько функций, чтобы рассчитать количество лайков и поездок: https://tprg.ru/L71J

#swiftUI
👍5
Ускоренная сборка с помощью Kotlin Symbol Processing

Kotlin Symbol Processing (KSP) — это упрощённый API для разработки легковесных плагинов компиляции и процессоров аннотаций. KSP похож на Kotlin Annotation Processing Tool, но работает быстрее.

В статье рассматривается реализация KSP с использованием аннотаций, SymbolProcessor, Resolver и KotlinPoet:

https://tprg.ru/OgZQ

#kotlin #android
👍4💩21
This media is not supported in your browser
VIEW IN TELEGRAM
Объясняем Kotlin Multiplatform на крестиках-ноликах

KMM позволяет разработчикам объединить всю бизнес-логику в единые модули и запускать один и тот же код на разных платформах. За последние несколько лет эту модель обсуждают всё чаще.

Разработчик Тихон Устинов рассказал о плюсах и минусах работы с KMM в проекте, а также на примере создания игры «крестики-нолики» для Android, iOS и JS продемонстрировал, как применять KMM:

https://habr.com/ru/company/rostelecom/blog/682160/

#kmm #android #ios
🔥14👍3💩1
Повышаем производительность приложения с Baseline Profile

Baseline profile — это классы и методы, которые заранее скомпилированы и установлены вместе с приложением.
Частичная компиляция позволяет ускорить время запуска и производительность.

В отличие от ART Cloud Profile, Baseline profile создаётся во время сборки, поэтому его легче протестировать. Для генерации данного профиля можно использовать библиотеку Macrobenchmark.

Подробнее в статье: https://tprg.ru/6DHA

#android
Oбновлениe в библиотеках Jetpack

WebKit 1.5: заменили setForceDark и setForceDarkStrategy API на setAlgorithmicDarkeningAllowed из WebSettingsCompat,
Compose Runtime 1.3: в CompositionData был добавлен метод find,
Room 2.5: добавлена ​​новая аннотация Upsert для обновления существующей записи или создания новой,
Sqlite Version 2.3: androidx.sqlite переписали с Java на Kotlin.

Подробнее: https://tprg.ru/ltBR

#android
👍18
Danger: автоматизируем ревью на CI

Плагин Danger запускается во время процесса CI и показывает все ошибки сборки, предупреждения или результаты UI тестов, помогая разработчику не писать однотипные комментарии о кодстайле и ошибках.

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

https://habr.com/ru/company/lamoda/blog/681564/

#android
👍3
Подборка актуальных вакансий

Android-разработчик
Где: Удалённо
Опыт: от 2 лет

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

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

iOS-разработчик
Где: удалённо
Опыт: можно без опыта

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

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

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

#вакансии #работа
👎6👍3
Повторяем алгоритмы сортировки на практике в диаграммах Swift

В этом видеоуроке показано, как использовать Swift Charts, на примере реализации и визуализации различных алгоритмов сортировки:

https://youtu.be/UCSXF741iHI

#swiftui
👍6👎1
Вышла предварительная версия Cross device SDK для разработчиков

Cross device SDK анонсировали ещё на Google I/О. Основная функциональность данной версии: обнаружение устройств, безопасное соединение между устройствами, поддержка сессии на нескольких устройствах.

По сути, этот пакет SDK берёт на себя всю работу с протоколами обнаружения устройств, аутентификации и подключения.

Детальнее: https://tprg.ru/UKB5

#android
👍13🔥1
Как загрузить файл с помощью Retrofit

Библиотека Retrofit используется для работы с REST API и отправки запросов на удалённый сервер в Android.

Этот видеоурок поможет разобраться начинающим, как загружать файл на сервер:

https://youtu.be/fEYhQOUe0g0

#android
👍173