SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Тимур Болотюх
Що таке новий веб?
• Односторінковий веб (SPA)
• Мобільні додатки
• Веб додатки не відрізняються від нативних
• Дані на клієнті
Чому ?
Yehuda KatzTom Dale
Історія Ember.js
Хто використовує Ember.js?
Що дає нам Ember.js
• Допомагає будувати архітектуру десктопного рівня

• Формує архітектуру додатку

• Робить багато того, що другі фреймворки не роблять

• Ember страється звільнити час для вирішення ваших проблем

• Забезпезпечити вас інструментами

• Дозволяє писати код асинхронно
Router
Route
Model
Controller
View
Templates
Chris Wanstrath - Mustache.rb
Jan Lehnardt - Mustache.js
<h1>Hello, {{username}}</h1>
Logic-less Templates
Основні концепції
&
Feature
Кодогенерація
Кодогенерація
Convention over
configuration
App.PostRoute

App.PostController

App.PostModel

App.PostView

post.hbs
url: /post
Promise — об'єкт або функція з методом then поведінка
якого відповідає специфікації (Promises/A+).
Асинхронність

Promises
Promises
Є Dependency Injection container 

Routes, Controllers, Views створюються автоматично по
правилам вказаним в Resolver (PostController, PostRoute,
PostView)
Dependency Injection
Dependency Injection
Run Loop
Об'єктна модель
• Має ООП модель схожу на Ruby
• Класи
• Наслідування
• Класи можна перевідкривати
• Міксін
• Можна підписуватися на зміну властивостей
• Проксі об’єкти
• Геттери-сеттери
• Залежні атрибути
• Аліаси
Mixin
Component
Computed properties
https://gitter.im/dev-
ua/ember
http://www.ember-club.kiev.ua/
http://emberwatch.com/
http://emberjs.jsbin.com/
?

Más contenido relacionado

Similar a Ember.js. Init...

Ви обрали професію програміста...
Ви обрали професію програміста...Ви обрали професію програміста...
Ви обрали професію програміста...Alexander Babich
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro OverviewKiev ALT.NET
 
Автоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаАвтоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаCollaborator.pro
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsPavlo Iuriichuk
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoGlobalLogic Ukraine
 
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...GoQA
 
Continious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаContinious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаHRdepartment
 
Continuous Integration - Анатолій Охотніков
Continuous Integration - Анатолій ОхотніковContinuous Integration - Анатолій Охотніков
Continuous Integration - Анатолій ОхотніковIgor Bronovskyy
 
ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)Anatoliy Okhotnikov
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET МіфиSerhiy Kalinets
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...Fwdays
 
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019GoQA
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform ArchitecturePavel Bashmakov
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиОлексій Артеменко
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentationeleksdev
 

Similar a Ember.js. Init... (20)

Ви обрали професію програміста...
Ви обрали професію програміста...Ви обрали професію програміста...
Ви обрали професію програміста...
 
Caliburn Micro Overview
Caliburn Micro OverviewCaliburn Micro Overview
Caliburn Micro Overview
 
Технологія Web 2.0
Технологія Web 2.0Технологія Web 2.0
Технологія Web 2.0
 
ASP.Net MVC
ASP.Net MVCASP.Net MVC
ASP.Net MVC
 
Java script + extjs
Java script + extjsJava script + extjs
Java script + extjs
 
Автоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія КрасюковаАвтоматизація створення контенту. Анастасія Красюкова
Автоматизація створення контенту. Анастасія Красюкова
 
Global logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.jsGlobal logic tech talk switching to Angular.js
Global logic tech talk switching to Angular.js
 
Павло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. HowtoПавло Юрійчук — Перехід на Angular.js. Howto
Павло Юрійчук — Перехід на Angular.js. Howto
 
Web 5
Web 5Web 5
Web 5
 
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
ЮРІЙ СЕРДЮК «Патерни проектування в автоматизації. Практичний досвід з Python...
 
Vue.js
Vue.jsVue.js
Vue.js
 
Continious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій ГалушкаContinious integration jet brains teamcity. Віталій Галушка
Continious integration jet brains teamcity. Віталій Галушка
 
Continuous Integration - Анатолій Охотніков
Continuous Integration - Анатолій ОхотніковContinuous Integration - Анатолій Охотніков
Continuous Integration - Анатолій Охотніков
 
ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)ITEvent: Continuous Integration (ukr)
ITEvent: Continuous Integration (ukr)
 
Руйнуємо .NET Міфи
Руйнуємо .NET МіфиРуйнуємо .NET Міфи
Руйнуємо .NET Міфи
 
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ..."Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
"Laravel Tips & Tricks - 7 Steps to Dramatically Improve Performance", Yehor ...
 
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019
ОЛЕГ ЗАРЕВИЧ «How did we improve delivery using tests» Lviv QA Day 2019
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Розробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапиРозробка веб-сайту. Основні етапи
Розробка веб-сайту. Основні етапи
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
 

Más de Stfalcon Meetups

Conversion centered design 3
Conversion centered design 3Conversion centered design 3
Conversion centered design 3Stfalcon Meetups
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon Meetups
 
Design of the_future_30_05_2019
Design of the_future_30_05_2019Design of the_future_30_05_2019
Design of the_future_30_05_2019Stfalcon Meetups
 
Global sales - a few insights
Global sales - a few insightsGlobal sales - a few insights
Global sales - a few insightsStfalcon Meetups
 
How to build your own startup
How to build your own startupHow to build your own startup
How to build your own startupStfalcon Meetups
 
Первая и последняя встреча с клиентом
Первая и последняя встреча с клиентом Первая и последняя встреча с клиентом
Первая и последняя встреча с клиентом Stfalcon Meetups
 
Парнерство нидерланды
Парнерство нидерландыПарнерство нидерланды
Парнерство нидерландыStfalcon Meetups
 
Риси гарного менеджера
Риси гарного менеджераРиси гарного менеджера
Риси гарного менеджераStfalcon Meetups
 
Между заказчиком и разработчиком
Между заказчиком и разработчикомМежду заказчиком и разработчиком
Между заказчиком и разработчикомStfalcon Meetups
 
майстер-клас “Управління ризиками”
майстер-клас “Управління ризиками”майстер-клас “Управління ризиками”
майстер-клас “Управління ризиками”Stfalcon Meetups
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDStfalcon Meetups
 
Як ефективно працювати в мережі LinkedIn
Як ефективно працювати в мережі LinkedInЯк ефективно працювати в мережі LinkedIn
Як ефективно працювати в мережі LinkedInStfalcon Meetups
 
HR-правила на кожен день
HR-правила на кожен деньHR-правила на кожен день
HR-правила на кожен деньStfalcon Meetups
 

Más de Stfalcon Meetups (20)

Conversion centered design 3
Conversion centered design 3Conversion centered design 3
Conversion centered design 3
 
Discovery phase
Discovery phaseDiscovery phase
Discovery phase
 
Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020Stfalcon QA Meetup 31.01.2020
Stfalcon QA Meetup 31.01.2020
 
Stfalcon PM Meetup 21.11
Stfalcon PM Meetup 21.11Stfalcon PM Meetup 21.11
Stfalcon PM Meetup 21.11
 
Stfalcon PM Meetup 21.11
Stfalcon PM Meetup 21.11Stfalcon PM Meetup 21.11
Stfalcon PM Meetup 21.11
 
Design of the_future_30_05_2019
Design of the_future_30_05_2019Design of the_future_30_05_2019
Design of the_future_30_05_2019
 
2 5404811386729530203
2 54048113867295302032 5404811386729530203
2 5404811386729530203
 
Team evolution
Team evolutionTeam evolution
Team evolution
 
Mobile&Privacy
Mobile&PrivacyMobile&Privacy
Mobile&Privacy
 
Global sales - a few insights
Global sales - a few insightsGlobal sales - a few insights
Global sales - a few insights
 
How to build your own startup
How to build your own startupHow to build your own startup
How to build your own startup
 
Первая и последняя встреча с клиентом
Первая и последняя встреча с клиентом Первая и последняя встреча с клиентом
Первая и последняя встреча с клиентом
 
Парнерство нидерланды
Парнерство нидерландыПарнерство нидерланды
Парнерство нидерланды
 
Риси гарного менеджера
Риси гарного менеджераРиси гарного менеджера
Риси гарного менеджера
 
Между заказчиком и разработчиком
Между заказчиком и разработчикомМежду заказчиком и разработчиком
Между заказчиком и разработчиком
 
Cv vs resume
Cv vs resumeCv vs resume
Cv vs resume
 
майстер-клас “Управління ризиками”
майстер-клас “Управління ризиками”майстер-клас “Управління ризиками”
майстер-клас “Управління ризиками”
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
 
Як ефективно працювати в мережі LinkedIn
Як ефективно працювати в мережі LinkedInЯк ефективно працювати в мережі LinkedIn
Як ефективно працювати в мережі LinkedIn
 
HR-правила на кожен день
HR-правила на кожен деньHR-правила на кожен день
HR-правила на кожен день
 

Ember.js. Init...