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

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

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

Сначала показывать
Порог рейтинга

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В новом дайджесте новые виджеты и патчинг байт-кода, Cross device SDK и новый Flutter, Code Review для джуниоров, победа Коста Элефтериу, новые платежи в магазинах и многое другое!
Подключайтесь!

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Новости

Do it yourself: как тестировать приложение без QA

Разработка мобильных приложений *Тестирование мобильных приложений *Дизайн мобильных приложений *
Из песочницы

Это первый текст на канале, так что сначала я хочу представиться: вряд ли кто-то всерьез будет прислушиваться к анониму, даже если он весь из себя экспертный эксперт. Итак, привет, я - Женя Шаповалов, Senior Android/Flutter Developer в компании Innowise (и хэд mobile department там же). В мобильной разработке я с 2015 года, начинал с Android, а за Flutter мы принялись вместе с коллегами в Innowise - да так мощно, что в итоге в компании появилось отдельное направление разработки.

Ну что, вроде бы заслуживаю доверия? Тогда погнали!

Сегодня рассказываю, как правильно тестировать код,  и делюсь личным опытом. Да-да, ты все понял верно: при разработке мобильных приложений тестирование проводит не только QA-инженер, но и сам автор кода. Причем не только в самом конце, когда приложение почти готово, но и в процессе. Мы сегодня рассмотрим оба этапа. 

Ну-ка, что там такое?..
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.3K
Комментарии 2

Выполняем задачи по расписанию с Quartz и Spring Boot

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

Функции приложения, которые должны выполняться с определенной периодичностью или по расписанию, не выглядят на первый взгляд чем-то сложным. Однако при реализации можно столкнуться с рядом проблем. Грамотно подобранный инструмент позволит облегчить разработку и избежать проблем при эксплуатации приложения.

В статье на примере покажу, зачем использовать планировщик задач Quartz в Spring Boot-приложениях и с какими проблемами он поможет справиться.

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

Опыт перехода на MVI в Android на базе собственного решения

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

В команде Android мы активно применяем MVI для проектирования взаимодействия состояния экрана и бизнес-логики. В этой статье мы хотим рассказать о собственной MVI-библиотеке – Reduktor и об опыте внедрения и использования. Статья будет полезна всем, кто хочет познакомиться с Redux-like MVI.

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

Как работа с ресурсами вызывает микрофризы

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

Думаю, каждый из нас периодически сталкивается с непонятными микрофризами при взаимодействии с, казалось бы, простым UI…

Просто скролишь список, и тут — бац! Лагнуло! Сегодня я бы хотел разобрать одну из множества причин такого поведения — работу с ресурсами. Мы разберёмся, в каких случаях работа с ресурсами может стать проблемой. Почему это происходит и как лучше всего от этого избавится.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Просмотры 1.5K
Комментарии 2

DevOps-инструменты как новая ступенька для разработчика

Блог компании Southbridge Программирование *Разработка мобильных приложений *IT-инфраструктура *Управление разработкой *

В октябре Владислав Килин, Кирилл Борисов и учебная команда Слёрм проведут «DevOps Tools для разработчиков» — практический интенсив в новом формате. Его цель — расширить стек специалистов и познакомить их популярными эксплуатационными инструментами. Мы провели интервью с автором идеи интенсива и руководителем одной из учебных команд Слёрма, Евгением Бутыриным. Он рассказал, в чём идея «DevOps Tools для разработчиков» и кому он будет полезен, почему было принято решение внедрить изменения в отработанный формат обучения.

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

Как мы уменьшили размер приложения ВТБ Онлайн с многомиллионной аудиторией в 2 раза

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

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

Когда мобильное приложение ВТБ было удалено из Google Play, сразу встал вопрос — как пользователи смогут получать обновления? В нашем случае это вопрос доступа миллионов клиентов, которые уже установили Android-приложение «ВТБ Онлайн», к банковским услугам. При поиске решения заодно удалось сократить размер приложения в 2 раза — до 220 Мб. 

О том, как решали вопрос с обновлением, переходом на новые площадки и оптимизацией размера приложения, расскажем под катом.

Читать далее
Всего голосов 25: ↑15 и ↓10 +5
Просмотры 5.5K
Комментарии 44

Skia — высокопроизводительная 2D графика для React Native

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

Пользователям Flutter не понаслышке знаком такой проект как Skia. Он является движком для рендеринга всего что мы видим на экране Flutter. С помощью Skia можно рисовать очень сложные элементы интерфейса да и в целом любые 2D сцены с поддержкой плавной анимации и различных эффектов. Так почему бы не взять это на вооружение, подумали ребята из Shoppify и выпустили React Native Skia - библиотеку позволяющую использовать Skia в экосистеме React Native.

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

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

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

Привет, Хабр! Меня зовут Саша Лепехин, я разрабатываю мобильное приложение СберИнвестор под Android. Во время разработки и тестирования мобильного приложения мне часто нужно  просматривать логи внутри приложения, причем без подключения по adb.

В принципе, есть множество приложений, которые позволяют просматривать содержимое logcat на устройств. Но с ними часто возникают самые разные проблемы:  такие приложения нуждаются в специальных разрешениях или наличии root доступа, запускают отдельные процессы или сервисы. Или же они могут просто не работать на некоторых устройствах (например, там, где выключен logd). В этой небольшой статье предложено решение большинства подобных проблем. Оно основано на трансформации байт-кода приложения. Поехали!

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

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

Блог компании Productivity Inside Разработка под iOS *Разработка мобильных приложений *Разработка под Android *
В нашей новой подборке собеседование для Senor-а и разработка на грани, анимации и рефакторинг в Slack, проблемы Agile, тестирование роботами и многое другое. Подключайтесь!

Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

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

Дорога в полгода к светлой цели или как мы делали стартап для помощи переселенцам

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

Всем привет! Я живу в Средней Азии и замечаю следующую картину - мои знакомые и друзья со временем переезжают заграницу. Большей частью в Российскую Федерацию. Кто-то в Америку, кто-то в Корею, Турцию, Европу и прочие благополучные страны. Их всех объединяет одно - они потратили кучу времени и энергии на процесс переезда, получение документов, разрешений и прочих трудностей. Собравшись с несколькими, самыми близкими друзьями, мы решили запилить сервис помощи переселенцам - HumanWay.

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

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

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

Параметры спринтов как качественный показатель Scrum разработки

Разработка мобильных приложений *IT-стандарты *Управление разработкой *Agile *
Из песочницы

Современные парадигмы разработки ПО всегда являются итерационными. В методологии Scrum такими итерациями являются спринты, в классической версии Scrum каждый спринт начинается с планирования и завершается демо, ретроспективой и «инженерным» днем. Оценка успешности каждого спринта – это довольно субъективная вещь, формализация которой важна и может быть реализована с помощью следующих стандартных действий:

• Определить достижение целей спринта;

• Оценить краткосрочное влияние разработки ПО на удовлетворённость заказчиков и пользователей в развитии продуктов;

• Провести формализацию и учет параметров спринтов.

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

Узнать больше
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 4.2K
Комментарии 6

Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом

Блог компании Яндекс Open source *Разработка мобильных приложений *Интерфейсы *GitHub *
Привет! Сегодня Яндекс выкладывает в опенсорс DivKit — фреймворк для отрисовки интерфейсов из ответа сервера. Серверная вёрстка поможет ускорить разработку: наладить отправку апдейтов от сервера разным версиям приложения, создать прототип или просто написать интерфейс один раз для нескольких платформ.


Фреймворк включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python. Исходный код опубликован на Гитхабе под лицензией Apache 2.0.

Сейчас DivKit используется в приложении Яндекс, Алисе, Едадиле, Маркете, ТВ и других приложениях. В этом посте я постараюсь вспомнить историю фреймворка, затем мы напишем с его помощью небольшой просмотрщик ленты Хабра, а в конце я покажу ещё несколько простых примеров интеграции.
Читать дальше →
Всего голосов 122: ↑115 и ↓7 +108
Просмотры 30K
Комментарии 44

Как подружить Redux и Elementary

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

Поговорим об управлении глобальным состоянием с помощью Redux. Расскажу, как наиболее продуктивно связать Elementary — архитектурный пакет для Flutter — и Redux.

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

Как мы делали суперприложение на основе Почты

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

Совсем скоро, 3 и 4 сентября в VK пройдёт новый Weekend Offer. В нём будет участвовать и наша команда — мы создаём суперприложение на основе почтового клиента Mail.ru. Хотим подробнее рассказать об этом проекте и о задачах, которые нужно будет решать нашим будущим коллегам :)

Год назад бизнес поставил нам задачу: интегрировать в приложение несколько других сервисов компании, чтобы пользователи могли одним нажатием переходить из сервиса в сервис. Ну, вы и сами знаете, для чего нужны суперы — для развития экосистемы и конкретных продуктов. И спустя два месяца мы запустили в эксплуатацию суперприложение на основе почтового клиента Mail.Ru.

Читать далее
Всего голосов 30: ↑22 и ↓8 +14
Просмотры 3.5K
Комментарии 10

За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS

Блог компании «Лаборатория Касперского» Информационная безопасность *Программирование *Разработка под iOS *Разработка мобильных приложений *
Привет! Меня зовут Денис Кудинов, я iOS-Development team lead в «Лаборатории Касперского». В этой статье расскажу об Mobile Device Management, а также о supervised- и BYOD-режимах — как работает технология и что с ее помощью можно сделать такого, что недоступно обычным приложениям из App Store. Считайте это презентацией возможностей Configuration Profiles, да и Apple MDM в целом :)

image

Статья будет полезна разработчикам B2B-приложений для iOS, которые хотят разбавить свои инструменты новыми фичами, а также для product owner-ов и бэкенд-разработчиков, которые хотят поддержать взаимодействие с мобильными устройствами.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.6K
Комментарии 3

Как мы писали приложение для доставки из ресторанов

Блог компании Автомакон Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Разработка под e-commerce *
Recovery mode

В феврале 2021 года ВкусВилл запустил проект «Сгоряча» по доставке блюд из более 50 «dark kitchen» в Москве, Санкт-Петербурге, Волгограде, Чебоксарах и других городах. Сейчас через приложение можно заказать также еду из ресторанов-партнеров. Блюда бесплатно доставляют собственные курьеры сети  в среднем за 1-1,5 часа после оформления заказа.

Доставок из «dark kitchen» не так много — всего 3-4 агрегатора доставляют блюда. Это нетривиальная задача: нужно наладить работу курьеров, разработать приложения для партнеров, курьеров и клиентов, подключить партнеров и обучить их пользоваться доставкой, продумать архитектуру на случаи загрузки — много всего.

За создание и развитие мобильных и веб-сервисов ВкусВилл отвечает команда «Фулстек» (направление ГК «Автомакон», специализирующееся на мобильной и веб-разработке). Подробнее расскажем, как мы сделали 3 небольших доработки для сервиса по доставке блюд из ресторанов, как он работает и с какими сложностями нам пришлось столкнуться в процессе.

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Просмотры 1.7K
Комментарии 11

Danger. Автоматизируем ревью на CI и пишем свой плагин

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

Привет, я Татьяна Родионова, Android-разработчица в Lamoda. Как-то раз передо мной появилась задача упростить ревью пул-реквестов с помощью Danger. Я решила добавить автоматическую проверку код стайла, используя ktlint. Но оказалось, что Danger не поддерживает такое решение, поэтому я добавила такую проверку сама :) 

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

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

Rambler&Co + Okko Tech Talk: регистрация началась

Блог компании Rambler&Co Разработка мобильных приложений *Тестирование мобильных приложений *Аналитика мобильных приложений *

Всем привет!

Приглашаем всех мобильных разработчиков и просто неравнодушных ребят на совместный митап Rambler&Co и Okko.

Выйдем на связь 8 сентября с 19:00 до 21:00 в уже привычном смешанном формате – в онлайне и офлайне.

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

Почему я больше не буду использовать deep linking из Navigation Component

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

Эта статья для тех, кто стоит перед выбором реализации собственного решения для обработки deep links в Android приложении или использования, того что предлагает Google в своем Navigation Component.

Недавно, на одном из небольших проектов передо мной встала задача открытия различных экранов приложения из вне через deep links, захотелось попробовать и понять, что такого для deep linking смогли придумать ребята из Google, учитывая как красиво они об этом рассказывают в своих презентациях и документации.

Далее я опишу недостатки, с которыми пришлось столкнуться, и почему я больше не буду использовать deep linking из Navigation Component.

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

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

Работа