Говоря об Element3 сейчас и в будущем

Element

Получите эту статью от @snail Lao Wet_Da ShengОфициально представить ребенка Element3

Я также поставил ответ от Чжиху напрямую~~

Что вы думаете о будущем развитии двух складов, element3 и element plus? Будет ли она сосуществовать или будет раздавлена ​​одной стороной?


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

На самом деле у нас есть только два первоначальных намерения сделать element3:

  • Сделайте некоторые технические выводы для сообщества
  • Предоставьте разработчикам лучшие обучающие ресурсы

Самое раннее, когда @snail Laoshui-Dasheng запускал этот проект, он завершил первоначальную работу по адаптации, я участвовал только в разработке нескольких компонентов, а потом он пообщался со мной.

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

что делает element3

Давайте оглянемся на то, что мы сделали с июля

логика рефакторинга

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

Принятое в то время техническое решение:

  • Сначала добавьте тестовую безопасность
  • Рефакторинг внутренней логики его компонентов

Первоначально element-ui использует логику, написанную им самим для тестирования компонентов, мы напрямую используемVTUзаменить

Основной подход заключается в использовании vtu для перезаписи логики предыдущего компонента.

С защитой тестовой подстраховки мы используем API композиции для рефакторинга исходной логики компонента.

Таким образом, мы гарантируем, что компоненты могут работать быстро

Обновление документации

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

Новым пользователям удобно видеть использование API композиции более интуитивно.

И подайте заявку на новое доменное имя, чтобы облегчить доступ пользователей:element3-ui.com/

Упаковка с роллапом

При сборке мы отказались от webpack и выбрали накопительный пакет.

и поддерживает несколько сред:

  • cjs (среда nodejs)
  • esm-browser (среда браузера)
  • esm-bundler (для упаковки инструментов)
  • глобальный (представлен глобально)

новый логотип

Мы также разработали логотип element3

И сделал немного вокруг

текущие оценки

компоненты

Мы завершили рефакторинг 95% логики компонента, пользователи могут использовать его напрямую и поддерживать несколько сред, а также загрузку по требованию и другие методы использования.

Компоненты, которые в настоящее время не поддерживаются:

добро пожаловать пр

Специальное примечание

pr компонента таблицы позаимствован из реализации element-plus

Поэтому мы специально отметили на README.md

Мы перепишем его позже

Документация

Демонстрация использования всех документов компонентов полностью переписана с использованием API композиции.

Если есть упущения, укажите

Количество обучающих выходов

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

У нас также есть команда Yuque, у которой также есть много туториалов.Хуагошань

вопросы и пр

Обработка существующих выпусков и прс, количество накоплений не более 10

Удовлетворение проблем и потребностей каждого разработчика также является нашей философией.

1.9k star

На самом деле степень воздействия element3 не высока, об этом говорили только на Nuggets и Zhihu.

Но у нас все еще есть 1,9 тысячи звезд, что, как считается, заслужило признание у всех.

Сообщество

У нас есть небольшая группа разработчиков из 1500+

И привлечь более 10 активных участников сообщества.

план на будущее

компонентная логика

Логика компонента будет переписана с использованием разработки TDD

Во-первых, реализация рефакторинга из options api в API композиции недостаточно элегантна, большинство из них жестко изменены из options api и не рассматриваются как единое целое.

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

В конце концов, меня не устроило тестирование исходных компонентов, а степень охвата должна быть не ниже 80%.

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

Вы можете обратиться к этой статье, чтобы изучить TDDНаучить переписывать компонент Button касанием рук

руководство

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

Помимо текста, будет и вспомогательное видео.

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

Официальный сайт

Хотя существующая демонстрация официального веб-сайта относительно понятна, новички могут понять ее с первого взгляда, но этого недостаточно.

В будущем мы будем использовать stroybook, чтобы переписать демо-версию компонента, чтобы сделать опыт для начинающих пользователей более удобным.

stroybook

monorepo

Теперь основные библиотеки находятся в монорепозитории для управления проектом.

Текущее техническое решение: Lerna сотрудничает с Yarn

Позже мы будем использовать npm v7.workspaceсделать обновление

TS

Внедрение машинописного текста в компоненты рефакторинга

Изучение будущего

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

Например, можно ли разрешить пользователям переписывать внутреннюю логику компонента

Как и css, определите класс для переопределения переопределенных стилей.

Класс на самом деле является интерфейсом, а стиль — это логика.

открытым

В дополнение к обычным исследованиям и разработкам и использованию пользователями, мы будем активно более открытыми

Например:

  • Организация офлайн-мероприятий
  • Оказание технической поддержки и т.д.

наконец

Это все, что мы делаем в element3 и что мы собираемся делать в будущем.

Мы просто хотим делать что-то приземленное и вносить свой вклад в сообщество.

И эта вещь также поможет нам расти, поэтому мы продолжим настойчиво

Если у вас есть идея, вы также можете присоединиться к нам вместе