Используете ли вы Веб Компоненты?

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

    Only registered users can participate in poll. Log in, please.

    Знаете ли уже о Веб Компонентах?

    • 45.6%Да, слышал492
    • 6.3%Да, уже пробовал играться68
    • 2.1%Да, уже пробовал использовать в части проектов23
    • 0.7%Да, полностью перешел на них8
    • 45.2%Нет487

    Какую библиотеку вы пробовали использовать?

    • 78.4%Никакую. Только ванильные Компоненты, только хардкор345
    • 17.5%Google Polymer77
    • 3.2%Mozilla X-tags14
    • 5.4%Другая (укажу в комментариях)24

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 9

      +4
      Опыта использования нет, все руки не дойдут серьезно поковырять это дело, и пока просто присматриваюсь.
      Пишите, в любом случае полезно будет.
        +1
        тут же вопрос к том, на каком уровне писать, и о чем: работа только с X-Tags — которые в общем-то чистые Пользовательские Элементы — это один уровень сложности, Веб Компоненты с довольно замороченной в понимании (но простой в использовании) механикой импортов, трюками с shadow и composed DOM, хитростями тэга template, вложенными друг в друга компонентами — другой, Polymer с своим двухсторонним дата-биндингом, немного специфичным API и кучей технологий под капотом — третье.
          +4
          Можно сделать некую вводную статью с основами «начального уровня» и потом еще пару статей уже более продвинутого уровня.
            +2
            я, честно говоря, больше надеялся тут на реальные истории, а не опрос, опрос в общем-то дал в первую очередь понимание того, что почти половина людей даже не слышала о них, половина — только читала публикации, и ни у кого особо нет реального опыта их использования, а значит — действительно внятное и максимально простое объяснение, что такое веб компоненты — с кучей примеров и демок — будет полезным.
              +2
              Пиши, обязательно почитаем.
        0
        В опросе «Знаете ли уже о Веб Компонентах?» получается так, что человек либо знает и использует, либо не знает…
        Я вот знаю о них и не использую, как же быть-то теперь…
          +1
          Я немного «поизучал» готовые библиотеки: Polymer и React.
          У меня сложилось впечатление, что веб-компоненты, могут быть полезны как самостоятельные компоненты, а для создание веб-приложений они не очень удобны. Т.е. думаю связка как Angular + Polymer/React будет удобнее чем чисто Polymer/React. Но опять же в самом Angular есть директивы, которые не плохо заменяют веб-компоненты. Отсюда вытекает то, что веб-компоненты лучше использовать в случае когда в целом веб-приложении нет необходимости.
          Для примера веб-приложений можете посмотреть примеры с todomvc: Polymer, React, и сравнить с решением на Angular.js

          Так же считаю что веб-компоненты переоценены, их хвалят больше чем используют.
            0
            Я бы просил рассказывать на уровне архитектуры приложения. Давайте на примере todomvc:polymer немного скажу что именно меня смущает:

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

            • Структура компонент — `/elements/*.html` — Правда предлагаете в одном файле писать html, javasctipt и css? Ну я так делать точно не согласен. Если все импортировать по отдельности, то как быть сo сборкой и со `scoped styles`. Сборщиком замещать этот `import` непосредственно всеми стилями? Решение, но таким образом мы раздуваем конечный html файл.

              В примере, меня смущает ещё следующее — <link rel="import" href="td-item.html">. Entry point при загрузки компоненты это его шаблон? Для меня более логичное другое поведение, когда мы подключаем контроллер, а он уже сам регистрируется в системе, подгружает нужный шаблон, и как зависимости другие контроллеры, которые в свою очередь делают тоже самое. А вот инициализация уже происходит через шаблон, когда встречается определённый тэг.

            • `polymer-localstorage` и `td-model` — где же разделение приложения на business logic layer и ui layer. Я не хочу выделять всё через ui компоненты. Посмотрев в `polymer-localstorage` и увидев `display:none` чуть не поперхнулся — в data access layer ребята используют css стили. Ну ладно там со `слоями приложения`, но посмотрите как они это ещё связывают. Передают id `localstorage` компоненты в `td-model` и связывают через document.querySelector — нет никакой композиции, никаких внедрений зависимостей.


            Это только то, что касается базовых вещей. Но наверное это просто пример так ужасно создан и все можно сделать по другому.
              0
              пример ужасно создан, потому что задача была — все сделать используя исключительно полимер :) вроде как.
              Хранение данных, последний пункт — отвратительно, да, не спорю. Его нужно было иначе организовывать.
              А по остальным вещам — могу покритиковать, но это опять же отдельная большая статья.

            Only users with full accounts can post comments. Log in, please.