Как стать автором
Обновить
190.33
Рейтинг

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Запись звука и отображение громкости на Android

Блог компании Mail.ru Group Разработка мобильных приложений *Разработка под Android *
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:


Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 500
Комментарии 1

Новости

Как мы обновляли мобильное приложение для официантов: трудности перевода стека KMM + UI на Flutter из теста в продакшн

Блог компании r_keeper Программирование *Разработка мобильных приложений *Kotlin *Flutter *

Привет! На связи снова Сергей Арсёнов, руководитель мобильной разработки в компании r_keeper. Я уже рассказывал, как и почему мы выбрали стек Kotlin Multiplatform Mobile + UI на Flutter для обновления нашего мобильного приложения для официантов. А теперь посмотрим, что из этого вышло на стадии продакшн (спойлер: все получилось, но проблем хватило).

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 486
Комментарии 1

PWA: управление service-worker'ом

Разработка веб-сайтов *JavaScript *Разработка мобильных приложений *

Прочитал я хорошую статью "Обновление вашего PWA в продакшене" и задался вопросом - а как часто при обновлении PWA нужно обновлять непосредственно сам service worker? Ведь что такое service worker по сути? "Прокладка" (прокси) между приложением, работающим в браузере, и внешними серверами, с которых это приложение тянет нужные ему ресурсы. По большому счёту, функционал service worker'а сводится к некоторому набору стратегий и пониманию того, к какому ресурсу какую стратегию применять и когда (я сейчас не рассматриваю push notifications и background sync, но изложенное в какой-то степени применимо и к ним).

То есть, код service worker'а более стабилен по сравнению с кодом приложения и во многих случаях для его "обновления" достаточно программно обнулить кэш-хранилище браузера и обновить "понимание того, к какому ресурсу какую стратегию применять" - обновить конфигурацию service worker'а. А для этого нужно приложению нужно иметь возможность каким-то образом управлять состоянием service worker'а и передавать ему данные, что осложняется тем, что приложение и service worker работают в различных потоках.

Под катом пример того, каким образом можно настроить управление service worker'ом из основного приложения при помощи Channel Messaging API.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 515
Комментарии 0

Переход на Swift UI и React Native: как за 3 месяца запустить новое приложение, быстро набравшее популярность

Блог компании СберМаркет Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *

Всем привет!

На связи Дима Бобылев, CTO СберМаркета. В своей первой статье я рассказывал про взрывной рост нашего сервиса и какие неприятности с нами случились. ​​Знайте, мы не только выжили, но и продолжаем расти дальше и берем новые вызовы. 

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

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

— Разве вы не испытывали удовольствия?

— Иногда. В промежутках между припадками ужаса.

(с) «Сами Боги»‎, Айзек Азимов

Под катом рассказываю, как мы это сделали и что получилось в итоге.  

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 1.9K
Комментарии 8

Глобальный ренейминг в Android-проекте

Блог компании HeadHunter Разработка мобильных приложений *Разработка под Android *

Всем привет! Не будем мять бока и начнем максимально быстро.

Но для начала, представлюсь. Меня зовут Таскаев Евгений - я Android-разработчик в фичевой команде hh.ru. Пилю всякие интересные фичи, которыми вы пользуетесь каждый день*.

Сегодня вы узнаете, как у нас в Android приложении прошел глобальный ренейминг фичей и пакетов, а также их структуризация. Что у нас получилось, а что - нет. А выводы, стоит ли вам делать также, вы сделаете сами.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 973
Комментарии 5

Локализация Android-приложений: о чем умалчивает документация

Блог компании Alconost Разработка мобильных приложений *Разработка под Android *Локализация продуктов *
Перевод

Локализация Android-приложений — намного более сложная задача, чем должна была бы быть. Описание в документации недостаточное: чтобы разобраться в происходящем «под капотом», нужно искать информацию во внешних источниках (на StackOverflow и в блогах) и тренироваться на базовых приложениях типа «Hello World».

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 1.1K
Комментарии 1

Android, Kotlin Flow во ViewModel — все сложно

Разработка мобильных приложений *Разработка под Android *
Перевод

Сравним Kotlin-Flow и ViewModel в Android приложении, посмотрим в чем отличия и узнаем сильные стороны каждого подхода.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.2K
Комментарии 0

Делаем на Android анимацию как в Doom. Приложение-огонь

Блог компании Mail.ru Group Разработка мобильных приложений *Разработка под Android *
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Расскажу про отрисовку в Android на примере анимации огня из игры Doom. Эту игру за многие годы на чём только не запускали, от компьютеров до домофонов. Один программист однажды разобрал весь исходный код Doom и обратил внимание на алгоритм, генерирующий изображение огня. Он используется, к примеру, в официальной заставке одной из частей игры.

Как же отрисовать огонь? Нам нужно придумать реалистичное движение пикселей, изменение цветов. На самом деле алгоритм очень прост и уже описан не раз. Давайте реализуем его в Android.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 4.2K
Комментарии 4

Функциональный подход в Jetpack Compose: каррирование функций

Блог компании Surf Программирование *Разработка мобильных приложений *Разработка под Android *Функциональное программирование *

Современные языки программирования всё чаще становятся мультипарадигменными, и Kotlin не исключение. С появлением Jetpack Compose наблюдается уход от ООП  в функциональное программирование. Изучая новые средства разработки, такие как Jetpack Compose, давайте вспомним и те, которым уже около 60 лет. А главное — разберёмся, как их можно применить к современным подходам для получения большей эффективности.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.5K
Комментарии 5

Дайджест интересных материалов для мобильного разработчика #413 (27 сентября — 3 октября)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом выпуске поиск выключенных iPhone и локализация строк, оценки приложений самой Apple и свое приложение для Android Auto, ЦОДы в кармане, управление тестированием, зарплаты начинающих разработчиков, игровые метрики, рекордные расходы на приложения и многое другое!

Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 2K
Комментарии 0

Дублирование кода и неконсистентность дизайна: ищем решение

Блог компании SuperJob Разработка мобильных приложений *Разработка под Android *Дизайн мобильных приложений *Дизайн

Првиет! Меня зовут Игорь Дубровин, я Android-разработчик в SuperJob. Давно хотел поднять тему неконсистентности дизайна в приложении, поговорить о проблеме отсутствия единого стиля. Представьте: вы открываете приложение с вакансиями и на разных экранах видите предложения о работе в разном дизайне – в поисковой выдаче одно, а в ленте избранного немного другое. По факту блоки могут иметь совсем незначительные отличия, но пользователь все равно начинает пугаться. Почему? Все просто. Он привык к единому внешнему виду элементов экрана.

Есть несколько основных причин, почему может сбиваться заданный стиль. Предлагаю рассмотреть подходы, которые мы использовали в SuperJob. Заглядывай под кат!

Читать далее
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 2.7K
Комментарии 1

Уместить все ЦОДы и облака в карман инженера за счет мобильного «Сервисдеска»

Блог компании DataLine Разработка мобильных приложений *Разработка под Android *Help Desk Software *Service Desk *

Привет! На связи Алексей Волков, и я опять про «Сервисдеск» в DataLine. На сей раз покажу его мобильную реинкарнацию.

Три года назад мы создали десктопную систему для работы с заявками в техподдержку и дали ей говорящее название «Сервисдеск». Сейчас это решение работает во всех дата-центрах объединенной команды DataLine и «Ростелеком-ЦОД» и охватывает около 700 ежедневно активных пользователей. Мобильная версия «Сервисдеска» была лишь вопросом времени: доступность любых внутренних систем с портативных устройств сразу ускоряет цикл обработки запросов. А для клиентских заявок в техподдержку это особенно важно.

Под катом — краткая предыстория разработки мобильного клиента для «Сервисдеска» и демонстрация сценариев его работы.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 765
Комментарии 2

Как ЯRUS ежедневно собирает более 56 000 новостей из источников и выбирает из этого самое интересное

Разработка мобильных приложений *Алгоритмы *IT-компании

Сегодня уже мало кто заходит на один единственный сайт, чтобы почитать новости. Медиаполе современного человека соткано из множества инфопотоков и ресурсов, и для многих вопрос информационной гигиены стоит очень остро. Где и как организовать удобную новостную ленту, которая бы имела максимально широкий охват источников, но при этом выдавала бы из них только интересные конкретному пользователю материалы? Именно эту проблему решает раздел новостей в приложении ЯRUS, о котором пойдет речь ниже. 

Ежедневно агрегатор мониторит около 10 тысяч новостных ресурсов и собирает не менее 56 000 новостей для парсинга. Со стороннего ресурса берутся заголовок, текст и изображения, поэтому у пользователя приложения есть возможность прочесть новость, не покидая его. При этом в ленте отображаются не только заголовки, но и лид, что дает возможность быстро оценить, стоит ли открыть новость и продолжить чтение или же листать дальше.

Читать далее
Всего голосов 13: ↑0 и ↓13 -13
Просмотры 781
Комментарии 0

Укрощение feature-флагов

Блог компании HeadHunter Разработка мобильных приложений *Разработка под Android *

Всем привет! Меня зовут Паша Стрельченко, и я — Android-разработчик в hh.ru. В этой статье расскажу об укрощении feature-флагов. Если больше нравится аудиовизуальный формат, его можно найти на нашем youtube-канале. В статье я расскажу чуть больше технических подробностей, чем в видео, так что должно получиться интересно.

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 2.8K
Комментарии 7

Swift: локализация строк, содержащих формы множественного числа

Блог компании Alconost Разработка под iOS *Разработка мобильных приложений *Swift *Локализация продуктов *
Перевод

Задумывались ли вы когда-нибудь, зачем нужен файл .stringsdict?

Приходилось ли вам сталкиваться с грамматическими правилами для множественного числа в приложениях для iOS?

Если вы ответили утвердительно на любой из этих вопросов или вам просто интересно узнать что-то новое о локализации в Swift, то эта статья для вас. Здесь я постараюсь объяснить, чем полезен этот мощный инструмент, предоставленный нам компанией Apple.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 1.4K
Комментарии 3

Python GUI. Библиотека KivyMD. Шаблон MVC, parallax эффект и анимация контента слайдов

Python *Разработка мобильных приложений *Разработка под MacOS *Разработка под Linux *Разработка под Windows *
Tutorial

Приветствую вас, дорогие любители и знатоки Python! Прошло пол года с момента моей последней публикации на Хабре. Был погружен в пучину обстоятельств и сторонние проекты. Начиная с сегодняшней, статьи будут выходить с периодичностью раз в месяц. В этой статье мы рассмотрим как создать и анимировать контент для слайдов а также сделать parallax эффект для фонового изображения с помощью фреймворка Kivy и библиотеки KivyMD.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 3.8K
Комментарии 17

Jetpack Compose — как легко построить UI на Android

Блог компании FUNCORP Разработка мобильных приложений *Интерфейсы *Разработка под Android *Kotlin *

В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.

Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.

Читать далее
Всего голосов 50: ↑45 и ↓5 +40
Просмотры 7.3K
Комментарии 14

Flutter: о разработке плагинов с интерфейсом ActivityAware

Java *Разработка мобильных приложений *Разработка под Android *Dart *Flutter *


В былые времена клиенты присылали цветные изображения документов со сканера по емейлу. Кто ленился или не мог — отправлял свой загранник по почте. С этим неплохо справлялось решение от ABBYY. Потом появились телефоны и люди стали присылать фотографии паспортов. ABBYY сломался. Перешли на решение от Smart Engines и даже с фотографиями, посланными через WhatsApp особых проблем не было. Но потом пошли умные мобилки с включенными по умолчанию водяными знаками типа «Xiaomi 9T» часто перекрывающими важнейшую часть паспорта. Вдобавок к этому наличие в кадре на фотографии пальцев и бликов тормозило общение с клиентом.

Примеры паспортов, непригодных к распознаванию

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

  1. Мобильное ядро отображает рамку документа в процессе распознавания, не просто маску поверх видео, а именно рамку документа, находящегося в руках. По моим ощущениям, это дает человеку понимание, где не должно быть его пальцев. Вообще, это интересная тема для отдельного исследования.
  2. Система использует механизм сатурации данными и готова выдать результат только после определенной уверенности в них.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.4K
Комментарии 7

Дайджест интересных материалов для мобильного разработчика #412 (20 — 26 сентября)

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В этой подборке 0-day уязвимости в iOS и скорость сборки для нее же, StoreKit 2 и Swift 5.5, тестовая ферма и правильная валидация для Android, битва снифферов, игры со шрифтами, подготовка к FAANG, релизные циклы и многое другое!

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 2.2K
Комментарии 0

Реализация in-app purchases на Flutter c помощью Adapty SDK

Блог компании Adapty Разработка мобильных приложений *Монетизация мобильных приложений *Flutter *

Привет, меня зовут Алексей, я разрабатываю Adapty SDK для Flutter. Сегодня я расскажу про внедрение внутренних покупок в мобильное приложение на Flutter с помощью плагина, который мы разрабатываем.

Flutter — это относительно новый фреймворк от Google для быстрого создания кросс-платформенных приложений. Второй популярный фреймворк — React Native, о покупках на Реакте мы писали в другой статье.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 944
Комментарии 2

Вклад авторов