SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
ONE YEAR OF ANGULAR 2
ON PRODUCTION
Oleksandr Tryshchenko
Senior Front-end Developer, DataArt
27 January 2017
Агенда
• Почему?
• Как?
• Проблемы
• Решения проблем
• Примеры
• Q&A
• Плюшки
Что ожидалось от технологии
• Отсутствие необходимости писать код ради самой технологии.
• Стабильность и живое сообщество.
• Простая комплектация команд под проекты.
• Целостная экосистема и подобная структура от проекта к
проекту.
• Достаточный уровень абстракции и ощутимый прирост в
скорости разработки.
• Низкая связность приложения.
• Удобная тестируемость.
27 January 2017 5
Что хотелось от технологии
• Высокая производительность.
• Совместимость со старыми браузерами.
• Длинный жизненный цикл продукта.
27 January 2017 6
27 January 2017
Web Components
• Shadow DOM
• Templates
• Imports
• Custom Elements
27 January 2017
Web Components
• Shadow DOM
• Templates
• Imports
• Custom Elements
27 January 2017
Shadow DOM
Shadow DOM
27 January 2017 10
Shadow DOM
27 January 2017 11
Shadow DOM – Emulated
27 January 2017 12
Shadow DOM – Emulated
27 January 2017 13
Shadow DOM – Emulated
barny-bear
- - barny-bear.component.ts
- - barny-bear.component.spec.ts
- - barny-bear.component.scss
- - barny-bear.component.html
- - barny-bear.module.ts
27 January 2017 14
Shadow DOM !== Virtual DOM
1. Это вообще разные вещи.
2. … и предназначены они для разного.
27 January 2017 15
viewEncapsulation
• None – не используем Shadow DOM.
• Emulated – эмулируем поведение Shadow DOM
(Default).
• Native – включить нативную реализацию.
27 January 2017 16
Декларация компонентов
27 January 2017 17
27 January 2017
Angular CLI
• Официальный инструмент.
• Стандартизация и подавление индивидуальности
Разработчика.
• Экономия времени и денег на рутине.
• Конфигурирует Webpack вместо тебя J.
• Подразумевает написание юнит тестов.
27 January 2017
Angular CLI – Что умеет
• Создание пустого проекта
• Генерация компонентов и сервисов
• Генерация инфраструктуры: сборка, тесты
• Синтаксический анализ кода
• Различные окружения
• Форматирование кода
Angular CLI ?
27 January 2017 21
27 January 2017
Angular CLI - Webpack
- Webpack 2
- Tree Shaking
27 January 2017
Tree Shaking
- Webpack вычищает неиспользуемые
ссылки.
- UglifyJsPlugin удаляет
неиспользуемый код.
27 January 2017
Anders Hejlsberg
Занимался разработкой таких языков как:
• Turbo Pascal
• Delphi
• C#
• TypeScript
27 January 2017
TypeScript
• Очень гибкий транспайлер
• Система контроля типов
• Интерфейсы
• Mixins
• Пространства имен
TS Типизация
• Интерфейсы
• Проверка типов аргументов функций
• Проверка типов свойств
• Проверка типов возвращаемых значений функций
• Возможность декларации собственных типов
• Enum
27 January 2017 26
TS Типизация
27 January 2017 27
TS Декораторы
(ESXXXX Декораторы)
27 January 2017 28
import { Component, Input, Output, EventEmitter } from
'@angular/core';
@Component({
selector: 'conditional-formating',
templateUrl: './conditional-formating.component.html',
styleUrls: ['./conditional-formating.component.scss'],
providers: []
})
export class ConditionalFormatingComponent {
@Input() value: Number = 0;
@Input() label: String = ‘No Value';
constructor() { }
}
Декораторы
27 January 2017 29
Декораторы
27 January 2017 30
Декораторы
27 January 2017 H T T P S : / / G I T H U B . C O M / W Y C A T S / J A V A S C R I P T - D E C O R A T O R S 31
TS typing
xxxx.d.ts
declare namespace d3 {
type TooltipDirection = ("n" | "s" | "e" | "w" | "nw" | "ne" | "sw" | "se");
interface Tooltip {
hide(): Tooltip;
show(target: SVGElement): Tooltip;
attr(name: string, value: Primitive): Tooltip;
style(name: string, value: Primitive, priority?: string): Tooltip;
destroy(): Tooltip;
}
export function tip(): Tooltip;
}
27 January 2017 32
27 January 2017
Связывание
Однонаправленный «внутрь»:
• {{expression}}
• [target] = "expression"
• bind-target = "expression"
27 January 2017
Связывание
Однонаправленный «внаружу»:
• (target) = "statement"
• on-target = "statement"
27 January 2017
Связывание
Однонаправленный «внаружу»:
• [(target)] = "expression"
• bindon-target = "expression"
27 January 2017
ReactiveX (Rx.js)
• Еще один подход для организации
асинхронных действий.
• Влечет за собой новый подход к
композиции компонентов нашего
приложения.
Используем flatMap и switchMap
27 January 2017 37
Rx.js + A2
PROS
- Позволяет убрать http логику из компонентов
- Очень удобно использовать с async pipe
CONS
- Вносит коррективы в композицию приложения
- Реализует метод toPromise()
27 January 2017 38
Композиция компонентов
27 January 2017 39
Rx.js
27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = W W R 9 N X V X 1 E C 40
ROB WORMALD
(@ROBWORMALD):
ANGULAR & RXJS AT
NG-EUROPE 2016
Zone.js
• Переопределяет стандартные методы для
асинхронных действий
• Детальный trace ошибок.
• Dirty-checking.
• Возможность прекратить все асинхронные действия
при уничтожении компонента.
27 January 2017 41
Angular 2 Change Detection
Strategies
27 January 2017 42
OnPush Strategy
• Мы полагаем, что все входы компонента
иммутабельные.
• Мы используем ручной вызов с помощью
markForCheck() для всех остальных случаев.
• Мы должны использовать только Immutable входящие
данные.
27 January 2017 F O O T E R H E R E 43
Key Value Differs
27 January 2017 44
Web Animations API
27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = 4 V D M I V R M L 3 4 45
ANGULAR 2 0
ANIMATIONS MATIAS
NIEMELA
ANGULARCONNECT
Angular 2 Forms
27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = X Y V 9 L S R V 0 S 4 46
ANGULAR 2 FORMS
KARA ERICKSON
Совместимость
• Приложение частично собирается в ES5.
• CLI генерирует polyfills.brower.ts.
• Это не заведется на Safari + IE J.
• Для этого нам нужно руками подключить intl
полифилл.
27 January 2017 47
Отладка Angular 2 приложений
27 January 2017 48
@angular/core/testing
- Jasmine
- Karma
- Protractor (e2e)
27 January 2017 49
27 January 2017
Augury
• Инструмент от команды A2.
• Не требует никаких телодвижений со
стороны разработчика.
• Отлично работает с собранными
приложениями.
27 January 2017 51
27 January 2017
Visual Studio Code
• Синтаксический анализ кода с учетом
указанных типов.
• Встроенный транспайлер.
Субъективно
• Есть компоненты. Один тип компонентов.
• Есть директивы. Один тип директив.
• Есть сервисы. Один тип сервисов.
27 January 2017 53
Спасибо!
27 January 2017 54
А что дальше?
27 January 2017 55
27 January 2017
Angular 2 Universal
• Инструмент от команды A2.
• Рендеринг статических страниц на
сервере.
• Пре-рендер и ре-рендер.
• Невероятно крутой API refence.
27 January 2017
NativeScript
27 January 2017
angular
27 January 2017
angular-react
27 January 2017
angular-react-native
27 January 2017
angular-react-native-
renderer

Mais conteúdo relacionado

Mais procurados

QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
QAFest
 

Mais procurados (10)

Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPER
 
Браузерные помощники тестировщика (QA Fest 2016)
Браузерные помощники тестировщика (QA Fest 2016)Браузерные помощники тестировщика (QA Fest 2016)
Браузерные помощники тестировщика (QA Fest 2016)
 
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
 
QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
QA Fest 2017. Надежда Шкуда. Работает ли A/B тестирование?
 
Delivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java ApplicationsDelivering Native User Experience In Client Side Java Applications
Delivering Native User Experience In Client Side Java Applications
 
QA Fes 2016. Святослав Логин. Как тестировать фичи прямо на продакшене с помо...
QA Fes 2016. Святослав Логин. Как тестировать фичи прямо на продакшене с помо...QA Fes 2016. Святослав Логин. Как тестировать фичи прямо на продакшене с помо...
QA Fes 2016. Святослав Логин. Как тестировать фичи прямо на продакшене с помо...
 
QA Fest 2017. Олег Лимарчук. Создаём универсальный конвейер тестирования для ...
QA Fest 2017. Олег Лимарчук. Создаём универсальный конвейер тестирования для ...QA Fest 2017. Олег Лимарчук. Создаём универсальный конвейер тестирования для ...
QA Fest 2017. Олег Лимарчук. Создаём универсальный конвейер тестирования для ...
 
QA Fest 2017.Александр Неделяев.Тестирование и мониторинг производительности ...
QA Fest 2017.Александр Неделяев.Тестирование и мониторинг производительности ...QA Fest 2017.Александр Неделяев.Тестирование и мониторинг производительности ...
QA Fest 2017.Александр Неделяев.Тестирование и мониторинг производительности ...
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
GTUG Almaty. Dependency Injection в Android
GTUG Almaty. Dependency Injection в Android GTUG Almaty. Dependency Injection в Android
GTUG Almaty. Dependency Injection в Android
 

Semelhante a Angular 2 On Production

Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 
Front days Фронтенд для миллионов Avito
Front days Фронтенд для миллионов AvitoFront days Фронтенд для миллионов Avito
Front days Фронтенд для миллионов Avito
Anastasia Goryacheva
 
Опыт использования инновационных технологий линейки продуктов Autodesk IDS ...
Опыт использования  инновационных технологий линейки продуктов Autodesk IDS  ...Опыт использования  инновационных технологий линейки продуктов Autodesk IDS  ...
Опыт использования инновационных технологий линейки продуктов Autodesk IDS ...
RnD_SM
 

Semelhante a Angular 2 On Production (20)

React & Redux (Lazarev)
React & Redux (Lazarev)React & Redux (Lazarev)
React & Redux (Lazarev)
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
Кросс-доменная автоматизация (DC-WAN- Campus) - как собрать единую систему, и...
Кросс-доменная автоматизация (DC-WAN- Campus) - как собрать единую систему, и...Кросс-доменная автоматизация (DC-WAN- Campus) - как собрать единую систему, и...
Кросс-доменная автоматизация (DC-WAN- Campus) - как собрать единую систему, и...
 
Марина Степанова "Как мы заставили API Яндекс.Карт работать быстрее"
Марина Степанова "Как мы заставили API Яндекс.Карт работать быстрее"Марина Степанова "Как мы заставили API Яндекс.Карт работать быстрее"
Марина Степанова "Как мы заставили API Яндекс.Карт работать быстрее"
 
Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)Фронтенд для миллионов (Орёл)
Фронтенд для миллионов (Орёл)
 
Микросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и KubernetesМикросервисная архитектура на базе CoreOS и Kubernetes
Микросервисная архитектура на базе CoreOS и Kubernetes
 
Workflow: работа над проектом в Яндексе
Workflow: работа над проектом в ЯндексеWorkflow: работа над проектом в Яндексе
Workflow: работа над проектом в Яндексе
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Front days Фронтенд для миллионов Avito
Front days Фронтенд для миллионов AvitoFront days Фронтенд для миллионов Avito
Front days Фронтенд для миллионов Avito
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
 
QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?
QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?
QA Fest 2017. Анастасия Павленко. А ты готов к интеграционному тестированию?
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Переписать нельзя рефакторить
Переписать нельзя рефакторитьПереписать нельзя рефакторить
Переписать нельзя рефакторить
 
DevOps и VSTS
DevOps и VSTSDevOps и VSTS
DevOps и VSTS
 
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформуКак за $5 и несколько вечеров сделать интегрированную новостную платформу
Как за $5 и несколько вечеров сделать интегрированную новостную платформу
 
Опыт использования инновационных технологий линейки продуктов Autodesk IDS ...
Опыт использования  инновационных технологий линейки продуктов Autodesk IDS  ...Опыт использования  инновационных технологий линейки продуктов Autodesk IDS  ...
Опыт использования инновационных технологий линейки продуктов Autodesk IDS ...
 
InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015
 

Mais de Oleksandr Tryshchenko

Mais de Oleksandr Tryshchenko (11)

PWA to React Native migration
PWA to React Native migrationPWA to React Native migration
PWA to React Native migration
 
Web Scraping
Web ScrapingWeb Scraping
Web Scraping
 
2018 grai
2018 grai2018 grai
2018 grai
 
Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3Mobile Applications with Angular 4 and Ionic 3
Mobile Applications with Angular 4 and Ionic 3
 
20 000 Leagues Under The Angular 4
20 000 Leagues Under The Angular 420 000 Leagues Under The Angular 4
20 000 Leagues Under The Angular 4
 
Front end architecture patterns
Front end architecture patternsFront end architecture patterns
Front end architecture patterns
 
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
 
Angular 2 On Production (IT Talk in Dnipro)
Angular 2 On Production (IT Talk in Dnipro)Angular 2 On Production (IT Talk in Dnipro)
Angular 2 On Production (IT Talk in Dnipro)
 
ES6 Generators On Koa.js Example
ES6 Generators On Koa.js ExampleES6 Generators On Koa.js Example
ES6 Generators On Koa.js Example
 
How To Tweak Angular 2 Performance
How To Tweak Angular 2 PerformanceHow To Tweak Angular 2 Performance
How To Tweak Angular 2 Performance
 
ES6 basics
ES6 basicsES6 basics
ES6 basics
 

Angular 2 On Production

  • 1.
  • 2. ONE YEAR OF ANGULAR 2 ON PRODUCTION Oleksandr Tryshchenko Senior Front-end Developer, DataArt
  • 3. 27 January 2017 Агенда • Почему? • Как? • Проблемы • Решения проблем • Примеры • Q&A • Плюшки
  • 4.
  • 5. Что ожидалось от технологии • Отсутствие необходимости писать код ради самой технологии. • Стабильность и живое сообщество. • Простая комплектация команд под проекты. • Целостная экосистема и подобная структура от проекта к проекту. • Достаточный уровень абстракции и ощутимый прирост в скорости разработки. • Низкая связность приложения. • Удобная тестируемость. 27 January 2017 5
  • 6. Что хотелось от технологии • Высокая производительность. • Совместимость со старыми браузерами. • Длинный жизненный цикл продукта. 27 January 2017 6
  • 7. 27 January 2017 Web Components • Shadow DOM • Templates • Imports • Custom Elements
  • 8. 27 January 2017 Web Components • Shadow DOM • Templates • Imports • Custom Elements
  • 12. Shadow DOM – Emulated 27 January 2017 12
  • 13. Shadow DOM – Emulated 27 January 2017 13
  • 14. Shadow DOM – Emulated barny-bear - - barny-bear.component.ts - - barny-bear.component.spec.ts - - barny-bear.component.scss - - barny-bear.component.html - - barny-bear.module.ts 27 January 2017 14
  • 15. Shadow DOM !== Virtual DOM 1. Это вообще разные вещи. 2. … и предназначены они для разного. 27 January 2017 15
  • 16. viewEncapsulation • None – не используем Shadow DOM. • Emulated – эмулируем поведение Shadow DOM (Default). • Native – включить нативную реализацию. 27 January 2017 16
  • 18.
  • 19. 27 January 2017 Angular CLI • Официальный инструмент. • Стандартизация и подавление индивидуальности Разработчика. • Экономия времени и денег на рутине. • Конфигурирует Webpack вместо тебя J. • Подразумевает написание юнит тестов.
  • 20. 27 January 2017 Angular CLI – Что умеет • Создание пустого проекта • Генерация компонентов и сервисов • Генерация инфраструктуры: сборка, тесты • Синтаксический анализ кода • Различные окружения • Форматирование кода
  • 21. Angular CLI ? 27 January 2017 21
  • 22. 27 January 2017 Angular CLI - Webpack - Webpack 2 - Tree Shaking
  • 23. 27 January 2017 Tree Shaking - Webpack вычищает неиспользуемые ссылки. - UglifyJsPlugin удаляет неиспользуемый код.
  • 24. 27 January 2017 Anders Hejlsberg Занимался разработкой таких языков как: • Turbo Pascal • Delphi • C# • TypeScript
  • 25. 27 January 2017 TypeScript • Очень гибкий транспайлер • Система контроля типов • Интерфейсы • Mixins • Пространства имен
  • 26. TS Типизация • Интерфейсы • Проверка типов аргументов функций • Проверка типов свойств • Проверка типов возвращаемых значений функций • Возможность декларации собственных типов • Enum 27 January 2017 26
  • 28. TS Декораторы (ESXXXX Декораторы) 27 January 2017 28 import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'conditional-formating', templateUrl: './conditional-formating.component.html', styleUrls: ['./conditional-formating.component.scss'], providers: [] }) export class ConditionalFormatingComponent { @Input() value: Number = 0; @Input() label: String = ‘No Value'; constructor() { } }
  • 31. Декораторы 27 January 2017 H T T P S : / / G I T H U B . C O M / W Y C A T S / J A V A S C R I P T - D E C O R A T O R S 31
  • 32. TS typing xxxx.d.ts declare namespace d3 { type TooltipDirection = ("n" | "s" | "e" | "w" | "nw" | "ne" | "sw" | "se"); interface Tooltip { hide(): Tooltip; show(target: SVGElement): Tooltip; attr(name: string, value: Primitive): Tooltip; style(name: string, value: Primitive, priority?: string): Tooltip; destroy(): Tooltip; } export function tip(): Tooltip; } 27 January 2017 32
  • 33. 27 January 2017 Связывание Однонаправленный «внутрь»: • {{expression}} • [target] = "expression" • bind-target = "expression"
  • 34. 27 January 2017 Связывание Однонаправленный «внаружу»: • (target) = "statement" • on-target = "statement"
  • 35. 27 January 2017 Связывание Однонаправленный «внаружу»: • [(target)] = "expression" • bindon-target = "expression"
  • 36. 27 January 2017 ReactiveX (Rx.js) • Еще один подход для организации асинхронных действий. • Влечет за собой новый подход к композиции компонентов нашего приложения.
  • 37. Используем flatMap и switchMap 27 January 2017 37
  • 38. Rx.js + A2 PROS - Позволяет убрать http логику из компонентов - Очень удобно использовать с async pipe CONS - Вносит коррективы в композицию приложения - Реализует метод toPromise() 27 January 2017 38
  • 40. Rx.js 27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = W W R 9 N X V X 1 E C 40 ROB WORMALD (@ROBWORMALD): ANGULAR & RXJS AT NG-EUROPE 2016
  • 41. Zone.js • Переопределяет стандартные методы для асинхронных действий • Детальный trace ошибок. • Dirty-checking. • Возможность прекратить все асинхронные действия при уничтожении компонента. 27 January 2017 41
  • 42. Angular 2 Change Detection Strategies 27 January 2017 42
  • 43. OnPush Strategy • Мы полагаем, что все входы компонента иммутабельные. • Мы используем ручной вызов с помощью markForCheck() для всех остальных случаев. • Мы должны использовать только Immutable входящие данные. 27 January 2017 F O O T E R H E R E 43
  • 44. Key Value Differs 27 January 2017 44
  • 45. Web Animations API 27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = 4 V D M I V R M L 3 4 45 ANGULAR 2 0 ANIMATIONS MATIAS NIEMELA ANGULARCONNECT
  • 46. Angular 2 Forms 27 January 2017 H T T P S : / / W W W . Y O U T U B E . C O M / W A T C H ? V = X Y V 9 L S R V 0 S 4 46 ANGULAR 2 FORMS KARA ERICKSON
  • 47. Совместимость • Приложение частично собирается в ES5. • CLI генерирует polyfills.brower.ts. • Это не заведется на Safari + IE J. • Для этого нам нужно руками подключить intl полифилл. 27 January 2017 47
  • 48. Отладка Angular 2 приложений 27 January 2017 48
  • 49. @angular/core/testing - Jasmine - Karma - Protractor (e2e) 27 January 2017 49
  • 50. 27 January 2017 Augury • Инструмент от команды A2. • Не требует никаких телодвижений со стороны разработчика. • Отлично работает с собранными приложениями.
  • 52. 27 January 2017 Visual Studio Code • Синтаксический анализ кода с учетом указанных типов. • Встроенный транспайлер.
  • 53. Субъективно • Есть компоненты. Один тип компонентов. • Есть директивы. Один тип директив. • Есть сервисы. Один тип сервисов. 27 January 2017 53
  • 55. А что дальше? 27 January 2017 55
  • 56. 27 January 2017 Angular 2 Universal • Инструмент от команды A2. • Рендеринг статических страниц на сервере. • Пре-рендер и ре-рендер. • Невероятно крутой API refence.