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

Промо-сайт нашего стартапа на Vue.js и WebGL — как он создавался и зачем нужен

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

Герой обзора: https://getsport.io

Переход с главного экрана в блок с преимуществами на GetSport.io

Пара слов о проекте

Проект называется «GetSport» — это веб- и мобильное приложение для спортсменов, владельцев спортивных площадок и тренеров, которое поможет решить следующие задачи:

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

Зачем нам промо-сайт

Мы готовы к бета-запуску ± на 95%. Пока тестировщики и программисты заканчивают, пришла пора запускать «прогрев аудитории», частью которого и является наш промо-сайт.

Розыгрыш подарков на <a href="https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>, худи создана с использованием WebGL
Розыгрыш подарков на GetSport.io, худи создана с использованием WebGL

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

О промо-сайте

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

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

Hero-блок с историей создания сервиса на <a href="https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>
Hero-блок с историей создания сервиса на GetSport.io

Готовый макет предполагал использование 3D графики и моделей, а концепция получилась следующая: попадая на сайт, пользователь путешествует по 3D логотипу сервиса, изучает его преимущества и переходит к CTA блоку (он же одновременно и блок с подарками).

Реализация 3D

Фронт мы пишем на Vue.js, поэтому для реализации 3D на сайте у нас три очевидных варианта:

  • «Покадровая анимация» — это последовательный показ слайдов на скролле, где каждый следующий слайд немного изменяется, создавая иллюзию анимации. Что-то вроде блокнота с рисунками, где быстро пролистывая страницы, вы можете видеть, как они «оживают». Выглядит это часто интересно, но дешево и непрофессионально — не наш вариант.
  • Видео- и фотрендеры — это обычные мультимедиа. У них есть тоже есть ряд существенных недостатков, из-за которых мы не решились их использовать: нулевая интерактивность, возможность проигрывать их только вперед и большие размеры файлов.
  • WebGL & three.js — это технологии, которые дают возможность использовать реальные 3D модели на сайте. У этого решения нет недостатков первых двух вариантов, но разработка сравнительно долгая и дорогая.
Футер сайта <a href="https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>
Футер сайта GetSport.io

Качество продукта и результат продвижения в приоритете, поэтому смело выбираем последний вариант и переходим к созданию модели, попутно ознакамливаясь с технической документацией по three.js.

Spline & Blender

Как я уже упомянул, главная модель на сайте — это большой логотип нашего сервиса. Ее мы изначально решили делать в онлайн 3D-редакторе Spline — в нем удобно обсуждать правки, наблюдая за работой дизайнера в режиме реального времени.

К сожалению, экспортируемые из Spline файлы на сайте постоянно имели дефекты. Поэтому, когда мы пришли к более-менее законченной версии первой модели, дизайнер реализовал ее в Blender.

Создание 3D модели логотипа (той, что сейчас на сайте <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>)
Создание 3D модели логотипа (той, что сейчас на сайте GetSport.io)

С одной стороны мы потратили время в Spline, но с другой — сделали вывод: если нам еще раз будет нужно реализовать подобную 3D модель, мы используем тот же формат работы — Spline > Blender, чтобы удобно обсуждать и на лету вносить правки.

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

WebGL & three.js

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

  • Устанавливаем на наш сайт библиотеку three.js;
  • Создаем канвас для отображения 3D модели;
  • Используя методы библиотеки three.js, загружаем нашу модель и отображаем ее на канвасе;
  • Обновляем экран в зависимости от того, как пользователь взаимодействует с моделью.

Более подробно эти процессы описаны здесь — threejs.org. Если у вас есть хороший опыт работы с фронтом на Vue.js или React.js, то с изучением WebGL и three.js особых сложностей не возникнет.

Плагины GreenSock для GSAP

Getsport.io — это не первый сайт на Vue.js + GSAP. Но он первый, куда мы добавили ScrollSmoother и некоторые другие платные плагины из GSAP.

Страница с командой и технической информацией сервиса GetSport на <a href="https://api.vc.ru/v2.8/redirect?to=http%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>
Страница с командой и технической информацией сервиса GetSport на GetSport.io

Следует отметить, что разработка прошла не так гладко, как обычно. Виной всему особенности iOS (телефоны и планшеты), где некоторые платные плагины GSAP работают некорректно.

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

Еще несколько фактов о сайте

  • На сайте есть смена темы. Их две и выглядят они следующим образом:
Смена темы на сайте <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2FGetSport.io&postId=594212" rel="nofollow noreferrer noopener" target="_blank">GetSport.io</a>
Смена темы на сайте GetSport.io
  • У сайт есть backend на Python. Он используется для сбора контактов из разных форм в отдельные таблицы для последующего экспорта.
  • На сайте есть музыка — вы можете включить ее в верхнем правом углу. Это 15-секундный зацикленный трек, который мы написали сами.
  • Сайт мультиязычный — он доступен на английском и финском языках.
11
реклама
разместить
3 комментария

А ещё часть бекенда написала chatGPT

2

В целом, хочу отметить крайнюю степень боли филейной части тела, при совмещении smooth scroll'a и нестандартной 3d навигации.
But, оно того стоило!

1

у меня комп задымился

Нейросеть, которая «понимает постсоветскую эстетику»: российские пользователи протестировали ИИ-сервис Reve

Он создаёт картинки с панельками и коврами на стенах, а ещё может «заставить» Трампа копать картошку в деревне.

2626
реклама
разместить
Пассажир подал иск к United Airlines — говорит, что пилот выгнал его из уборной в непристойном виде

А на выходе из самолёта мужчину ждали сотрудники погранслужбы — с наручниками.

Источник фото: New York Post
1111
1010
22
11
Как я создаю своего Джарвиса

Вы ведь помните Джарвиса? Того самого ИИ-ассистент Тони Старка — гладит костюм, спасает мир, подсказывает, когда пора шутить с врагами.

Так вот … я тоже однажды подумал: а почему бы не сделать своего Джарвиса?

Как я создаю своего Джарвиса
Бренд косметики устроил акцию с продажей куриных яиц в Нью-Йорке на фоне их нехватки в США

Компания продавала дюжину штук за $3,37.

99
55
11
В России продукты вместе с непродовольственными товарами предлагал, например, Почта Роиссии
Я хотел сделать вкуснее всех, но оказалось, что это нерентабельно

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

Я хотел сделать вкуснее всех, но оказалось, что это нерентабельно
104104
1616
99
11
11
Ну как только люди начали выдавать справедливые замечания к цене и косякам, Обломов не выдержал и закрылся. Сам всех обсуждал, а собственной критики не выдержал.
«Следующий год будет нормальным, но в 2027 году — ударит»: вице-президент Российского союза туриндустрии — о дефиците самолётов

Авиапарк начнёт увеличиваться только с 2026 года, частично решить проблему могут помочь и иностранные перевозчики.

1313
66
22
11
Есть инфа от знающего человека, что у нас в стране скоро ожидаются реальные изменения. После того, как стабилизируют ситуацию на украине. Тогда везде и сформируют торговый альянс со средним востоком. Нефть поднимут и будут держать, Европа ничего не сможет сделать. Сейчас главное не бухтеть.А теперь самое главное! От нас требуется сидеть тихо. После того, как все сделают, все будет у нас хорошо. Всем устроят довольствие, как Саудовским гражданам - каждый будет кататься в масле. Главное сейчас сидеть тихо и не бухтеть. Просто переждать и всё будет хорошо, там все схвачено.
Когда обращаться в автоломбард: как автомобиль помогает решать срочные финансовые задачи
Фотограф: Pixabay
Производитель сетевого оборудования Keenetic сообщил о взломе своего приложения для управления роутерами

Он произошёл ещё в 2023 году и затронул больше 1 млн пользователей, в основном из России.

55
44
11
Как я генерирую тексты для сайта без копирайтеров (и почему поисковики этого не замечают)

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

Как я генерирую тексты для сайта без копирайтеров (и почему поисковики этого не замечают)
55
11
реклама
разместить
Блогеры получили собственные коды ОКВЭД — это должно помочь с учётом оборотов рынка и защитой его участников

Изменения вступят в силу 1 мая 2025 года.

1717
55
11
11
Это для защиты детей!
США захотели облагать пошлинами китайские суда, швартующиеся в местных портах, — в отрасли предрекают «торговый апокалипсис»

Заседания по вопросу должны начаться 24 марта 2025 года, пишет Bloomberg.

Источник фото: Bloomberg
1212
66
11
Серьёзной угрозы нет, жалобы единичные: АТОР — что нужно знать туристам о ситуации в Стамбуле на фоне протестов

Ассоциация туроператоров России опросила участников рынка.

33
11
[]