Рубрика «Разработка под android»

Приглашаем на тематический митап AppsConf: QualityApps - 1

30 ноября в московском офисе Mail.Ru Group пройдёт митап, полностью посвящённый мобильному тестированию. Мы подготовили его совместно с организаторами октябрьской конференции AppsConf по многочисленным просьбам от сообщества. Программа и регистрация – под катом.
Читать полностью »

Больше всех пахала лошадь, но председателем колхоза так и не стала - 1

В последнее время в мобильном сообществе часто можно услышать про Flutter, React Native. Мне стало интересно понять профит от этих штук. И насколько они реально изменят жизнь при разработке приложений. В итоге было создано 4 (одинаковых с точки зрения выполняемых функции) приложения: нативное Android, нативное iOS, Flutter, React Native. В этой статье я описал то, что вынес из своего опыта и как реализуются схожие элементы приложений в рассматриваемых решениях.
Читать полностью »

Строим систему реактивных компонентов с помощью Kotlin - 1

Всем привет! Меня зовут Анатолий Варивончик, я Android-разработчик Badoo. Сегодня я поделюсь с вами переводом второй части статьи моего коллеги Zsolt Kocsi о реализации MVI, которую мы ежедневно используем в процессе разработки. Первая часть здесь.

Чего мы хотим и как мы это сделаем

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

Каждая Feature отслеживаема — есть возможность подписаться на изменения её состояния и получать уведомления об этом. При этом Feature можно подписать на источник ввода. И в этом есть смысл, ведь с включением Rx в кодовую базу у нас и так появилось множество наблюдаемых объектов и подписок на самых разных уровнях.

Именно в связи с увеличением количества реактивных компонентов пришло время поразмышлять о том, что мы имеем и можно ли сделать систему ещё лучше.
Читать полностью »

Всегда было интересно посмотреть, что происходит у банковской карточки под «капотом». Как реализуется протокол общения банковской карточки и POS-терминала, как это работает и насколько это безопасно. Такая возможность предстала передо мной, когда я проходил стажировку в компании Digital Security. В результате при разборе одной известной уязвимости EMV карт в MagStripe-режиме, было решено реализовать мобильное приложение, которые способно общаться с терминалом по бесконтактному интерфейсу, с использованием своих команд и подробным разбором запросов и ответов. А также попробовать реализовать способ клонирования карт MasterCard в режиме MagStripe.
В этой статье я постараюсь описать, что такое EMV-карта, как она работает и как используя Android можно попытаться клонировать вашу MasterCard карту.

«There are some things money can't buy. For everything else, there's MasterCard»

Что такое EMV карта?

EMV — это международный стандарт для банковских карт с чипом. В разработке этого стандарта принимали участия Europay + MasterCard + VISA, отсюда и название. Попробуем разобраться, как же все таки карта общается с POS-терминалом по бесконтактному интерфейсу. Читать полностью »

В новом дайджесте лучшие смешные и грустные истории от PapaBubaDiop, серверный Swift и многогранная MVI, игровые механики в Excel и компьютеры, не умеющие считать. Добро пожаловать!

Дайджест интересных материалов для мобильного разработчика #275 (12 — 18 ноября) - 1Читать полностью »

В предыдущей статье я подробно рассказал о нашем опыте создания веб-сервиса/мобильного приложения для ведения личного дневника. Актуальная версия приложения (минимальная работоспособная версия уже выложена в Google Play) разрабатывается на React Native, и вот на нем мы и остановимся подробно сегодня.

Рассказываем о собственном опыте работы с фреймворком, способах расширения функционала, «подводных камнях» (куда ж без них!) и как мы их обошли.

О фреймворке в целом

Немного о виновнике торжества — React Native. Он все-таки хорош!

Для тех, кто в достаточной степени знает JavaScript и тем более NodeJS — он очень хорош. Если же есть опыт с React, ну или хотя бы есть понимание ее идеи, механизма — он просто великолепен!

Главное, что на выходе получается действительно нативное приложение. Расширения и плагины покрывают практически 99% типовых задач. Оставшийся процент при острой необходимости можно дописать на родных языках (java, object-c) и подключить к React Native приложению.

Но хватит про плюсы, от них толку ноль, хоть список и будет внушительным. Все плюшки и вкусности бессмысленны, если приложение не запускается, а это первое чем нас «порадовал» React Native.

Сначала ему не понравилась версия NodeJS. Потом версия npm. Потом версия Android SDK, потом версия Android tools, потом… Писать про то, как все проблемы решились, смысла нет, ибо с того момента все вышеперечисленное ПО обновило свои версии и инструкции будут неактуальны.

Просто знайте: узкое место React Native — среда сборки. Будьте готовы к штудированию google, чтению форумов и stackoverflow. На развертывание в итоге потратили: Ubuntu 12.6 — 3 дня, Win10 — 2 дня. Как ни странно, на «винде» все оказалось проще, ну, или просто на ubuntu «шишек набили» и уже понимали, что и куда подсовывать.

На заметку, вдруг кому пригодится: код, представленный ниже, решил все проблемы с совместимостью версий sdk у дополнений при компиляции проекта.
Читать полностью »

Стоит ли ждать Android на iOS от Parallels? - 1

Спойлер: «Нет». На днях на одном из форумов довелось увидеть гениальный вопрос от какой-то девушки: «У меня iPhone с операционной системой Android 4.2.1. Могу ли я поменять эту операционную систему на iOS?». Форумчане саркастически посоветовали ей купить плату от iPhone, процессор, видеокарту и настоящий смартфон от Apple.Читать полностью »

Firebase Summit 2018: коротко о главном - 1

В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза) с моими правками и комментариями.
Читать полностью »

Современная MVI-архитектура на базе Kotlin. Часть 1 - 1

За последние два года Android-разработчики в Badoo прошли длинный тернистый путь от MVP к совершенно иному подходу к архитектуре приложений. Мы с ANublo хотим поделиться переводом статьи нашего коллеги Zsolt Kocsi, описывающую проблемы, с которыми мы столкнулись, и их решение.

Это первая из двух статей, посвящённых разработке современной MVI-архитектуры на Kotlin.
Читать полностью »

Привет! Меня зовут Ибрагим, я — начинающий инди-разработчик. У меня всегда было желание заняться программированием, но меня отпугивала сложность и неопределенность выбора (что именно изучать и делать). И лишь 2 года назад я все-таки преодолел этот психологический барьер, смог высвободить достаточно времени, и решил уже основательно подойти к задаче. Я был решительно настроен найти и освоить профессию, от которой я бы получал кайф.

Сужать круг поиска, чем именно заниматься, было тяжело. Знакомых в этой области не было, поэтому решил отталкиваться от каких-то общих соображений. Так как в приоритете было в первую очередь найти что-то интересное, выбор пал на геймдев. Понравилась идея для начала сделать простенькую 2D-игру под Android и выложить на Google Play.
Читать полностью »