SlideShare a Scribd company logo
1 of 26
Применение BackboneJS для
рефакторинга фронтенда веб-
приложения
Алексей Авдеев
Нижний Новгород, Go-Promo, go-promo.ru
Как бывает
Описание проблемы
Первая попытка
Пример
Преимущества
Недостатки первой попытки
Вторая попытка
Используем плагин
Преимущества
Недостатки второй попытки
Третья попытка
Почему можно рефакторить?
• Часто люди начинают обращаться с примерами, приведёнными
на этой странице, как с какой-то божественной истиной. На
самом деле Backbone.js предназначен быть довольно
агностичным насчёт многих частых паттернов клиентского кода
• Если вы поймаете себя на том, что добавляете методы
в Backbone.Model.prototype, или создаёте свои собственные
базовые субклассы, не беспокойтесь — так и было задумано.
Структура фрэймворка
Как будем действовать
Пример Backbone.View
Что можно вытащить
Что получается
Как рефакторить
Как рефакторить
Пример иерархии
Преимущества
Недостатки третьей попытки
Решаем недостатки
Пример
Спасибо за внимание.
Вопросы.
Алексей Авдеев
Нижний Новгород, Go-Promo, go-promo.ru

More Related Content

Viewers also liked

Viewers also liked (8)

Post-earthquake Guatemala 36 years later
Post-earthquake Guatemala 36 years laterPost-earthquake Guatemala 36 years later
Post-earthquake Guatemala 36 years later
 
DWF Lessons from Vietnam
DWF Lessons from VietnamDWF Lessons from Vietnam
DWF Lessons from Vietnam
 
Генераторы статических сайтов. Middleman
Генераторы статических сайтов. MiddlemanГенераторы статических сайтов. Middleman
Генераторы статических сайтов. Middleman
 
CV- Kenneth K. Kodiyo (2)
CV- Kenneth K. Kodiyo (2)CV- Kenneth K. Kodiyo (2)
CV- Kenneth K. Kodiyo (2)
 
Ontwikkelingsfasen Team / Tucker Model
Ontwikkelingsfasen  Team /  Tucker ModelOntwikkelingsfasen  Team /  Tucker Model
Ontwikkelingsfasen Team / Tucker Model
 
Team ontwikkeling en succes .pptx
Team ontwikkeling en succes .pptxTeam ontwikkeling en succes .pptx
Team ontwikkeling en succes .pptx
 
Post- earthquake reconstruction in Gandhi Nu Gam, Ludiya (Gujarat)
Post- earthquake reconstruction in Gandhi Nu Gam, Ludiya (Gujarat)Post- earthquake reconstruction in Gandhi Nu Gam, Ludiya (Gujarat)
Post- earthquake reconstruction in Gandhi Nu Gam, Ludiya (Gujarat)
 
Convento san francisco de asis maracaibo, venezuela
Convento san francisco de asis maracaibo, venezuelaConvento san francisco de asis maracaibo, venezuela
Convento san francisco de asis maracaibo, venezuela
 

Similar to Рефакторинг фронт-части приложения при помощи BackboneJS

Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...
Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...
Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...Yandex
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноНетология
 
Как улучшить удобство продукта минимальными затратами?
Как улучшить удобство продукта минимальными затратами?Как улучшить удобство продукта минимальными затратами?
Как улучшить удобство продукта минимальными затратами?Oleg Karapuzov
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестированиеSQALab
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Dmitry Andreev
 
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...lshevtsov
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...CodeFest
 
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQAFest
 
Python Meetup
Python Meetup Python Meetup
Python Meetup iQSpace
 
Скриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОСкриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОFedor Malyshkin
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияОшибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияzheldak
 
A labs 2009 - внедрение agile
A labs 2009 - внедрение agileA labs 2009 - внедрение agile
A labs 2009 - внедрение agileAlexey Korsun
 
Тяжело в учении - легко в бою
Тяжело в учении - легко в боюТяжело в учении - легко в бою
Тяжело в учении - легко в боюDmitry Zimin
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 

Similar to Рефакторинг фронт-части приложения при помощи BackboneJS (20)

Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...
Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...
Алексей Авдеев — Применение Backbone.js для рефакторинга фронтенда веб-прилож...
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельно
 
Как улучшить удобство продукта минимальными затратами?
Как улучшить удобство продукта минимальными затратами?Как улучшить удобство продукта минимальными затратами?
Как улучшить удобство продукта минимальными затратами?
 
Unit tests
Unit testsUnit tests
Unit tests
 
Скандалы, расследования, тестирование
Скандалы, расследования, тестированиеСкандалы, расследования, тестирование
Скандалы, расследования, тестирование
 
Java 2 - Java Intro
Java 2 - Java IntroJava 2 - Java Intro
Java 2 - Java Intro
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
 
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...Системное тестирование  приложений на Ruby on Rails с применением Rspec и Cap...
Системное тестирование приложений на Ruby on Rails с применением Rspec и Cap...
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
CodeFest 2010. Жемчужникова М., Овчарова О. —Принципы выбора ПО для группы те...
 
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left TestingQA Fest 2018. Анастасия Асеева. Shift-Left Testing
QA Fest 2018. Анастасия Асеева. Shift-Left Testing
 
Python Meetup
Python Meetup Python Meetup
Python Meetup
 
Java 1 - Java Fund
Java 1 - Java FundJava 1 - Java Fund
Java 1 - Java Fund
 
Скриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОСкриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПО
 
Ошибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы примененияОшибки начинающих Tdd практиков, плюсы применения
Ошибки начинающих Tdd практиков, плюсы применения
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
A labs 2009 - внедрение agile
A labs 2009 - внедрение agileA labs 2009 - внедрение agile
A labs 2009 - внедрение agile
 
Тяжело в учении - легко в бою
Тяжело в учении - легко в боюТяжело в учении - легко в бою
Тяжело в учении - легко в бою
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 

Рефакторинг фронт-части приложения при помощи BackboneJS