Мобильная разработка
14.8K subscribers
548 photos
230 videos
2.57K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

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

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
Возможности OkHttp, которые помогут оптимизировать код Android-приложения

Для работы с REST API и отправки запросов на удалённый сервер в Android чаще всего используют библиотеку Retrofit. Она очень удобна в использовании и позволяет достаточно быстро реализовать взаимодействие с сервером.

Если не устраивает производительность, то можно обратиться к дополнительным оптимизациям OkHttp, на базе которого построена Retrofit:

https://youtu.be/r6Ga9a5w6V0

#android
This media is not supported in your browser
VIEW IN TELEGRAM
Финансовый график на Jetpack Compose

Compose предлагает много возможностей для создания Custom View. Например, на нём можно комфортно реализовать финансовый график, который покажет котировки акций с рынка. При этом сам график можно скроллить, а также увеличивать его масштаб.

Как реализовать: https://tprg.ru/39dp

#compose #android
Подборка актуальных вакансий для мобильных разработчиков

Android-разработчик
Где: Удалённо
Сколько: По итогам собеседования
Стек: Android, Coroutines, Java, JSON, JUnit, Kotlin, Mockito, MVVM, REST API, RxJava

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

Android-разработчик
Где: Москва, Санкт-Петербург, Новосибирск, можно удалённо
Сколько: По итогам собеседования
Стек: Android, Gradle, HTTP, Java, Kotlin, MVC, MVI, MVP, MVVM, Realm, REST API, Room, SQL, SQLite

Senior iOS Developer
Где: Санкт-Петербург, Москва, Краснодар, можно удалённо
Сколько: По итогам собеседования
Стек: HTTP, iOS, Kotlin, Realm, REST API, Swift, XCODE

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

#вакансии #работа
Готовимся к собеседованию на Android-разработчика

Скоро нужно проходить собеседование, волнение нарастает, и не знаете, с чего начать?

Изучите возможные вопросы и задачи из статьи:

https://tprg.ru/j1ST

Так вы сможете выявить возможные пробелы в знаниях.

#советы #собеседование
This media is not supported in your browser
VIEW IN TELEGRAM
Валидатор паролей для Android

PasswordValidationView — UI-компонент, который наглядно показывает, удовлетворяет ли введённый пароль условиям.

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

#android #ui #библиотеки
Вышел Kotlin 1.6.0

Главное, что принёс нам новый релиз:
— стабилизированы фичи языка, добавленнные в Kotlin 1.5.30;
— улучшены повторные аннотации для Kotlin/JVM;
— экспериментальный Gradle-плагин Kover, который измеряет покрытие кода (альтернатива JaCoCo);
— новое экспериментальное управление памятью в Kotlin/Native;
— Kotlin/Native теперь поддерживает Xcode 13.

Подробнее об изменениях в блоге JetBrains: https://tprg.ru/PVR4

Если в Android Studio включены обновления, то новый Kotlin 1.6.0 установится автоматически.

#kotlin
Добавляем неоморфизм в Android-приложение

Неоморфизм призван отойти от стандартных Material-компонентов. Чтобы добавить его в своё приложение, можно воспользоваться библиотекой, которая изменяет стиль компонентов Jetpack Compose:

https://github.com/CuriousNikhil/neumorphic-compose

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

#android #compose #библиотеки #ui
Создание общего SDK чата на KMM

Kotlin Mobile Multiplatform дал возможность разработчикам переиспользовать бизнес-логику в приложениях для Android и iOS.

В последнее время появляется всё больше успешных кейсов, и один из них — реализация кроссплатформенного SDK чата. Ребятам понадобилось создать удобный канал связи, который охватывает Android, iOS и веб.

Вот, что у них получилось: https://tprg.ru/os8a

#kmm #android #ios
Основы Combine

Combine — реактивный Swift-фреймворк, который позволяет обрабатывать последовательности асинхронно появляющихся во времени значений values.

Фреймворк может показаться сложным, поскольку в его концепции фигурируют три ключевых понятия — Publishers, Subscribers и Operators.

Гайд поможет разобраться с основами и использованием Combine:

https://tprg.ru/T095

#ios
Большой курс лекций по Android для начинающих

Этим летом «Яндекс» открывал Школу мобильной разработки — курс по созданию полноценных мобильных приложений. Теперь записи лекций доступны бесплатно всем желающим:

https://tprg.ru/iMHp

В курсе освещены все важные для разработки приложений темы: основные Android-компоненты, асинхронная работа, архитектура приложений и тестов, работа с системой сборки Gradle и CI/CD.

Перед тем, как приступить к лекциям, рекомендуется освоить базу Android-разработки.

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

Android-разработчик в ОТР
Где: Удалённо
Стек: Android, Coroutines, Java, JSON, JUnit, Kotlin, Mockito, MVVM, REST API, RxJava

Android Software Engineer в Revolut
Где: Удалённо
Стек: Android, Dagger, Kotlin, Room, RxJava

Android-разработчик в Sportmaster Lab
Где: Москва, Санкт-Петербург, Новосибирск, можно удалённо
Стек: Android, Gradle, HTTP, Java, Kotlin, MVC, MVI, MVP, MVVM, Realm, REST API, Room, SQL, SQLite

#вакансии #работа
Неоморфизм и его проблемы

На днях мы рассказывали о библиотеке, которая добавляет неоморфизм в компоненты Jetpack Compose. Многим такой стиль не понравился.

Давайте разберёмся, почему неоморфизм вызывает много споров и применим ли стиль на практике:

https://tprg.ru/Gic6

#ui
Конфигурация сборки в Gradle: как это работает

В Android-приложениях основной системой сборки проекта является Gradle. Она выполняет важную задачу: собирает проект вместе со всеми зависимостями в единое приложение.

Знание того, как работает Gradle, поможет настроить сборку под конкретные требования. А разобраться в основах поможет статья:

https://tprg.ru/TEJm

Тот же материал, но в формате видео: https://youtu.be/GjPS4xDMmQY

#android #начинающим
Сколько чашек кофе успеваете выпить, пока проходит локальная сборка iOS-проекта?

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

Библиотека умеет в реализацию удалённого кэширования iOS-проектов, чтобы переиспользовать целевые артефакты из XCode, сгенерированные в CI-машинах.

По замерам разработчиков библиотеки, XCRemoteCache уменьшила время чистой сборки на 70%. Звучит серьёзно, не так ли?

Где почитать подробнее про XCRemoteCache: https://tprg.ru/INx3

#ios #библиотеки
Навигация в многомодульных приложениях на Jetpack Compose

Compose, навигация, многомодульная архитектура, инъекции зависимостей... Эти компоненты можно объединить в масштабируемой многомодульной архитектуре с помощью лучших практик Android-разработке. И в статье объясняется, как:

https://tprg.ru/5VyO

#android #compose
Не стоит доверять оценкам в App Store

Даже если это приложение от Apple.

В Сети обратили внимание на то, что рейтинг в App Store приложения Apple Podcasts вырос с 1,8 до 4,7 меньше чем за месяц. При этом приложение не получило существенных обновлений за этот период.

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

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

#ios
Монетизировать Flutter-приложение стало проще

На этой неделе вышла первая стабильная версия Google Mobile Ads SDK для Flutter. SDK работает с рекламными платформами AdMob и Ad Manager и помогает внедрить в приложение различные виды рекламы: баннеры, видео с вознаграждением, Interstitial (реклама между действиями) и не только (кстати, мы уже рассказывали о видах мобильной рекламы).

Подробнее о способах монетизации Flutter-приложения: https://flutter.dev/monetization

#flutter
Простой генератор QR-кода для Android

QR-коды сейчас крайне популярны, и здорово иметь при себе инструмент для быстрой генерации кода. Почему бы его не реализовать самостоятельно?

В ролике разбирается, как написать простой генератор QR-кода, в котором одной кнопкой выводится готовый QR-код:

https://youtu.be/pQ1KYUJpCGU

#android #начинающим
Бесплатный курс по Flutter-разработке

Недавно мы рассказывали про свежий курс лекций от «Яндекса» по мобильной разработке. Помимо основного курса по Android-разработке, ребята проводили факультатив по фреймворку Flutter и уже выложили записи лекций:

https://tprg.ru/URGE

Вы познакомитесь с языком Dart и разберёте основные концепции Flutter: построение UI, работу с сетью, анимацию и популярные архитектурные подходы.

#flutter #курсы
Как работать с рекламными сетями в условиях IDFA

Введение рекламного идентификатора IDFA в iOS-приложения достаточно сильно изменило рынок мобильной рекламы. Теперь необходимо запрашивать доступ к персональным данным пользователя и обрабатывать оба варианта, когда пользователь:
— предоставил IDFA;
— отказался от отслеживания.

Подробнее о нюансах работы с IDFA:

https://tprg.ru/i5Hw

#ios