Познакомьтесь со спикерами до встречи с ними на конференции

Woot! Последний отсчет начался! 10… 9… 8… лол… Мы очень взволнованы и считаем дни, чтобы встретиться со всеми вами. Мы большие фанаты всех выступающих и хотим, чтобы вы знали о них все. Сегодня в серии интервью нашего спикера настала очередь Эвана Ю, который расскажет о Vue Framework!

Примечание: вопросы и ответы не были расшифрованы, а адаптированы из заметок.

Привет, Эван! Не могли бы вы рассказать нам о себе?

Всем привет! Я являюсь автором Vue.js, работаю над фреймворком полный рабочий день вместе с другими основными участниками и волонтерами со всего мира. Ядро команды составляет от 15 до 20 человек.

До этого я работал в Meteor и Google в рамках Google Creative Lab в Нью-Йорке. Там мы работали над множеством экспериментальных прототипов пользовательского интерфейса. Это была моя первая работа!

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

Примечание: я также спросил Эвана о слухах о том, что он работал с командой Angular. Он счастлив это отрицать. В какой-то момент он использовал Angular в Google Creative Lab, но это все. Нет причин поддерживать этот слух! знак равно

Крутая вещь! Над чем вы работаете для ReactiveConf?

Идея разговора связана с оптимизацией времени компиляции во интерфейсных фреймворках.

Мы видим много интересных приложений о том, как можно творчески использовать компилятор. Мы минимизируем наш исходный код в течение долгого времени, но только с тех пор, как Babel представили конвейеры компиляции, которые позволяют нам манипулировать нашим кодом во время этого процесса с помощью подключаемых модулей. Это относится не только к JavaScript или Babel, но и к другим инструментам, таким как Clousure compiler, rollup и Bublé; для CSS у нас есть postCSS; а для HTML у нас есть postHTML вместе с анализаторами HTML с открытым исходным кодом.

Есть много возможностей, поскольку мы используем единый формат компонента файла, и в этом файле у нас есть: шаблон, CSS и JavaScript. Таким образом, во время компиляции у нас есть доступ ко всем трем частям в одном контексте и в одно и то же время. Это дает нам возможность сделать много интересного. Мы еще не раскрыли все возможности.

Сейчас мы делаем несколько вещей во время компиляции, например:

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

Все вышеперечисленное возможно, потому что на этапе компиляции. Это относится не только к Vue, но и в стройности, доводя эту концепцию компилятора до крайности, когда компилятором становится вся структура. В Angular также есть концепция Ahead of Time Compilation (AOT). Ember компилирует шаблоны в код с помощью glimmer. Facebook использует prepack, который переписывает ваш JavaScript, чтобы он загружался более эффективно.

Есть много отличных идей. Например, ранее в этом году Сунил Пай представил концепцию rakt с использованием декораторов для информирования компилятора об оптимизации на уровне приложения. В некотором смысле разделение кода в webpack также использует оптимизацию времени компиляции, потому что мы используем синтаксис динамического импорта как подсказку компиляции, чтобы решить, где разделить наше приложение; все, что мы делаем, это меняем исходный код, а затем все расщепление кода автоматизируется для нас. Я собираюсь охватить все эти концепции и показать их общие части.

Я хочу призвать всех поэкспериментировать. Мы только начинаем. Мы еще многое можем сделать в этом пространстве!

Звучит здорово. Людям, плохо знакомым с Vue.js, как бы вы их представили?

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

С одной стороны у нас есть React, который представляет собой просто слой представления. Все остальное движется сообществом. Это оставляет вам процесс выбора. В качестве альтернативы вы можете использовать шаблон, который принял некоторые решения за вас. Но создатели не дают никаких указаний о том, как вы должны создавать свое приложение. Так что вам нужно решить, у кого вы хотите учиться.

С другой стороны, у нас есть такие фреймворки, как Angular или Ember, где они предоставляют все, что вам нужно, и высказывают мнение о том, как вы создаете свои приложения.

Некоторым разработчикам нравится тот или иной вариант, но мы поняли, что есть и третий вариант, который находится между этими двумя. В Vue 2.0 мы хотели предложить гибкость и мнения только тогда, когда они вам нужны.

Мы используем термин Progressive Framework, что означает, что Vue можно применять постепенно. Это не монолит, а разделенный набор библиотек, которые вы можете смешивать и сопоставлять, чтобы использовать столько, сколько вам нужно. Это позволяет вам масштабироваться между библиотекой и полноценным фреймворком.

Мы позволяем людям применять Vue таким образом, чтобы они чувствовали себя комфортно и хорошо подходили для их случая использования.

Потрясающий! Мне очень нравится идея прогрессивного фреймворка, который не встанет у вас на пути, если он вам не понадобится. Что вас сейчас интересует во внешнем интерфейсе?

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

Недавно мне довелось поиграть с HTC vive, и это был потрясающий опыт. В будущем пользователи будут не смотреть на плоские экраны, а погрузиться в виртуальную реальность! Это может занять несколько лет, но в конце концов это произойдет. Текущие парадигмы UI / UX должны претерпеть фундаментальный сдвиг, который повлияет на то, как разработчики интерфейсов создают приложения.

Звучит безподобно! Не могу дождаться, чтобы узнать больше о вашем исследовании оптимизации времени компиляции! В качестве последнего вопроса: какие обсуждения или темы вы с нетерпением ждете на ReactiveConf?

Меня очень заинтересовал доклад Ричарда Фельдмана CSS как байт-код. Это название выглядит довольно круто! Я также хочу узнать больше о выступлении Джареда Форсайта на Reason. Я слышал об этом много хорошего.

Эти переговоры выглядят очень многообещающими. Спасибо за уделенное время, Эван, и с нетерпением жду вашего выступления на ReactiveConf!

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