32
Сложные социальные приложения с помощью JS MVC фреймворков Vladimir Ludinov @ Stuzo

Сложные социальные приложения с помощью JS MVC фреймворков

  • Upload
    z-tech

  • View
    996

  • Download
    6

Embed Size (px)

DESCRIPTION

Презентация Владимира Людинова "Сложные социальные приложения с помощью JS MVC фреймворков" с конференции Z-Tech 9.02.2013

Citation preview

Page 1: Сложные социальные приложения с помощью JS MVC фреймворков

Сложные социальные приложения с помощьюJS MVC фреймворков

Vladimir Ludinov @ Stuzo

Page 2: Сложные социальные приложения с помощью JS MVC фреймворков

Обо мне

10+ лет в веб разработке 3 лет в Stuzo как front-end developer 30+ Facebook приложений

Page 3: Сложные социальные приложения с помощью JS MVC фреймворков

История развития веба

1999 - XMLHttpRequest 2002 - ASP, JSP, PHP 2005 - “Ajax” 2006 - jQuery 2008 - JavascriptMVC 2010 - Backbone

Page 4: Сложные социальные приложения с помощью JS MVC фреймворков

Социальные приложения

Сложная логика интерфейса Множество визуальных компонентов Краткие сроки

Page 5: Сложные социальные приложения с помощью JS MVC фреймворков

jQuery подход

Page 6: Сложные социальные приложения с помощью JS MVC фреймворков

Проблемы

Нечитаемый код Связанный код Одноразовый код Часто все в одном файле Сложно поддерживать

Page 7: Сложные социальные приложения с помощью JS MVC фреймворков

Требования

Читаемость Повторное использование Простота поддержки

Page 8: Сложные социальные приложения с помощью JS MVC фреймворков

JS фреймворки

Widget based: ExtJS, Qooxdoo ... Toolkits: YUI, Dojo, ... Microframeworks MVC: 30+

Page 9: Сложные социальные приложения с помощью JS MVC фреймворков

MVC шаблон (1970)

Разделение сфер влияния

MVC, MVP, MVVM...MV* (MV Whatever)

Page 10: Сложные социальные приложения с помощью JS MVC фреймворков

Копроненты JS MVC

Система модулей (OOP, injectors, mixins)

Шина событий (сообщений)

Шаблонизатор Ajax и роутинг хелперы

Page 11: Сложные социальные приложения с помощью JS MVC фреймворков

С jQuery на Backbone

html:

Page 12: Сложные социальные приложения с помощью JS MVC фреймворков

С jQuery на Backbone

js:

Page 13: Сложные социальные приложения с помощью JS MVC фреймворков

Представления

Page 14: Сложные социальные приложения с помощью JS MVC фреймворков

Модели и инициализация

Page 15: Сложные социальные приложения с помощью JS MVC фреймворков

Выводы

Кода в два раза больше Более структурированный код Читабельный ? – Предсказуемый! Более поддерживаемый код

Page 16: Сложные социальные приложения с помощью JS MVC фреймворков

TodoMVC

30+ фреймворков

Page 17: Сложные социальные приложения с помощью JS MVC фреймворков

Критерии выбора

Зрелость фреймворка Сообщество Документация Дополнительные возможности Личное впечатление

Page 18: Сложные социальные приложения с помощью JS MVC фреймворков

Top 3

Angular Backbone Ember

Page 19: Сложные социальные приложения с помощью JS MVC фреймворков

Backbone

Достоинства Предстказуемый код Очень гибкий Хорошо документирован Большое сообщество Расширенные возможности

представления (Chaplin)

Недостатки Много кода инициализации

Page 20: Сложные социальные приложения с помощью JS MVC фреймворков

Ember

Достоинства 2-х сторонняя привязка данных Сильное сообщество

Недостатки Очень плохая документация Сложная архитектура

Page 21: Сложные социальные приложения с помощью JS MVC фреймворков

Уникальные особенности Angular

2-х сторонняя привязка данных Декларативные шаблоны

Page 22: Сложные социальные приложения с помощью JS MVC фреймворков

Просто работает

Page 23: Сложные социальные приложения с помощью JS MVC фреймворков

Или более в “MVC стиле”

Page 24: Сложные социальные приложения с помощью JS MVC фреймворков

«Из коробки»

Удобный роутинг Валидация форм Rest хелпер

Page 25: Сложные социальные приложения с помощью JS MVC фреймворков

Валидация форм

Page 26: Сложные социальные приложения с помощью JS MVC фреймворков

Rest хелпер

Page 27: Сложные социальные приложения с помощью JS MVC фреймворков

«Из коробки»

Директивы Фильтры Локализация

Page 28: Сложные социальные приложения с помощью JS MVC фреймворков

Директивы, Фильтры, Локализация

Page 29: Сложные социальные приложения с помощью JS MVC фреймворков

«Из коробки»

Реализация «promise»

Page 30: Сложные социальные приложения с помощью JS MVC фреймворков

Реализация «promise»

Page 31: Сложные социальные приложения с помощью JS MVC фреймворков

Angular

Достоинства Гораздо меньше кода Доп. возможности из коробки

Недостатки «Магия» – Высокий порог входа Слабые возможности представления

Вложенные представления Модальные диалоги