Артур Столяр

Артур Столяр

Темы
Неделя
Sep 14, 2020 → Sep 15, 2020

Архив недели @nekrtemplar

Понедельник


Всем привет! Меня зовут Артур и я фронтенд разработчик. Сейчас руковожу несколькими фронтенд командами в @vkontakte. Буду рассказывать в основном про фронтенд VK, VKUI библиотеку. Возможно про PWA и Open Source.
notion image

Изначально, VKUI это библиотека UI-компонентов с интерфейсом мимикрирующим под нативный Android и iOS. Она поддерживала только эти 2 платформы (визуально) и использовалась для облегчения создания некоторых экранов VK, в мобильных клиентах.

VKUI написан на React, TypeScript и CSS. Про CSS мы ещё поговорим отдельно. Из примеров экранов на VKUI: если в мобильном клиенте перейти в Настройки -> Приватность, то этот раздел будет на VKUI. Так же, почти всё что открывается из второй вкладки -- это приложения на VKUI

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

Кстати, чуть не забыл, вот собственно ссылка на сам VKUI github.com/VKCOM/VKUI

🔥Тред (Артур Столяр)
VKUI следует принципу что разработчик использующий библиотеку -- лучше знает что ему нужно. Поэтому мы не стараемся покрыть все ситуации с которыми могут встретиться разработчики. Мы предоставляем базу и все компоненты из дизайн-системы.
Про дизайн и дизайн-систему - дизайнеры работают вместе с разработчиками над её развитием. Это проявляется в том, что идее идут как от одних, так и от других. Дизайнеры так же бывает смотрят PR, а не только дизайн ревью делают. Что бы понимать как всё работает и сделано. twitter.com/jsunderhood/st…

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

Сейчас можно сказать что у нас единый, кросс-платформленный design language. Ну почти, но мы к этому идём. Кстати, дизайн библиотека тоже в открытом доступе и находится вот тут: figma.com/@vk

Про дизайн и дизайн-систему - дизайнеры работают вместе с разработчиками над её развитием. Это проявляется в том, что идее идут как от одних, так и от других. Дизайнеры так же бывает смотрят PR, а не только дизайн ревью делают. Что бы понимать как всё работает и сделано. twitter.com/jsunderhood/st…
Про универсализацию. Сейчас стабильная версия VKUI под номером 3. Эта версия всё ещё только для мобильных устройств, поддерживает в основном только touch. Да и её использование не предполагается нигде кроме мобилок. twitter.com/jsunderhood/st…

Как можно понять -- это не совсем универсально. Поэтому, примерно в начале этого года мы начали разрабатывать 4ую версию: github.com/VKCOM/VKUI/pul… 4ая версия это адаптивная версия. С поддержкой десктопа, мышки и когда нибудь будет хорошая поддержка клавиатуры.

4ая версия сейчас находится в бете. Однако, мы уже делаем на ней новые продукты. Один из примеров это connect.vk.com - личный кабинет полностью сделан на VKUI. Он запускается как standalone приложение в браузере, так и встраивается в нативные приложения как Miniapp.

4ая версия сейчас находится в бете. Однако, мы уже делаем на ней новые продукты. Один из примеров это connect.vk.com - личный кабинет полностью сделан на VKUI. Он запускается как standalone приложение в браузере, так и встраивается в нативные приложения как Miniapp.
Кому же нужен этот ваш VKUI, дизайн-система заточенная под VK и его интерфейсы. Я бы сказал, что он может пригодиться всем. В первую очередь это речь про создание Miniapps. Если у вас есть какой-то продукт или вы делаете стартап, это хороший способ набрать юзеров twitter.com/jsunderhood/st…

Miniapps это такие веб-приложения которые открываются внутри VK. Но на самом деле не только внутри VK. Мы сейчас становимся супер-приложением и вместе с этим, все остальные сервисы MRG. Это значит, что миниаппы будут открываться из множества разных сервисов.

Вот тут, кстати, наш инструмент для созданий мини-приложений: github.com/VKCOM/create-v…

Вторник


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

Экраны обычно формируются из комбинаций <View> и <Panel> компонентов, примерно так: <View> <Panel> <Panel> <Panel> </View> Где <Panel> это полноценный экран. Все Panel и View должны находиться в дереве заранее, для правильной работы приложения.

Ссылки