реклама
разместить

Каким должно быть приложение для криптобиржи: наш опыт разработки

Разбираем, что нужно пользователю от приложения криптобиржи и какие ошибки в нём бесят больше всего.

Каким должно быть приложение для криптобиржи: наш опыт разработки

В 2017 году, когда биткоин ещё был дорогим, к нам обратились представители криптовалютной биржи Twim. Им нужно было разработать мобильное приложение. Базовые требования, которые озвучил заказчик — удобный интерфейс и ориентация одновременно и на новичков, и на трейдеров-профессионалов.

Приложение мы разработали. В 2018 году оно появилось в сторах сперва в стадии бета-теста, а потом и раннего доступа. Но планируемый запуск приложения на азиатском рынке не состоялся из-за падения курса биткоина.

Однако мы решили поделиться этим интересным опытом и рассказать, с какими сложностями и особенностями криптобирж мы столкнулись при разработке и как с ними справились.

Как мы изучали рынок

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

Чтобы понять, как сделать хорошее приложение, мы попросили CTO Twim Илью Логинова прочитать нам несколько лекций о том, как работают криптобиржи.

Тщательно готовились и к разработке интерфейса. Для этого изучили 10 самых популярных криптобирж: зарегистрировались на них и попробовали торговать. Это помогло понять, чего ждут пользователи от этого инструмента.

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

Особенности приложений для криптобиржи

Главное, что необходимо любому трейдеру — чтобы приложение было удобным, работало быстро и без ошибок. На бирже, где цена может поменяться несколько раз за секунду, «тормозящее» приложение — полный провал: пользователи потеряют деньги и время, а потом и вовсе уйдут на другую биржу, где таких проблем нет.

Для Twim мы разработали нативные приложения для iOS и Android. Использовали стандартную для индустрии архитектуру, в которую внесли некоторые дополнительные элементы. Стандартная схема удобна для разработчика: заранее понятно, как писать код, как приложение поведёт себя в разных бизнес-сценариях и как упростить автотестирование. Каждый элемент архитектуры задокументирован, поэтому команде заказчика, которая будет поддерживать приложение, будет просто с ним работать.

1. Приложение должно работать и с телефона, и с планшета

Среди будущих пользователей — как опытные, так и начинающие трейдеры. Поэтому приложение должно было работать и с телефона, и планшета.

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

Для смартфона нужны только базовые возможности: стоимость портфеля, котировки криптовалют, совершённые операции
Для смартфона нужны только базовые возможности: стоимость портфеля, котировки криптовалют, совершённые операции

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

Интерфейс для планшета в приложении Twim
Интерфейс для планшета в приложении Twim

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

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

Каким должно быть приложение для криптобиржи: наш опыт разработки

2. Приложение должно быть удобным

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

Вот, например, отзыв пользователя о начале работы с приложением Binance.

Каким должно быть приложение для криптобиржи: наш опыт разработки

При разработке приложения для Twim мы определили главные элементы, которые пользователи хотят сразу же видеть в приложении: график, биржевой стакан, заявки и котировки валютных пар. Их и вынесли на главный экран.

На создание UX Twim мы потратили около двух месяцев.

Прототип интерфейса для Twim
Прототип интерфейса для Twim

3. Чем отличается дизайн приложения для криптобиржи

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

Пример оформления в чёрной теме — так выглядят экраны криптобирж Binance и Bitfinex
Пример оформления в чёрной теме — так выглядят экраны криптобирж Binance и Bitfinex

Например, приложения крупнейших криптобирж Binance и Bitfinex оформлены в чёрной теме. А вот ориентированная на рынок России и стран СНГ криптобиржа EXMO поддерживает сразу 2 режима — у них есть возможность переключиться с тёмной «ночной» темы на светлую «дневную».

В мобильном приложении EXMO можно выбрать удобную тему
В мобильном приложении EXMO можно выбрать удобную тему

Для Twim мы выбрали тёмную тему. Остальные элементы сделали выделяющимися и контрастными. Кнопки — жёлто-оранжевыми, потому что этот цвет хорошо виден на тëмном фоне. Для шрифтов выбрали белый, но определённой степени интенсивности.

Такой дизайн интерфейса разработал Surf
Такой дизайн интерфейса разработал Surf

4. Графики — важная часть приложения для криптобиржи

Графики котировок — один из основных элементов в приложении любой биржи. Важно, чтобы они корректно отображались и очень быстро обновлялись. Например, в конце марта произошёл сбой с отображением графиков в приложениях Binance и Bitfinex. Это сразу же вызвало волну возмущения со стороны пользователей и снизило оценки этих приложений в сторах.

Чтобы отрисовать графики для Twim, мы воспользовались библиотекой самой популярной платформы финансовой визуализации TradingView. Её используют практически все торговые терминалы. Её преимущество в том, что благодаря гибким настройкам можно отобразить огромное количество индикаторов, которые могут понадобиться трейдерам.

С технической точки зрения процесс отображения графиков в биржевом приложении не так прост, как кажется. Для отображения графиков из TradingView нам понадобился компонент WebView. Он позволяет встраивать web-страницы в Android-приложения. Чтобы графики корректно показывались и на IOS, и на Android устройствах, мы написали дополнительные обработки — нативные обертки на Swift и Kotlin.

Процесс выглядел так.

  1. Данные от сервера биржи по протоколу для удалённой передачи данных gRPC передавались в TradingView.
  2. Там они преобразовывались в графики и отправлялись в приложение через WebView.
  3. В зависимости от того, каким устройством пользуется трейдер, iOS или Android, использовалась нужная нативная обёртка.
Графики в Twim отображаются в том же дизайне, в каком оформлено приложение
Графики в Twim отображаются в том же дизайне, в каком оформлено приложение

С какими проблемами мы столкнулись и как их решали

Низкая скорость передачи данных

Очень важно, чтобы котировки в приложении криптобиржи обновлялись постоянно и практически в реальном времени. Не все приложения могут похвастаться высокой скоростью работы. Например, у пользователей есть нарекания к скорости работы мобильного приложения площадки для профессиональных трейдеров KuCoin. А приложение биржи EXMO не оптимизировано для работы на мобильном трафике.

Вот как реагировали пользователи на то, что в приложении Binance после обновления временно снизилась скорость работы.

Каким должно быть приложение для криптобиржи: наш опыт разработки

Как мы решали эту проблему?

При разработке приложения мы стремились сохранить высокую скорость передачи данных — они должны были обновляться до 20 раз в секунду. Поэтому вместо REST мы использовали связку из gRPC, HTTP/2 и буферов протоколов (protobuf).

Вот как это работало. gRPC — высокопроизводительный фреймфорк для удалённого вызова процедур от Google. С его помощью приложение передавало потоки данных — котировки криптовалют — от сервера к клиенту и обратно. Протокол HTTP/2 преобразовывал данные в бинарный вид. Это экономило трафик и повышало скорость их передачи.

Протокол сериализации protobuf стал альтернативой JSON. Он упаковывал данные для клиента и сервера и делал это очень быстро, так как они были в бинарном виде, оптимизированы под минимальный размер сообщения.

В 2017 году, когда мы делали приложение для Twim, Android корректно работал с gRPC, так как уже были стабильные библиотеки. А вот для iOS мы написали интерпретатор, который генерировал сущности на языке Swift, на котором писали приложение для iOS. Сейчас в такой прослойке необходимости нет, так как разработчики уже сделали реализацию для Swift.

Перегрев аккумулятора устройства и мерцание экрана

На любой бирже котировки меняются очень часто, несколько раз в секунду. Эти данные постоянно поступают с сервера. Изменение сразу же отображается на графике, а значит, приложению приходится мгновенно перерисовывать интерфейс.

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

Как мы решали эту проблему?

Мы сложили данные в стек — можно сравнить со списком или стопкой. Пока интерфейс отрисовывает новые данные, с сервера приходят ещё обновления, они последовательно складываются в наш «список»-стек. Когда UI обращается за новыми данными, он берёт последнее, самое актуальное обновление, и рисует его. Так процессор успевает переработать информацию, а аккумулятор работает в нормальном режиме.

Итог: что важно в мобильном приложении криптобиржи

  • Приложение должно работать и на планшете, и на смартфоне. Так у вас получится учитывать потребности и новичков, и продвинутых трейдеров.
  • Важно обеспечить удобную работу пользователя с приложением, всё самое основное вынести на главный экран.
  • Чаще всего дизайн приложений делают в тёмной теме. Она удобнее светлой, так как трейдеры много смотрят в экраны и часто работают ночью.
  • Очень важна стабильная работа приложения и быстрое обновление данных.

Мы разрабатывали и другие приложения для финтех сектора. Если вам интересно почитать про наши проекты, заходите на наш сайт. Если появились вопросы по разработке приложения для Twim, пишите в комментариях, будем рады ответить. Кстати, весь код мы публикуем в публичных репозиториях: репозиторий iOS команды Surf и репозиторий Android команды Surf.

3333
11
реклама
разместить
25 комментариев

Пожалуйста, никогда не делайте только тёмную или только светлую тему. Дайте пользователю выбирать самому. Я вот тёмные темы не люблю и часто отказываюсь от приложения или сайта только из-за отсутствия светлой темы (исключение только для Порнхаба, т.к. не вижу хорошей альтернативы, там хорошее комьюнити).

11

Комментарий недоступен

3

Так уж вышло, что я дизайнер интерфейсов и по совместительству – криптовалютный трейдер. Торговал на 5-6 площадках, и у меня сложились определённые мысли, которые возникли в голове в ответ на написанное вами.

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

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

В-третьих, каждое приложение для криптовалютной торговли отвечает определённой бизнес-цели. Например, азиатские биржи - это инструмент перочинный нож, в них есть вообще всё. Американские же биржи имеют либо урезанный функционал, либо нарочито кусочный (например, Robinhood). Да, я делаю поправку на 2017-й год.

Я это всё к чему. Слежу за вашими кейсами в банковской сфере, и там как раз-таки всё круто. Ожидал и от этого кейса более глубокого погружения, но разочаровался. 

5
Автор

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

1
Раскрывать всегда
СК завёл против блогера Александры Митрошиной уголовное дело об отмывании денег

В 2023-м она была фигурантом дела о неуплате 127 млн рублей налогов.

Источник: «<a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ft.me%2Fskmoscowgsu%2F4453&postId=1852382" rel="nofollow noreferrer noopener" target="_blank">Столичный СК</a>»
1111
33
33
33
22
Так странно читать такие новости... Инфоцыганка отмывает деньги???? Да вы что?
реклама
разместить
Приезжайте к нам в Германию, у нас айтишники живут в коммуналках и пляшут с бубном, чтобы выжить

За 6 лет я успела поработать в трех крупных IT-компаниях, несколько раз меняла жилье и переехала из Мюнхена в Берлин. В статье я расскажу про немецкую бюрократию, налоги и почему даже айтишники с высокими зарплатами живут в коммуналках. А еще, как в Германии искать работу и жилье, сколько стоит здесь лечиться и жить, и как вы можете остаться без ви…

У меня дом 2016 года постройки. Это не лучшее фото фасада — я сделала снимок, чтобы показать последствия новогодних празднований в Берлине. Кто-то запустил фейерверк — квартира сгорела, фасад на несколько этажей закоптился. Но в целом дом чистый и уютный.
5757
66
66
22
11
11
Знакомый вернулся из Германии после трех лет работы там. Говорит, что не выдержал именно бюрократии и того, что к русским относятся как к людям второго сорта. В статье автор это деликатно обходит, но это реальность.
Как упростить бракоразводный процесс? 5 советов от Податьвсуд.РФ

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

Как упростить бракоразводный процесс? 5 советов от Податьвсуд.РФ
1010
22
Великобритания сняла санкции с «Росбанка» и сохранила их в отношении «Т-Банка»

В начале 2025 года «Росбанк» завершил присоединение к «Т-Банку» в качестве филиала.

2323
44
22
Английские учёные доказали , что банка Росбанк уже нет и поэтому с него можно санкции снять.
«Мы создаём новое на основе друг друга»: глава Mistral AI рассказал, что не воспринимает DeepSeek как конкурента, но собирается выпустить модель «мощнее», чем у него

И достаточно скоро.

Глава Mistral AI Артур Менш. Источник: Bloomberg
44
11
11
Управляющий партнёр Y Combinator Джаред Фридман рассказал, что у четверти стартапов акселератора 95% кодовой базы сгенерировано ИИ

Глава YC предупредил, что разработчикам всё равно необходимы знания в программировании.

Кадр из беседы главы YC Гарри Тана с партнёрами. Источник: Y Combinator
55
11
Создание фирменного стиля
  1. Что такое фирменный стиль? Кому он нужен и зачем?
  2. Что делает фирменный стиль?
  3. Фирменный знак и каким он может быть?
  4. Как создается фирменный стиль?
11
«Аэрофлот» запустил в аэропорту Шереметьево стойки для самостоятельной регистрации и сдачи багажа

С помощью них можно сразу зарегистрироваться и на рейс.

Как выглядят стойки для самостоятельной регистрации на рейс и багажа. Источник: Telegram-канал «Аэрофлота»
2222
Так они уже были там давно. С перерывом на 3 года не работали из-за санкций, которые всем на пользу, наверное😂Видимо, импортозместили, наконец
[]