Веб-технологии в мобильном приложении «ВКонтакте»

Разработчик Тимофей Чаптыков рассказал о веб-технологиях в мобильном приложении «ВКонтакте» в рамках лектория на прошедшем VK Hackathon 2018.

Веб-технологии в мобильном приложении «ВКонтакте», image #1
Веб-технологии в мобильном приложении «ВКонтакте», image #2
1 of 2

VK APPS

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

Веб-технологии в мобильном приложении «ВКонтакте», image #3
Веб-технологии в мобильном приложении «ВКонтакте», image #4
Веб-технологии в мобильном приложении «ВКонтакте», image #5
Веб-технологии в мобильном приложении «ВКонтакте», image #6
Веб-технологии в мобильном приложении «ВКонтакте», image #7
1 of 5

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

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

Инфраструктура

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

Это и есть те самые веб-технологии в мобильном приложении «ВКонтакте». Все приложения, открываемые в сервисах, написаны на HTML, CSS и JavaScript и открываются в WebView.

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

Веб-технологии в мобильном приложении «ВКонтакте», image #8

VKUI — это библиотека компонентов, написанная на react, представляющая собой типичный FrontEnd. Устроена таким образом, чтобы полученный интерфейс был максимально нативным.

VKUI Connect — шина событий, которая позволяет общаться с нативным приложением.

Веб-технологии в мобильном приложении «ВКонтакте», image #9

VKUI

Приложения, написанные с помощью компонентов, имеют привычный вид для своей платформы.

Веб-технологии в мобильном приложении «ВКонтакте», image #10

Разработчики видят это так:

Веб-технологии в мобильном приложении «ВКонтакте», image #11
Веб-технологии в мобильном приложении «ВКонтакте», image #12
1 of 2

Привычные жесты сохраняются:

Веб-технологии в мобильном приложении «ВКонтакте», image #13
Веб-технологии в мобильном приложении «ВКонтакте», image #14
Веб-технологии в мобильном приложении «ВКонтакте», image #15
Веб-технологии в мобильном приложении «ВКонтакте», image #16
Веб-технологии в мобильном приложении «ВКонтакте», image #17
Веб-технологии в мобильном приложении «ВКонтакте», image #18
Веб-технологии в мобильном приложении «ВКонтакте», image #19
1 of 7

Пример написания кода приложения при использовании WebStorm и Chrome. Всё приложение пишется в одном документе.

Веб-технологии в мобильном приложении «ВКонтакте», image #20

VKUI насчитывает 60 компонентов, которые можно разделить на 4 группы: Layout, popouts, blocks и forms.

Веб-технологии в мобильном приложении «ВКонтакте», image #21

Некоторые компоненты:

Веб-технологии в мобильном приложении «ВКонтакте», image #22
Веб-технологии в мобильном приложении «ВКонтакте», image #23
1 of 2

Кроме компонентов для построения интерфейсов нужны иконки. Чтобы ими воспользоваться, их необходимо импортировать. Все иконки векторные, которые можно использовать в разных размерах и цветах.

Веб-технологии в мобильном приложении «ВКонтакте», image #24

Как это выглядит:

Веб-технологии в мобильном приложении «ВКонтакте», image #25
Веб-технологии в мобильном приложении «ВКонтакте», image #26
1 of 2

Найти можно по ссылкам:

В итоге инфраструктура дает следующие преимущества:

Веб-технологии в мобильном приложении «ВКонтакте», image #27

Ознакомиться с VKUI можно здесь:

VKUI Connect

Как уже выше говорилось, VKUI Connect является шиной событий для общения нативных приложения с VKUI-приложениями.

Веб-технологии в мобильном приложении «ВКонтакте», image #28
Веб-технологии в мобильном приложении «ВКонтакте», image #29
1 of 2

Также общение нативных приложения с VKUI-приложениями позволяет:

Веб-технологии в мобильном приложении «ВКонтакте», image #30

Примеры использования:

Веб-технологии в мобильном приложении «ВКонтакте», image #31
Веб-технологии в мобильном приложении «ВКонтакте», image #32
1 of 2

Ссылки на VKUI Connect:

Веб-технологии в мобильном приложении «ВКонтакте», image #33

Для того чтобы облегчить работу был создан инструмент Create VK App, позволяющий создавать сервисы одной командой и имеющий уже настроенные VKUI Connect, VKUI и другие инструменты.

Найти инструмент можно здесь:

Использование внутри приложения VK

Примеры использования VKUI внутри приложения:

Веб-технологии в мобильном приложении «ВКонтакте», image #34
Веб-технологии в мобильном приложении «ВКонтакте», image #35
Веб-технологии в мобильном приложении «ВКонтакте», image #36
Веб-технологии в мобильном приложении «ВКонтакте», image #37
1 of 4
Веб-технологии в мобильном приложении «ВКонтакте», image #38

Это позволяет:

  • Осуществлять быстрое обновление разделов, как для всех пользователей, так и для выборочных.
  • Также код работает на всех платформах.
  • Возможность писать код для разных платформах одновременно.
  • Возможность использовать на m.vk.com.
Веб-технологии в мобильном приложении «ВКонтакте», image #39

Выводы

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

Конкурс по написанию приложения.

Веб-технологии в мобильном приложении «ВКонтакте», image #40
Вот и всё!

Ознакомиться с выступлением:

Посмотреть презентацию можно по ссылке.

The Brown Room
независимое интернет-издание о социальных сетях и современных технологиях

Автор: Лена Гамель
Редактор: Арсений Метелев

1013 views·7 shares