Задай вопрос создателю Vue.js

    upd2: Вот и статья: https://habrahabr.ru/post/350290/
    upd: Прием вопросов закончен, спасибо всем! Мы постараемся опубликовать ответы на следующей неделею



    Vue (vuejs.org) — JavaScript фреймворк для разработки веб-приложений на JavaScript, созданный Эваном Ю (Evan You) в 2013 году.


    Vue нашел золотую середину между React и Angular и испытал взрывной рост в последние два года, попав в тройку лидирующих JS фреймворков.


    В отличии от Angular/Google и React/Facebook Vue разрабатывается сообществом и финансируется через пожертвования на Patreon. В результате Эван оставил работу в Google и полностью посвятить себя разработке Vue.



    Vue набирает популярность и в России:


    • В русском Vue чате в Telegram уже более 2200 человек!
    • С предыдущими статьями о Vue можно ознакомиться в хабе VueJS
    • 22 Марта состоится первый VueMoscow , не пропустите!


    Эван любезно согласился ответить на вопросы пользователей Хабрахабра.


    Задавайте свои вопросы в комментариях до четверга. Подробности и немного о Vue под катом.


    Немного о Vue


    Vue позиционирует себя как прогрессивный фреймворк для создания графических интерфейсов на JavaScript.


    Отличительные черты Vue: минимализм, интуитивность, гибкость, скорость работы и активно развивающаяся инфраструктура.


    Есть несколько способов попробовать Vue:


    • Минимальное приложение на JSBin
    • Полноценный пример в CodeSandbox
    • Локальная установка npm install -g vue-cli && vue create my-project


    Изучение Vue лучше всего начать с отличной документации, которая оперативно переводится на русский язык ребятами из translation-gang.


    Инфраструктура Vue


    Vue имеет необходимый "джентльменский набор" для создания многофункциональных приложений:


    • Vue-cli — быстрое развертывание проекта консольной утилитой
    • Vuex — централизованное управление данными приложения а-ля Redux
    • Nuxt — серверный рендеринг (SSR)
    • Vue-router — маршрутизация приложения
    • Vuetify.js , Element-ui — популярные наборы UI компонент (на Хабре есть хорошая подборка остальных)
    • Weex, NativeScript, или Quasar Framework — создание "нативных" мобильных или Onsen UI для гибридных приложений
    • Storybook — разработка и автодокументация UI-компонентов в изолированной среде
    • Vue Devtools — кросс-браузерное расширение для отладки
    • Vue Test Utils, avoriaz — библиотеки для юнит-тестов
    • Все основные среды разработки и редакторы кода (jetBrains IDE, Visual Studio Code, Atom, Sublime Text, vim) поддерживают плагины для разработки на Vue
    • Гибкость фреймворка позволяет легко интегрироваться с TypeScript, Ionic, JSX или RxJS

    Огромная подборка ресурсов и инструментов в репозитории Awesome Vue.


    Немного статистики


    Имея самую активную динамику роста, Vue является третьим по популярности JS-фреймворком в мире.


    На npmtrends, можно посмотреть статистику скачиваний пакетов всех основных фреймворков.
    npm downloads - vue vs react vs angular


    На timqian.com/star-history — статистика звезд на GitHub. Здесь картина диаметрально противоположная: Vue (синяя линия) уверенно догоняет React (оранжевая линия). Если тренд продолжится, Vue.js станет самым "звездным" JavaScript фреймворком в ближайшем будущем.


    Такая большая разница в динамике роста на двух графиках объясняется большой популярностью Vue в Китае, где npm заблокирован и разработчики используют локальные зеркала, не учитываемые статистикой.


    Количество Звезд на гитхабе - Vue vs React Vs Angular


    А вот диаграмма из опроса The State Of JavaScript 2017 . Здесь Vue на третьем месте и лидирует по количеству людей которые хотят его выучить.


    Оценка популярности фреймворков


    Вопросы и ответы



    Задавайте ваши вопросы на первом уровне в комментариях на русском языке (и по возможности прикладывайте английский перевод).


    Мы (Alex Sokolov, ai_boy, hiperteksto, irsick, z6Dabrata, splincodewd, gbezyuk), переведем ваши вопросы на английский и опубликуем ответы Эвана отдельным постом на следующей неделе.

    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 30
    • 0
      Вопрос из чата:
      когда они выпустят спеки по построению ast для их шаблонов

      When will the specifications for generating templates via AST's become available?
      • –4

        Зачем??? Зачем ещё один JS-фреймворк???

        • +3
          Надо было остановится на jQuery!
          • 0

            Почему "ещё один"? Vue существует уже довольно давно и вполне успешно и уверенно топчет пятки React'у и Angular'у

            • 0
              Извините, но вам стоит для начала почитать плюсы\минусы\различия\преимущества топа фреймворков, а потом уже спрашивать «Зачем??? Зачем я задал этот вопрос???»
            • +1
              В смысле еще один? Vue уже достаточно давно на арене и для многих разработчиков предпочтительнее других
            • +1
              В каждой статье о Vue говорится о хорошей документации, но сколько не сталкиваюсь с различными вопросами по Vue, приходится искать ответы где угодно, но не в документации.
              Т.к. в ней, вроде бы, и есть примеры, но они совершенно разрозненные и чтобы собрать эти же примеры во что-то рабочее, copy-paste совершенно недостаточно. Можно было бы сделать код в codepen или jsfiddle, было бы гораздо нагляднее.
              • 0
                Приведите пример из 4-5 вопросов на которые не нашлось ответа в документации, правда
                • 0
                  Вот один из моих вопросов Load Vue Componet via AJAX
                  Понятно, что вы сейчас отправите почитать документация о компонентах, но, во-первых, я не говорил, что чего-то не хватает в документации, я сказал, что иногда сложно собрать рабочий пример из документации, особенно для новичка в Vue.
                  Во-вторых, даже на stackoverflow я не заметил море ответов, что тоже как-то не сходится с растущей аудиторией.
                  Тем не менее, мне Vue нравится и хочу его начать использовать более активно в своих проектах.
            • +1
              Отличный фреймворк, особенно если нет желания разбираться с Angular и React.
              • +1
                Вопрос:
                Что мы можем ждать в будущем от Vue-cli?
                • +1
                  Ветка 'next' в репозитории vue-cli.
                  vue-cli@3 перешел в beta, можно установить, потыкать и почитать доку.
                  Много нововведений, начиная от TS из коробки, заканчивая системой плагинов для расширения конфига webpack/самого vue-cli.
                • +1
                  Будет ли возможно использовать компилятор однофайловых компонентов без модульных бандлеров?
                  Will be possible to use single-file component compiler without module bundlers?
                • +1
                  Можно ли добавить шаблон для vue-cli, который генерирует чисты проект для экспортируемых библиотек?
                  • +1
                    Какие перспективы weex? Стоит ли вообще с ним начинать работать, или лучше сконцентрироваться на NativeScript-Vue?
                    • 0
                      1) Будет ли поддержка языка программирования Kotlin во Vue (SFC, плагины и т.д.)
                      Will be support of programming language Kotlin in Vue (SFC, plugins, etc)?
                      2) Будет ли возможно использовать WebAssembly во Vue?
                      Will be possible to use WebAssembly in Vue?
                      • 0
                        1) Фрагменты из react версии 16.2 хорошо себя зарекомендовали. Будет ли что-то похожее во vue?

                        2) Валидация форм. Сейчас в комьюнити vue есть 2 различных способа валидации:
                        • декларативный, все правила описываются как директивы в разметке
                        • императивный, все правила описываются в коде соотвествующего Vue экземпляра.

                        Планируется ли добавить в стандартную поставку vue какой-то из этих способов (или их симбиоз)?
                      • +1

                        RU:
                        1) Есть ли шансы на миддлвари в Vuex? Ишью об этом уже висит как минимум год ~_~
                        2) Доступ к родительским компонентам (через $parent) позволяет junior-разработчикам делать ужасные вещи. Что ты думаешь на этот счет? Планируется ли его когда-либо убрать (например, в версии 3.0)?


                        EN:
                        1) Any chances for middlewares in Vuex? Issue was opened at least a year ago ~_~
                        2) Access to parent components (via $parent) lets juniors do such a terrible things and breaks data-flow idea. What do you think about it? Are you thinking to remove it someday (e.g. in Vue 3.0)?

                        • +1

                          Будет ли во vue.js добавлена возможность рендера одного и того же слота в компоненте дважды как это позволяет делать реакт?
                          Will vue.js be able to render the same slot (or named slot with the same name) twice as it's allowed in react ?


                          <div>
                           ...content
                           <slot>
                           ...conent
                           <slot>
                           ...content
                          </div>
                          
                          //[Vue warn]: Duplicate presence of slot "default" found in the same render tree - this will likely cause render errors.
                          
                          //in react - all working fine
                          <div>
                           ...content
                           {this.props.children}
                           ...conent
                           {this.props.children}
                           ...content
                          </div>
                          
                          • +1
                            Невозможность много раз отобразить в компоненте переданный ему контент ломает, на мой взгляд, всю концепцию композиции компонент — почему-то если мы в компонент передали какие-то данные через пропсы так их можно отрендерить сколько угодно раз, а как только передали контент (верстку или другие компоненты) через слоты — так теперь можно отрендерить слот только один раз и необходимо либо дублировать контент либо изобретать другие костыли (либо переходить на реакт ;)
                            • +1
                              это можно сделать используя рендер функцию

                              codesandbox.io/s/xlnkkkmqpz

                              export default {
                                name: "Repeatable",
                                props: {
                                  times: {
                                    type: Number,
                                    default: 1,
                                    validator: val => val === parseInt(val) && val > 0
                                  }
                                },
                                render(h) {
                                  let children = [];
                                  for (let i = 0; i < this.times; i++) {
                                    children.push(this.$slots.default);
                                  }
                                  return h("div", children);
                                }
                              };
                              


                              но конечно было бы круто иметь возможность делать это через темплейт как то так
                                <div>
                                  <slot v-for="i in times" multiple/>
                                </div>
                              
                            • +1
                              Как вы делите макет страницы на компоненты перед началом разработки? Есть ли у вас что-то вроде «чеклист критериев компонента» от Эвана Ю?

                              How do you divide page layout to components before start developing? Do you have something like «Component Criteria Checklist» from Evan You?
                              • 0

                                Когда vue-cli с typescript?
                                When vue-cli with typescript?

                                • 0
                                  В официальной документации Vue.js рекомендуемой опцией компилятора TypeScript является «module»: «es2015». Насколько допустимо использование «module»: «amd», «module»: «system».

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое