Мобильная разработка – 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 приложений

В статье рассматривается, как используя подход Роберта Мартина (автор книги «Чистый код»), создать каркас CRM-приложения на Flutter и контролируемо внедрять изменения:

https://tprg.ru/oygr

#flutter
👍12💩4
Передача цифровых данных по рации с помощью мобильного приложения

Можно ли расширить функционал рации до передачи текстовых сообщений? Автор статьи реализовал приложение, которое позволяет обмениваться сообщениями с помощью встроенных динамика и микрофона на Android.

В приложении только два Activity: передатчик и приёмник. Также в статье затронуты темы по формированию звука, сохранению сигнала, фильтрации и реализации скользящей средней:

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

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

iOS-разработчик
Где: Москва
Опыт: можно без опыта

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

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

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

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

#вакансии #работа
👎7👍5💩3
Умная камера Яндекса: интервью с разработчиком

Недавно Android Broadcast провели интервью с Романом Жуковым, в котором обсудили возможности и технологии, которые использовались в умной камере Яндекс. А также:

— Jetpack CameraX,
— развитие Camera API в Android,
— сложности разработки.

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

Ссылка на интервью: https://youtu.be/Tf_XcWoRky8

#интервью
👍8👎3
Реализуем собственный ColorWheel на Android

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

Подробнее в статье: https://habr.com/ru/post/694852/

#android
👍6
Jetpack Microbenchmark — тестируем производительность кода

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

В этой статье рассматривается, как устроена и работает Jetpack Microbenchmark, а также примеры её использования:

https://tprg.ru/7Soc

#android
👍6
Руководство по реализации режима «Картинка в картинке (PiP)» на Android

В этой статье автор поделился, как всего за 5 шагов можно настроить PiP в приложении. Для начала нужно добавить в Manifest файл поддержку PiP, установив для атрибута android:supports PictureInPicture значение true.

Также в конце статьи автор даёт советы, на которые следует обратить внимание при реализации фичи:

https://tprg.ru/ZN4d

#android
👍8❤‍🔥11
Что надо учитывать, создавая тёмную тему приложения?

Во многих приложениях используются тёмные темы и это уже давно не тренд, а инструмент для повышения вовлеченности пользователей.

На Хабре вышла интересная статья, как создать тёмную тему с учётом человеческой физиологии. В ней разбирается цветовой спектр и как он меняется в зависимости от времени суток, контраст, а также что такое сумеречное зрение:

https://habr.com/ru/company/ispmanager/blog/694412/

#исследование
👍12
Рефакторинг — практический подход на Swift

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

— определить цели рефакторинга,
— тестирование,
— вносить изменения постепенно, чтобы избежать багов и часто использовать GIT для отслеживания этих изменения,
— не забывать использовать инструменты, например, Xcode.

Подробнее в статье:

https://www.avanderlee.com/optimization/refactoring-swift-best-practices/

#swift
👍3💩3
Гайд по Dart CLI

Если вы хотите стать Flutter-разработчиком, то наверняка интересуетесь углубленным изучением языка Dart. В этой статье небольшое руководство, как создать CLI-приложение на Dart и обрабатывать пользовательский ввод в этом приложении:

https://tomicriedel.medium.com/89bbcef0318

#flutter
👍6💩6
Вышла стабильная версия Composite Material 3

Библиотека разработана на Jetpack Compose и Material 3. В статье рассматриваются:

— цветовые схемы и динамические цвета,
— компоненты и плагины в Material 3,
— шрифты и размер экрана.

Источник: https://android-developers.googleblog.com/2022/10/material-design-3-compose-stable.html?m=1

#android
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Советы и рекомендации по улучшению работы Android Studio

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

https://blog.appcircle.io/article/12-android-studio-tips-and-shortcuts-to-navigate-your-codebase-faster

Какой способ вы чаще всего используйте?

#android
👍10
Использование LiveData на Android

В статье реализовано простое приложение для демонстрации работы и поведения компонентов lifecycle-aware в Live Data, используя методы setValue(), postValue(), observate() и observeAsState().

Также автор сделал сравнительный анализ этих функций, например, когда лучше использовать setValue() или postValue(), чем отличаются друг от друга observate() и observeAsState():

https://vtsen.hashnode.dev/exploring-android-livedata-usages-and-behaviors#heading-add-logging-in-observeasstate

#android
👍8
Как создать простой видеоплеер с помощью Jetpack Compose и ExoPlayer

ExoPlayer — библиотека для воспроизведения аудио и видео с открытым исходным кодом, которая является альтернативой API MediaPlayer на Android.

В этом видеоуроке показано, как используя Media 3, можно просто реализовать видеоплеер:

https://youtu.be/JX1fwti2LI4

#android #compose
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
Создание Bounce эффекта, используя Compose Backdrop Layer

Небольшой урок, как создать анимацию и не запутаться в слоях в BackdropScaffold, используя также Animatable API. В конце статьи можно найти шпаргалку по Animation в Compose:

https://proandroiddev.com/bounce-effect-with-compose-backdrop-layer-bd9f21f797a6

#compose
👍51
Как уменьшить размер приложения с помощью Dynamic delivery

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

Почему бы не предоставить пользователю возможность подгружать модули по мере необходимости? Решить эту задачу можно с помощью Dynamic delivery.

О нюансах миграции фич в динамические модули и влиянии Dynamic delivery на архитектуру рассказал Азамат Черчесов, Senior Mobile Developer из «Лаборатории Касперского»:

https://tprg.ru/j36a

#android
👍6🤡2😁1
5 обновлений в Play Console для отслеживания статистики приложения

1. При выпуске приложения теперь можно увидеть размер приложения (предыдущего релиза) и размер обновления.

2. Если вы используйте Play Asset Delivery или Play Feature Delivery, то подробная о доставке всех ассетов доступна на странице статистики.

3. В информации о последней версии, можно посмотреть, как быстро пользователи переходят на новую версию приложения.

4. В App bundle explorer можно проверить, сколько весит приложение для каждой модели устройства.

5. Многие метрики теперь доступны в App Dashboard, где вы можете отслеживать эти измерения с течением времени наряду с другими показателями приложения.

Источник: https://android-developers.googleblog.com/2022/10/5-play-console-updates-to-help-you-understand-app-delivery-performance.html?m=1

#android
👍10
Как избежать merge-конфликтов в Xcode

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

Одним из них является файловая структура проекта. Возможно, вы сталкивались с конфликтами в project.pbxproj файле. К счастью, есть готовые решения, которые помогают решать эту проблему: XcodeGen, SwiftGen, Xcake.

В этой статье рассматривается, как создать проект, используя XcodeGen и добавить все необходимые конфигурации:

https://betterprogramming.pub/how-to-avoid-merge-conflicts-in-xcode-projects-a0202be2ac73

#ios
👍5👏2
Интеграция JS в Android приложение

Перед разработчиками онлайн-кинотеатра Premier стояла непростая задача — из-за ограничений в библиотеке, с которой они работали для Android TV, требовалось подключить web-версию к проекту.

Подходящего фреймворка для этой задачи найти было сложно, поэтому команда решила переписать простой WebView в JS-интерпретатор. Что из этого получилось, рассказывается в статье:

https://habr.com/ru/company/gazprommedia/blog/694998/

#android
👍6😁4🤮1
Подборка актуальных вакансий

iOS-разработчик
Где: Москва
Опыт: можно без опыта

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

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

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

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

#вакансии #работа
👎9
Apple обновила гайдлайны к App Store

— Если некоторые функции зависят от учётной записи пользователей в приложении, то разработчики должны предоставить полный доступ к приложению с активной демо-учётной записью или полнофункциональным демо режимом для Review.

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

— Стандарт «умного дома» Matter: приложения должны использовать фреймворк Apple для поддержки Matter. Если используются другие Matter SDK, то они должны быть сертифицированы.

Подробнее о всех изменениях по ссылке:

https://developer.apple.com/news/?id=xk8d7p8c

#ios
👍7🤮1