Подтвердить что ты не робот

Материальные компоненты для Интернета vs Angular Материал 2

Недавно преемник проекта MDL (Material Design Lite) был запущен в качестве Материальных компонентов для Интернета. Одна из его целей - "Бесшовная интеграция с другими платформами и библиотеками JS".

Есть еще один проект Angular Material2, который предоставляет компоненты дизайна материалов специально для Angular (v2+).

Оба проекта создают компоненты пользовательского интерфейса на основе дизайна материалов. Кроме того, они имеют аналогичный набор компонентов, готовых/находящихся в активной разработке, и тот же набор компонентов, что и в ближайшем будущем (перечислены здесь и здесь).

Может кто-нибудь, пожалуйста, помогите мне понять совпадение между двумя проектами, и какой я должен выбрать для новых проектов?

На фундаментальном уровне я понимаю, что Angular Material2 будет более плавно и тесно интегрироваться с Angular-проектами, в то время как Material Components для Web предоставит хуки для использования несколькими инфраструктурами JS. Но я не вижу причин для наложения и какой из них будет иметь больше импульса (больше компонентов).

4b9b3361

Ответ 1

Полное раскрытие: я работаю над Материальными Компонентами для Интернета, поэтому мое мнение может быть немного предвзятым :)

TL; DR использует любую библиотеку, которая поможет вам создать свой пользовательский интерфейс наиболее эффективным способом или использовать их параллельно. Проверять, выписываться наш пример интеграции angular2 angular-mdc-web, чтобы увидеть, как обернуть компонент MDC-Web, используя ng2.

Как было упомянуто, цель Материальных Компонентов для Интернета (сокращенно MDC-Web) - создать каноническую реализацию компонентов Материального Дизайна для всей веб-платформы. Angular/material2 - отличная библиотека - многие из нас в команде Material Design, в том числе и я, внесли свой вклад в нее - но она исключительна для неугловых приложений2. Кроме того, не связанные с Google библиотеки и фреймворки, такие как React, Aurelia, Vue и другие, не имеют официального решения, отвечающего их потребностям.

При этом Angular2 подпадает под нашу сферу действия "всей веб-платформы", и мы определенно хотим поддерживать ее из-за этого. На этом этапе в обоих проектах у нас могут быть некоторые компоненты, которые вам нужны, а angular/material2 - нет, или наоборот. Я рекомендую вам использовать любую библиотеку, которая поможет вам достичь ваших целей наилучшим из возможных способов. Это может быть angular/material2, это может быть MDC-Web или, если честно, это может быть и то, и другое. Например, вы можете использовать наш компонент select вместе с компонентами side2, и все должно работать нормально. Как упоминалось в TL; DR, angular-mdc-web - это полнофункциональная библиотека, которая оборачивает MDC-Web в идиоматический API angular2+.

В заключение отметим, что MDC-Web является единственной библиотекой, разработанной самой командой Material Design. Благодаря этому мы можем сотрудничать и выполнять итерации с теми же людьми, которые являются авторами спецификации Material Design.

Ответ 2

Обновление (16 марта 2018 года):

Из комментариев, предоставленных @elDuderino Material2, похоже, есть способ настройки. Ответ был предоставлен до того, как материал был cdk..

https://material.angular.io/guide/customizing-component-styles

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


Я поделюсь своим опытом. Своя самоуверенная и предвзятая. Люблю исправляться.

Мы начинаем с нуля и используем Angular. Мы решили пойти с материалом. Я начал поиски лучшего фреймворка и перепробовал все из них: Materialise, MDL, Angular Material 2 и, наконец, MDC для Интернета.

Вот мои наблюдения, особенно для Material2 против MDC для Web.

Материал2

  • Pros
    • Readymade. Все доступно и готово к работе
    • Архитектура близко к Angular
  • Cons

    • Список компонентов еще не завершен (со временем они получатся, так что все в порядке)
    • Настройка невозможна

    Я знаю, что мы можем добавить темы, вот и все. Весь HTML и CSS для компонентов добавлен в Angular Components. Поэтому он скомпилирован как JavaScript и применяется во время выполнения. Таким образом, нет способа переопределить поведение. Я пытался в течение недели и не мог сделать это.

    Вот вопросы, которые я задал (один из них отмечен как закрытый, так как он, похоже, спрашивал мнения -.-)

    Как настроить угловой материал 2

    Как расширить стиль угловых компонентов

    Конечно, они не получили никаких ответов, и я не мог их настроить. Если я ошибаюсь, пожалуйста, направьте меня.

Проверьте обновление, представленное выше

MDC для веб

  • Cons

    • Недоступно для Angular

    Мы не можем начать использовать это сразу, если вы хотите сделать это угловым путем. Нужно написать оболочку для Angular для каждого компонента. Может потребоваться некоторое усилие. Но каждая команда может позволить себе некоторое время для настройки, и есть сторонние усилия, чтобы сделать это проще. Если это нормально, не делайте это угловатым образом, я думаю, что мы можем начать без оболочек.

    • Список компонентов еще не завершен (со временем они получатся, так что все в порядке)
  • Pros

    • Универсальный, не привязанный к рамкам. Всегда безопасно инвестировать.
    • Больше вклада, так как другие разработчики фреймворков также используют его. Со временем он получает больше вклада и будущее (почти)
    • Полностью настраиваемый.
    • Похоже, что только рамки Материал, команда дизайнеров напрямую связана с
    • Может использовать знания/стили для мобильных устройств тоже.
    • Документация потрясающая. Похоже, много усилий и времени вкладывается.

Ответ 3

Для тех, кто рассматривает Angular Material 2, плагин Sketch Material/редактор тем и инструмент "Галерея" доступны только для MDC. Я нахожусь на том же пути, и я начал с Angular Material 2, и с недавним введением в Angular Ivy я не уверен, сколько усилий команда собирается приложить к Angular Material 2. Я перехожу к MDC, который безопасная ставка.

Из недавнего Readme:

Вещи высокого уровня, запланированные на Q1 → Q2 2019 (январь - июнь):

  • Большая часть команды Angular Material предоставлена в аренду рамочной команде, которая помогает с Ivy. Мы использовали тесты Angular CDK и Angular Material для проверки путей кода, а также для устранения проблем при переключении приложений Google на новый конвейер рендеринга.
  • Мы также работаем с командой Material Design над стратегией более глубокого сотрудничества. У нас будет больше, чем поделиться, когда наши планы будут развиваться.
  • Различные исправления и незначительные улучшения функций.
  • Дизайн для улучшения API для компонента дерева для улучшения эргономики.

Ответ 4

Похоже, что команда Angular Material планирует сотрудничать с командой MDC:

Мероприятия высокого уровня, запланированные на 4 квартал 2018 года (октябрь - декабрь):

  • Улучшение наших собственных инструментов для сборки и автоматизации
  • Исправьте ошибки и уменьшите технический долг в Google
  • Работа над долгосрочными планами сотрудничества с веб-командой MDC
  • Проекты для расширенных улучшений таблиц (изменение размера столбца, директивы выбора, inline-edit)

(README)

Это было добавлено в readme около 20 дней назад (10 октября 2018 года).
Таким образом, есть вероятность, что в будущем Angular Material станет просто некой Angular-оболочкой или Angular-реализацией MDC для Web.

Ответ 5

Угловой материал 2 все еще устарел и не соответствует спецификации материала. Не используйте это.