Всем привет! На связи Олег Малахов из AGIMA, и это моя подборка новостей из мира Digital за последнюю неделю.
Итак, субъективно интересные новости с 15 по 22 июня.
Разработка под Android *
Пишем под самую популярную мобильную ОС
Новости
Что нового в безопасности пользователей на Android: доклад с Google I/O 2024
Привет, меня зовут Аня, и я Android-разработчица в KTS. В этой статье разберем, какие обновления для обеспечения безопасности пользователей были представлены в докладе Safeguarding user security on Android на Google I/O, и как они отразятся на разработке.
Немного вводных по 2023 году:
– к публикации не допущено более 2 миллионов приложений, нарушающих правила;
– забанено примерно 330 тысяч плохих аккаунтов;
– каждый день сканировалось около 200 миллиардов приложений в поисках вредоносного ПО;
– более 10 миллионов долларов выплачено в качестве награды за обнаружение ошибок в безопасности.
И это еще не все. Благодаря Google Play Protect обнаружено более 500 тысяч вредоносных приложений и вынесено более 3 миллионов предупреждений.
Google Play Protect может предложить просканировать приложения во время установки, если они не были проверены до этого. Это помогает Google намного быстрее отслеживать угрозы безопасности.
Как в 2024 выложить приложение в Apple Store и Google Play
Публикация приложений в сторах сейчас непростой процесс. Из-за санкций появилось много неизвестности с регистрацией и оплатой аккаунтов. При этом информация о том, как решить те или иные проблемы в этом процессе, которая есть в интернете, противоречива. Так как я этот процесс недавно успешно прошел, делюсь инструкцией, как в 2024 выложить приложение в App Store и Google Play.
Я занимаюсь мобильной разработкой начиная с 2015 года, прошел путь от рядового разработчика до позиции Technical Product Owner в компании Выберу.ру. Для меня процесс регистрации в сторах — это типовая задача, но санкции добавили несколько нюансов. Эта статья представляет роадмап по публикации приложения с советами и рекомендациями для ускорения этого процесса.
Мобильная разработка за неделю #542 (10 — 16 июня)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Истории
Дроиды и питоны: работаем с ADB на Python
Однажды, в одну из бессонных ночей, я думал, как можно автоматизировать рутинные действия на андроид-смартфоне. Ну вы же знаете программистов - их хлебом не корми, дай только что-то автоматизировать. Будь это просто создание каких-то отчетов или сортировка файлов.
И вот, тогда я узнал об одной прекрасной утилите - Android Debug Bridge, ADB. Прекрасный инструмент для работы с Android - подключил телефон, и занимайся чем хочешь. Но иногда так лень запоминать разные команды, вводить их каждый раз... Вот здесь на помощь приходит Python. Прекрасный язык с большими возможностями.
В этой статье я рассмотрю как работать с ADB через python.
Если вы - разработчик или тестировщик приложений для Android, просто обычный программист или юзер - то вы попали по адресу.
Мастер карт или как объединить Google и Яндекс карты в Android
Интеграция различных геосервисов в проект может быть сложной задачей, особенно когда требуется поддержка нескольких провайдеров одновременно. Наиболее популярные провайдеры карт, такие как Google Maps и Яндекс.Карты, предлагают различные API и функциональные возможности, что может привести к ряду проблем при создании абстракции для работы с ними.
В этой статье я расскажу о создании обертки для самых популярных провайдеров карт и о проблемах, с которыми можно столкнуться. Мы разберем различия интеграции и создание интерфейса для работы с разными провайдерами.
Android: Проблема отрисовки в jetpack compose
Привет всем! Хочу поделится одной интересной проблемой (и ее решением), с которой пришлось столкнуться при использовании jetpack compose.
Я пишу с нуля программу аренды велосипедов. Соответственно могу использовать современные frameworks и стараться сделать все по феншую :)
Для UI я выбрал jetpack compose и использую MVI для взаимодействия между UI и ViewModel.
Во ViewModel, отвечающую за взаимодействие с Yandex Map, приходят разные события: если клиент двигает карту, с сервера запрашивается информация о находящихся в этом месте велосипедах, 2-х видах парковок и медленных зонах. Кроме того периодически с сервера запрашивается информация об активной аренде клиентом велосипеда. Все эти данные асинхронно передаются на UI.
Настраиваем Lock Task Mode aka Kiosk Mode
Привет! Меня зовут Максим Мищенко и я Android-разработчик в компании Effective.
В этой статье я расскажу, что такое Lock Task Mode и как его реализовать.
Как и зачем мы затащили GeckoView в Почту
Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)
Как сломать скомпилированный код, не нарушая бинарную совместимость
Привет! Я Антон, Android-разработчик в команде Т-Бизнеса. Занимаюсь интеграцией нескольких наших внутренних SDK в приложение и иногда участвую в их разработке.
Хочу поговорить про проблемы обратной совместимости, которые я встречал в своей работе, и предостеречь от выстрела себе или клиентам вашей библиотеки в ногу.
Как создать аудиоплеер. Часть 3. Настройка приложения с аудиоплеером и обработка звука
Вот и снова я! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и это третья часть нашего большого гайда, в котором я рассказываю, как можно создать аудиоплеер в приложении. Мы поговорим о дополнительных настройках приложения с аудиоплеером и аудио эффектах, которые можно применять к звуку.
Как мы разобрали монолитное приложение для бизнеса на модули
Привет, Хабр! Я Анатолий, главный инженер-программист разработки мобильных приложений в ПСБ. В этой статье делюсь опытом миграции крупного монолитного приложения «Мой Бизнес» на модули. Расскажу все ключевые моменты, и с какими сложностями мы столкнулись на этом пути.
Мобильная разработка за неделю #541 (3 — 9 июня)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Ближайшие события
Сам себе экосистема: итоги. Как работают мои самопальные клиенты ВК, YouTube, Telegram на смартфонах 13-летней давности
Рубрика «сам себе экосистема» уже успела стать постоянной в моем блоге. Для тех, кто читает меня в первый раз, расскажу: одним из основных направлений блога всегда был моддинг и попытка использования устройств прошлых лет в современных реалиях. Именно поэтому я пишу клиенты нужных мне сервисов с нуля, дабы иметь возможность пользоваться такими замечательными смартфонами, как Xperia Pro, Xperia Play, Desire Z и конечно же Motorola Droid, а в статьях я делюсь с вами не только причинами своей мотивации, но и рассказываю, как разрабатываются приложения для 10+ летних смартфонов с нуля и с минимальным набором зависимостей и детали реализации тех или иных фишек. В сегодняшнем материале мы подведем с вами промежуточные итоги и узнаем, справляются ли смартфоны 14 летней давности с современными сервисами?
Mobius 2024 offline. День второй
Привет, Хабр!
Вот и вторая часть репортажа о конференции Mobius 24.
День начался сразу с первого доклада и теперь просторный зал Альфа принадлежал андроидам, в отличие от вчерашнего дня)
Multiplatform UI with Compose
Алексей Гладков
Алексей поделился полезными советами, как поддержать Compose на разных платформах и конфигурациях экрана.
Судя по тому, что многие в зале на ходу конспектировали его доклад, с болью адаптации Compose-экрана под разные устройства мы встречаемся часто. Хотя фронтендеры с проблемами вёрстки сталкиваются постоянно, их опыт не всегда подойдет для Compose Multiplatform.
Мы посмотрели, как удобно реализовать архитектуру и навигацию в проекте, который будет собираться под разные платформы, какие common-компоненты лучше выделить. Хороший совет продумать обработку keyboard shortcut-ов для улучшения UX пользователей десктопа, и Compose Multiplatform даёт такую возможность.
Понравилась идея использовать репозиторий с Flow настроек приложения (AppSettings), чтобы слушать изменения и оперативно отрисовывать UI.
В проекте Compose Multiplatform Wizard можно найти весь актуальный на даный момент стек библиотек, единственное, он обновляется очень часто, примерно раз в неделю.
Общие советы, которые дал нам Алексей: смотреть на разные форм-факторы дисплеев, по возможности проектировать абстрактные экраны, рассматривать компонент экрана как контейнер, что близко к устройству супераппа. И, конечно, толкать дизайнеров, чтобы заранее продумывали UI под разные платформы :-)
Как мы строили BDUI: опыт Яндекс Маркета
Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы только на время, приложение снова деградировало. Всё это напоминает древнегреческий миф, в котором Сизиф толкает в гору камень, он скатывается вниз, и всё начинается по новой.
Такое положение дел нас не устраивало, поэтому было принято решение изменить подход. И мы построили BDUI (Backend Driven UI). В этой статье я расскажу о том, как это случилось, что сделали и какой в итоге получили результат.
Делаем нативное мобильное приложение с ИИ и бэкендом (Туториал)
В этой статье мы рассмотрим тонкости создания Proof of Concept (PoC) мобильного приложения, построенного с помощью фреймворка SwiftUI и бэкенда с использованием FastAPI и OpenAI API. Дополнительно я продемонстрирую эффективные архитектурные паттерны для SwiftUI-приложений, в частности MVVMP в сочетании с принципами SOLID и Dependency Injection (DI). Для андроид код можно легко перевести на Kotlin с помощью Jetpack Compose Framework.
NTP для мобильных разработчиков: Как точное время повысит качество ваших приложений
Все разработчики мобильных приложений сталкивались с проблемой точности времени. Часто для ее решения прибегают к различным методам, например, получают время с собственного сервера. Однако, существует гораздо более простой и удобный способ — использование NTP (Network Time Protocol). В этой статье мы разберемся, что такое NTP, как он может быть полезен для мобильных разработчиков, какие библиотеки существуют для работы с ним и в каких кейсах его использование особенно актуально.
Погружение в мир Lint'a в Android-проекте
Статические анализаторы уже давно являются неотъемлемой частью разработки проектов не только на Android. Они позволяют выявлять ошибки, несоответствия стандартам code style, производительности или безопасности, обозначать какие-то узкие места, сокращать code review и т. д. Android Studio «из коробки» содержит огромное количество всевозможных проверок, но, как правило, этого недостаточно, всегда есть какие-то неучтённые проблемы, внутренние правила компании или команды разработки. Кратко расскажем про Lint, как начинали делать свои правила, с какими задачами сталкивались на первых этапах и как решали. Это поможет вам впервые погрузиться в тему, так как интернет весьма скуден на статьи по ней.
Как создать аудиоплеер. Часть 2. Использование ExoPlayer
Всем привет! Меня зовут Дмитрий Булгаков, я Android-разработчик в HiFi-стриминге Звук, и я продолжаю рассказывать вам о том, как можно создать аудиоплеер в приложении. Во второй части гайда мы поговорим об использовании ExoPlayer.
Добро пожаловать на разбор!
Вклад авторов
InlyIT 2955.0alizar 1936.0RoboForm 1900.0phillennium 1618.0bodyawm 1518.1aleksandrit 1145.6Developers_Relations 938.8vedensky 832.0myshyak 679.6Leono 661.0