Автор оригинала: Codementor Team.
Свежий от особого выхода угловых 2 сентября в прошлом сентябрь, мы присоединились к Юле, Стивену, и Роб из угловой группы Google отвечал на вопросы от нашего сообщества о выпуске угловатов 2. Мы говорили обо всем от миграции угловых 1.x Приложения, следующие шаги для NG 2, угловой материал, угловой CLI для любимых угловых волос команды.
Как написать этот пост, уже есть Отчеты о возможном выпуске марта 2017 года для угловых 3 Отказ Но на данный момент здесь важные вещи, которые вам нужно знать о угловании 2. Читать основные моменты Q & A Session ниже или посмотрите полную запись внизу этого поста.
Информация о докладчике: разработчик сторонники для угловой команды – Жюль Кремер, Стивен Фрин и Роб |
1. Угловая 2 – это общая рамочная переписывание, но угловые 1 все равно будет вокруг.
Кодаментатор: Как вы видите усыновление, происходящее среди существующих пользователей? Вы ожидаете, что это полностью заменить угловой 1 вниз по линии?
Жюль: Итак, это интересный вопрос, который мы в качестве разработчика выступают, когда мы смотрим на то, как мы определяем успех для нашей команды и наших индивидуальных ролей, мы вроде думаем, ну, как усыновление? Каковы числа? К сожалению, правда у нас на самом деле нет много метрик, которые могут дать нам действительно четкий взгляд на усыновление. Это частично, потому что в зависимости от того, как вы используете угловые 2, например, мы можем или даже не сможете определить, использовали ли вы угловые 2, когда был создан ваш сайт.
Во-вторых, множество угловых использования – это не только государственные сайты, многие из них являются внутренними бизнес-приложениями, которые у нас нет видимости. Таким образом, традиционно мы использовали количество 30-дневных активов на нашему сайту документа к Angular.io/docs или Angular/Docs Site. Я думаю, что Брэд упомянул вчера, что они были примерно на 700 000 для угловых 2, а на ангелярном знаке было около 1,2 м на угловой форме 1. Сколько из угловых 2 пользователей нового, Greenfield и сколько угловых 1 мигрируют, мы можем Будь уверена, но это цифры, которые мы в основном используются для оценки использования углового использования.
И второй вопрос, который вы спросили, было, если мы думаем, что угловые 2 в конечном итоге полностью заменит угловые 1. Я надеюсь, просто так, чтобы мы могли продолжать делать угловые 2 потрясающие, но мы будем, конечно, поддерживать угловые 1 до тех пор, пока большинство наших Разработчики все еще там.
Роб: И это не собирается уходить в ближайшее время. Угловая 1 будет вокруг вечно, как позвоночник и jQuery и все остальное все еще вокруг.
2. Улучшения производительности и инструмента: большие или мелкие проекты, угловые 2 лучше, чем угловые 1
Кодаментатор: Каковы стимулы для перемещения от угловых 1 к угловам 2, если разработчик фокусируется на относительно простых приложений, которые не будут построены на уровне предприятия?
Роб: Для меня есть пара вещей. Я думаю, что это применяется, есть ли вы инди, независимый разработчик или большую организацию 5000 человек. Я думаю, что две самые большие вещи являются производительностью и инструментами. Я думаю, что это две вещи, о которых мы говорим больше всего. Таким образом, производительность, очевидно, угловые 2 собирается значительно быстрее в значительной степени все случаи, и я думаю, что это хорошо для всех. Одна из вещей, которые мы нашли с инструментами, хотя [являются] вещами, такие как имеющие TypeScript, имеющие автоматическое завершение, и имея тип проверки в шаблонах, все эти вещи отлично, особенно если вы инди-разработчик. Это позволяет легко изучать рамки, облегчает проверку ваших ошибок. Это заставляет все это легче работать с. Итак, я думаю, что, вероятно, просто выступление и общая удобство использования, я думаю, что эти два крупнейших принимают для любого углового разработчика.
Стивен: Да, я на самом деле начал новый проект в эти выходные, просто небольшой сайт, который я хотел построить, чтобы помочь другу. Я начал делать это в угловых 1, думая: «О, я вернусь к простому способу того, чтобы делать вещи». Но что оказалось, что я хотел, я хотел кучу вещей. Я хотел использовать TypeyctScript, я хотел министерствовать мою связку, я хотел просто отправить этот очень маленький гладкий JavaScript. И на самом деле было сложнее сделать это в угловом углу 1, чем было в угловом углу 2, потому что то, что мы сделали в угловых 2, мы реагируем и отреагировали на эволюцию веб-платформы. Таким образом, угловые 2 на самом деле является более простым каркасом. Это использует преимущества таких вещей, как загрузка модуля, и это позволяет использовать преимущества лучшего из веб-сайтов, так как он находится в 2016 году и за его пределами.
3. Лучший способ выучить угловой 2? Прочитайте документы!
Кодаментатор: Говоря о переезде на угловые 2, есть ли советы или лучшие практики, которые вы хотели бы поделиться для миграционных приложений из угловых 1 на угловые 2?
Роб: Я думаю, что если вы не сделали наш учебник на сайте, это действительно удивительное место для начала. Команда Docs проделала огромное количество работы на самом деле, принимая вас через историю здания угловой 1 или угловой 2 приложения. Я думаю, что «действительно хорошее место для начала. Они вполне осознают в этом, говорят, если вы угловая 1 разработчик, и вы делаете такие вещи, вот как они работают в угловых 2. Это действительно хорошее место для начала, а затем, конечно, все Партнеры мы работаем. Люди пишут действительно хорошие блоги и посты и все эти разные вещи. Я думаю, что наши документы всегда очень хорошее место для начала, потому что мы приложим огромное количество усилий, чтобы сделать их доступными к людям.
(Чтение связанных угловых 2 Учебных пособий: Миграция из угловых 1.x в угловые 2: обновление стратегий, Создание пользовательских директив в угловых 2, Как использовать разрешение в угловых 2 маршрута )
4. Улучшения производительности и удобства возможности использования угловые 2 ближе к реакции, чем угловые 1
Кодаментатор: Давайте вернемся к сравнению угловых 2 и угловых 1. Так с точки зрения производительности, как бы вы сказали, что это сравнивает, а что помогло сделать угловые 2 быстрее?
Роб: Я думаю, что номер, который мы цитируем в целом, составляет около 4 или 5x в большинстве случаев, для рендеринга таких вещей, как списки, они 4 или в 5 раз быстрее, чтобы рендер. “Как мы это делаем?” это сложный вопрос. Есть ряд разных вещей. Одна из больших вещей – это то, как мы делаем изменение обнаружения сейчас, что является рода самым большим внутренним изменением от угловых 1 и угловых 2. Это один из способов, поэтому, если вы использовали реагирование, ближе к тому, как реагировал это Угловая 1 делает это. Это дает нам несколько действительно приятных гарантий, когда мы делаем такие вещи, как обнаружение изменения, мы можем сказать, что мы собираемся запустить это один раз. У нас намного больше понимания того, что происходит внутри приложения. Кроме того, у вас есть больше контроля, поэтому, если есть места, которые вы хотите выключить, изменить обнаружение, или если есть места, которые вы хотите сделать постепенно, вы можете сделать это.
Я думаю, что в целом, что поколение кода, которое мы делаем, то, что мы на самом деле делаем с угловой 2, это то, что вы пишете шаблон, и мы превращаем это в инструкции. Такой тип машиностроения, вероятно, находится под капотом и что сделало самую большую разницу с точки зрения производительности. Опять же, пять лет обучения, это еще одна вещь, вы создаете рамки один раз, вы видите, как все используют его, а затем, когда вы можете восстановить его – вы действительно можете понять узоры, которые люди используют и где мы можем оптимизировать эти разные вещи Отказ
Стивен: Было несколько районов или путей в угловых 1, что вы можете застрелить себя в ногу, так сказать. Где, если у вас было 1000 выражений, связанных на странице или 10 000 выражений, связанных на странице, и оценка одного из выражений изменила что-то где-то еще, вы бы запускали эту перевалую петлю снова и снова, пока вещи не стабилизировались, что Тонн процессора и был очень медленным. В Angular 2 имеется такой вид однонаправленного обнаружения изменений, означает, что вам никакого способа вытесните себя в ногу таким образом, что очень полезно.
Роб: И когда вы снимаете себя в ногу, угловые 2 бросит предупреждения у вас, которые говорят: «Эй, ты делаешь то, что может застрелить себя в ногу, так что не делай этого!» И это то, что мы не могли сделать в угловом 1, мы можем в угловых 2 и к следующему поколению.
(Подробнее об этой теме: React VS Angular 2: Руководство по сравнению для начинающих )
5. PRO TIP: делайте ранние тестирования и воспользоваться преимуществами ленивой загрузки угловых 2
Кодаментатор: Лукас, который смотрит, спрашивал о советах и советах для начала большого проекта. Итак, у вас есть какие-либо лучшие практики, о том, о которых вы могли бы поговорить?
Роб: Много тестирования, рано. Это то, что вы видите как антиухаец номер один, люди не делают тестирование. Итак, любой большой проект, тем больше тестов, которые вы пишете, чем раньше вы их пишете, тем легче жизнь доходит до конца вашего проекта.
Стивен: Еще один, прыгать здесь, ленивая нагрузка. При использовании NG-модулей, это действительно легко сказать, эй, все этот код из моего администратора раздела моего веб-сайта или всего этого кода из моего проверки рабочего процесса, мне не нужен какой-либо из этого кода, пока пользователь не начнется делать эти действия. И поэтому очень приятно модулировать ваше приложение, а затем нам нужно только загрузить части этого, которые вам нужны. Мы берем на себя критические пути, поэтому вы не должны загружать всю функцию, которую ваш пользователь может когда-либо делать как часть первой начальной нагрузки. Затем, когда вы сочетаете, что ленивая нагрузка с такими вещами, как оптимистичный модуль нагрузки, или нетерпеливая ленивая нагрузка, мы можем действительно взять эти вещи из критического пути и сохранить их модульные и отделиться от точки зрения ремонта развития, но тогда также у них уже есть «Компьютер пользователя, прежде чем они пытаются перейти на эти маршруты.
6. Ожидайте еще быстрее и меньшие угловые 3 в 2017 году
Кодаментатор: Не могли бы вы также рассказать нам, что мы можем ожидать рядом с угловыми 2?
Роб: Итак, у нас есть эта встреча прямо сейчас. Это своего рода то, что мы делали на этой неделе. Все в комнате прямо сейчас, очень много говорят о том, каковы функции, так что угловые подразделяются на команды. У нас есть основная инженерная команда, команда The Skyscript, команда Devrel, материальная команда. Так что все эти команды прямо сейчас говорят о том, что мы хотим сделать в течение следующих шести месяцев. Большая из основной команды является производительность. Так что угловые 2 очень быстро сегодня и очень маленький, но потому что они сумасшедшие ученые, основная команда думает, что они могут пойти еще быстрее, даже меньше, так что это то, что они будут сосредоточены на следующих шести месяцах или около того. Материал собирается сосредоточиться на материале, очевидно. Я думаю, что Стивена, и я буду сосредоточиться на демонстрации и документах и выходить там и говорить об этом. Мобильная команда начинает, именно там, где начнут действительно более интересные внешние проекты, поэтому вещи, такие как мобильные, CLI, универсальные, и все это, мы начнем видеть их в течение следующих шести месяцев действительно доработаны и сделать Более интересные вещи, потому что ядро угловагона сделано, и это было то, на что они ждали. Так что теперь, когда ядро угловагона сделано, эти интересные боковые проекты могут начать ускоряться.
7. Ленивая загрузка, схватываемые рендеры и другие функции – делают больше вещей вне просто веб-браузеров с угловым 2
Кодаментатор: У меня просто последний вопрос из нашей команды. Мы просто хотели узнать, какова была ваша личная любимая функция, которая сделала его в этот релиз?
Роб: Я думаю, вероятно, ленивая загрузка, роутер и ленивая нагрузка. Если вы знаете историю угловых 2, роутер был действительно тяжелым. Это то, что взяло нас на некоторое время, чтобы получить правильно, взял нас пару итераций, чтобы получить право. Но я супер, супер ворсился, где он приземлился. Я думаю, что это просто невероятно. Это супер простой в использовании, а вещи, которые мы делаем сегодня, мы можем сделать ленивую нагрузку, и, как сказал Стивен, оптимистичный предварительную загрузку всех этих хороших вещей, и это только начало, верно? Я думаю, что есть огромное количество, которое мы могли бы сделать. Таким образом, маршрутизатор для меня, вероятно, самая крутая особенность.
Стивен: Я бы действительно согласился с Роб. Ленивая нагрузка была этой мечтой в течение многих лет, где это похоже, о да, только загрузите код, который вам нужен, когда вам это нужно, но это было виртуальной невозможностью для меня в качестве разработчика сделать это, потому что это просто тонна работы. И тот факт, что каркас, просто позаботиться об этом сейчас, с нашим плагином WebPack, где он будет разделить свой пакет, а также такие вещи. Это вроде взорвала мой разум, и он все еще дует мой разум каждый день, тот факт, что это просто работает.
Роб: Я написал этот код, и это все еще дует мой разум.
Жюль: Поэтому я сказал это в угловом соединении в ключевом виде, и я помню день, когда я нашел свою любимую функцию. Я был довольно новым в угловой команде, и я продолжал входить в понедельники после написания кода. Это был первый раз, когда мне действительно удалось сделать на самом деле оказание приложения, и я все был взволнован. И Игорь сказал: «Вы знаете, что вам не просто приходится рендер к HTML», и я сказал: «Ну, что ты имеешь в виду?»
И он указал на меня в Matias «, который является одним из наших инженеров, в блоге по поводу того, как Angular 2 имеет квалифицированные рендеры. Это взволновало меня, вероятно, не так увлекательно для Роб или Стивена, но раньше я был задней частью, разработчиком сервера. Так что многие из того, что я сделал в моем прошлом, не обязательно из перспективы веб-браузера, поэтому я был супер воткнул, чтобы услышать, что угловые 2 достаточно гибки, чтобы мы могли представлять там, где нет дома. Мы сделали некоторые проекты, такие как Drupal. С такими вещами, как мы можем сделать вещи за пределами всего веб-браузеров, так что это моя любимая особенность