Pull to refresh

Видеозапись доклада «Вся соль одностраничных приложений» с 404fest

Reading time2 min
Views18K
Федя Шумов и Арсений Заречнев, фронт-енд разработчики из команды Островка, рассказали о
«Всей соли одностраничных приложений» на 404fest в Самаре.

Содержание доклада:



Single-Page Apps. Вся соль.
  1. Backbone.js
  2. MVC на клиенте
  3. Тестирование JS
  4. Model-View Bindings
  5. Освещение Batman.js

Extranet.Ostrovok.ru (система администрирования для отелей). Самое соленое.
  1. Навигация и управление через адресную строку. Слабосвязанные события роутера. Кеширование полезных данных, добываемых из запрошенного URL.
  2. DOM-связанные данные. Expando. Не засорять неймспейс временными или чужими данными. Использование сторонних библиотек, использующих эту технологию.
  3. Вьюха строится 1 раз. При уходе на другую страницу она выдирается через Parent.removeChild(Child) или jQuery.detach() и живет с биндингами. При повторном обращении вставляется собранной.
  4. Отказ от Delegate. Увеличение скорости за счет отсутствия листнеров ивентов на родительском элементе представления.
  5. Knockout. Ясная логика темплейта. Автоматическое изменение UI. Изменения в DOM только тех аттрибутов и элементов, что действительно того требуют. Безопасный интерфейс. Многопользовательский режим.
  6. Backbone + Knockout = Router + CRUD + MVVM. Two-way зависимость: методы изменения модели каждого фреймворка синхронизируют связанные объекты и триггерят нужные ивенты друг у друга. Постепенный переход от представлений Backbone к Knockout.
  7. На страницах, работающих с действительно большими коллекциями и моделями, может потребоваться глубокая оптимизация. Например отказаться от $.extend или _.extend, которые активно используют модели и коллекции фреймворков при инициализации, для обрыва связки в памяти.




Презентацию доклада можно посмотреть тут: Арсений Заречнев и Федор Шумов — Одностраничные приложения
Tags:
Hubs:
Total votes 41: ↑29 and ↓12+17
Comments10

Articles

Information

Website
ostrovok.ru
Registered
Founded
2010
Employees
501–1,000 employees
Location
Россия
Representative
Иван Елфимов