Backbone.js Профилактика сколиоза

1,183 views
1,064 views

Published on

Доклад на конференции Anadea Inc.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,183
On SlideShare
0
From Embeds
0
Number of Embeds
319
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Backbone.js Профилактика сколиоза

  1. 1. Backbone.jsПрофилактика сколиоза Митин Павел Anadea Inc. 2012
  2. 2. Контекстсоциальная сеть в стадиинадвигающейся бетыRuby on Rails 3.2
  3. 3. Контекстрендеринг на клиентеHandlebars
  4. 4. КонтекстcoffeescriptДа. И ещё раз Да
  5. 5. Контекстполевая журналистика● свежие впечатления● постоянно изменяющиеся оценки происходящего
  6. 6. События моделей и коллекцийглавный урокСобытия моделей и коллекций backbone --это становой хребетархитектуры
  7. 7. События моделей и коллекцийкакокодclass FirstView extends Backbone.View publish: (message) -> @collection.create( { message: message }, { success: => @render() @secondView.render() } )
  8. 8. События моделей и коллекцийправила● Привязывайте view к событиям моделей и коллекций● Запретите использовать колбэки в методах backbone
  9. 9. События моделей и коллекцийпримерclass FirstView extends Backbone.View initialize: -> @collection.on reset, @render, @ publish: (message) -> @collection.create message: messageclass SecondView extends Backbone.View initialize: -> @collection.on reset, @render, @
  10. 10. Routerиспользовать, нельзя игнорироватьРоутер -- второе по значимости (послесобытий на моделях и коллекциях)основание архитектуры страницы
  11. 11. Routerкорень дерева объектов● Руководит жизненным циклом view● Инстанцирует те коллекции и модели, о которых знает больше чем● одно view
  12. 12. Backbone и потоки данныхв случае обилия полей ввода,используйте альтернативы● Расширения backbone● Другие javascript/coffeescript фреймворки
  13. 13. Структурирование дерева проектаправилоОдин класс -- один файл
  14. 14. Структурирование дерева проектабенефиты● Упрощает навигацию по кодовой базе● Упрощает менеджмент зависимостей
  15. 15. Менеджмент зависимостейrequire от sprocketsРаботает достаточно надежно (по крайнеймере, для staging окружения:)
  16. 16. Трактуйте вашу модель какviewModellogic-less шаблоныИзменяйте модель под нужды конкретнойстраницы. Не пытайтесь повторноиспользовать ее
  17. 17. ВерсткаBерстальщик должен знать некоторыеособенности backbone● Правило: одно view, один tag● Конкуренция нескольких view за одни таг вDOM-дереве● Forms considered harmful
  18. 18. backbone + legacy-codeНетОставьте эти попытки!
  19. 19. Appendixаспекты приложения, не имеющиепрямого отношения к backbone● Разные шаблонные движки для сервера и клиента (haml + handlebars)● REST Level 3 (hypermedia controls)● Декораторы вместо view-хелперов на стороне сервера● PageObject в автоматических приемочных тестах● Сервер полнотекстового поиска как основы read-side части приложения
  20. 20. Главный выводАрхитектура с MVC на клиенте требует вДВА раза больше времени, чемтрадиционый RoR подход

×