Мы выпустили основную версию 4 карусельной библиотеки Naver с открытым исходным кодом Flicking.
Это крупное обновление работает с Flicking в течение последних двух лет и направлено на решение проблем, которые были у Flicking, но которые было трудно решить и развивать дальше.< br /> Это ключевые изменения в Flicking v4.



New Flicking сохраняет пользовательский интерфейс таким, какой он есть.

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

С другой стороны, Flicking использует пользовательский интерфейс как главный приоритет. Все остальные настройки, связанные с пользовательским интерфейсом, основаны на пользовательском CSS, если они включают базовую структуру DOM и CSS для реализации пользовательского интерфейса карусели. Например, пользователь может легко изменить размер каждой панели, используя «ширину» CSS, или отрегулировать расстояние между панелями, используя «поле» CSS.

<Flicking>
  <!-- 100px panel, 10px gap with next panel -->
  <div style="width: 100px; margin-right: 10px;"></div>
  <!-- Panel with 20% size compared to parent element -->
  <div style="width: 20%"></div>
</Flicking>

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

Вместо «position: absolute» Flicking v4 использует CSS на основе Flexbox для размещения элементов панели. Благодаря этому мы решили проблемы, ранее описанные в Flicking v3, чтобы пользователям было проще настраивать пользовательский интерфейс. Он также предоставляет отдельные CSS на основе «display: inline-box» для страниц, которым необходимо поддерживать IE9.

Поддержка рендеринга на стороне сервера (SSR) через отдельные файлы CSS.

Хотя Flicking v3 также позволяет использовать рендеринг на стороне сервера в таких средах, как Nuxt и Next, Flicking v3 использует метод размещения панелей на основе «позиция: абсолютное», что может привести к тому, что панели будут складываться вертикально перед гидратацией. Поэтому в Flicking v3 пользователю приходилось создавать отдельный CSS для применения перед рендерингом.

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

Больше и проще настройка

Когда мы распространяли Flicking v4, мы также обновили документацию и демонстрационную страницу. Поскольку существующая версия Flicking v3 предоставляла документы API только для Flicking и Panel, детальная настройка была затруднена. Кроме того, несмотря на поддержку таких фреймворков, как React, Angular и Vue, не было соответствующих руководств, что приводило к постоянным запросам о том, как их использовать.

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

Кроме того, геттер/установщик устанавливается для каждой опции в Flicking, поэтому вы можете сразу увидеть значение каждой опции, установленной в данный момент в Flicking, и вы можете легко изменить эту опцию.

Поддержка Vue3

Мы также выпустили @egjs/vue3-flicking на основе Flicking v4. Для тех, кто использует Vue2, используйте существующий @egjs/vue-flicking, а для тех, кто использует Vue3, используйте vue3-flicking.

Другие существующие фреймворки (React, Angular, Preact) по-прежнему поддерживаются, а другие фреймворки, такие как Svelte, будут поддерживаться в дальнейшем.

Поддерживает два новых плагина

В Flicking v4 вы можете использовать два новых плагина Arrow и Pagination, которые очень просили.

Стрелка

Он поддерживает 3 основных пользовательского интерфейса и может быть настроен с помощью CSS.

Пагинация

Он поддерживает 3 типа и может быть настроен с помощью параметра рендеринга и CSS.

Пожалуйста, посетите страницу Плагины для получения подробных опций и инструкций!

Также мы добавили новые удобные опции/события, такие как «preventClickOnDrag» или «reachEdge».

Flicking v4 значительно улучшился, основываясь на мнениях и проблемах пользователей, чтобы упростить его использование. Кроме того, мы также работаем над e2e-тестированием, которое проверяет отдельные тесты на всех фреймворках, чтобы создать более надежную библиотеку.

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



Ваш ⭐️ имеет для нас большую силу. 🙏