Получите эту статью от @snail Lao Wet_Da ShengОфициально представить ребенка Element3
Я также поставил ответ от Чжиху напрямую~~
Увидев эту тему, я могу просто ответить на некоторые из вещей, которые я недавно сделал в качестве основного разработчика 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 композиции.
Если есть упущения, укажите
Количество обучающих выходов
Помимо хорошей работы по разработке, он также выпустил большое количество руководств.
- [element3-Дневник разработки] Научу переписывать компонент Button касанием рук
- vue3 избежать ямы Руководство: решить логические несоответствия в плохой среде dev и prod
- Использование TDD для разработки компонентов --- Уведомление (часть 1)
- Использование TDD для разработки компонентов --- Уведомление (ниже)
- Чтобы выиграть vue3, вы должны сделать эти приготовления
- Element3 Development Insider — Разработка плагина Vue CLI
- Дневник обновления Element3.0 — компонент TimeLine
- Напишите вместе со мной ElementUI для Vue3
У нас также есть команда Yuque, у которой также есть много туториалов.Хуагошань
вопросы и пр
Обработка существующих выпусков и прс, количество накоплений не более 10
Удовлетворение проблем и потребностей каждого разработчика также является нашей философией.
1.9k star
На самом деле степень воздействия element3 не высока, об этом говорили только на Nuggets и Zhihu.
Но у нас все еще есть 1,9 тысячи звезд, что, как считается, заслужило признание у всех.
Сообщество
У нас есть небольшая группа разработчиков из 1500+
И привлечь более 10 активных участников сообщества.
план на будущее
компонентная логика
Логика компонента будет переписана с использованием разработки TDD
Во-первых, реализация рефакторинга из options api в API композиции недостаточно элегантна, большинство из них жестко изменены из options api и не рассматриваются как единое целое.
Во-вторых, после создания API-интерфейса вы можете продолжить извлекать общедоступную логику и создавать набор библиотек API-интерфейсов.
В конце концов, меня не устроило тестирование исходных компонентов, а степень охвата должна быть не ниже 80%.
Это не только заставит пользователей чувствовать себя более непринужденно, но и чувствовать себя более непринужденно при последующем расширении.
Вы можете обратиться к этой статье, чтобы изучить TDDНаучить переписывать компонент Button касанием рук
руководство
Учебники являются уникальными для нашей преподавательской и исследовательской группы.В дополнение к обычному ритму разработки каждый компонент будет писать учебные пособия, чтобы помочь разработчикам интерфейсов учиться
Помимо текста, будет и вспомогательное видео.
Цель очень проста, помочь каждому усердно учиться и каждый день добиваться прогресса.
Официальный сайт
Хотя существующая демонстрация официального веб-сайта относительно понятна, новички могут понять ее с первого взгляда, но этого недостаточно.
В будущем мы будем использовать stroybook, чтобы переписать демо-версию компонента, чтобы сделать опыт для начинающих пользователей более удобным.
monorepo
Теперь основные библиотеки находятся в монорепозитории для управления проектом.
Текущее техническое решение: Lerna сотрудничает с Yarn
Позже мы будем использовать npm v7.workspaceсделать обновление
TS
Внедрение машинописного текста в компоненты рефакторинга
Изучение будущего
Изучая будущее, благодаря составу API мы можем смело представить будущее направление развития библиотеки компонентов.
Например, можно ли разрешить пользователям переписывать внутреннюю логику компонента
Как и css, определите класс для переопределения переопределенных стилей.
Класс на самом деле является интерфейсом, а стиль — это логика.
открытым
В дополнение к обычным исследованиям и разработкам и использованию пользователями, мы будем активно более открытыми
Например:
- Организация офлайн-мероприятий
- Оказание технической поддержки и т.д.
наконец
Это все, что мы делаем в element3 и что мы собираемся делать в будущем.
Мы просто хотим делать что-то приземленное и вносить свой вклад в сообщество.
И эта вещь также поможет нам расти, поэтому мы продолжим настойчиво
Если у вас есть идея, вы также можете присоединиться к нам вместе