Upload
geekslab
View
694
Download
3
Tags:
Embed Size (px)
Citation preview
Сравнить несравнимоеЮлияПучнина
kira__kit
yulia.puchnina
probably-kira
Юлия Пучнина
Мы рассмотрим:
Мы рассмотрим:❖ Обзор архитектурных особенностей
❖ Создание компонентов
❖ Экосистема
❖ Возможности для тестирования
❖ Сообщество, лицензирование и все-все
Особенности архитектуры
Sencha Touch
ExtJs
ЭТО ЭНТЕРПРАЙЗ
Умеет прямо из коробки:❖ настоящее ООПэ
❖ Классический MVC
❖ и еще AJAX, и REST, и JSONP, и SOAP…
❖ Компоненты на любой вкус!
❖ офигенная работа с данными
Не умеет:❖ Promises/deferred
❖ Двухсторонний биндинг
❖ Dependency injection реализован криво
..но DeftJS спасет отца русской демократии!
Также предоставляет:❖ Sencha Architect
❖ Sencha Eclipse Plugin
❖ Sencha Mobile and Desktop Application
Packagers
❖ Sencha CMD
это модный тренд
Умеет прямо из коробки:❖ Двухсторонний биндинг
❖ Очень гибкий MV - ЧоСможетеПостроить
❖ Dependency injections
❖ Promises/Deferred
❖ и тоже и AJAX, и REST, и JSONP
Не умеет:❖ Отделять логику от представления
❖ Нет готовых интерфейсных решений
❖ Нет классического механизма
наследования
❖ Нет жестко заложеной архитектуры
это минимализм
Умеет прямо из коробки:❖ Хороший односторонний биндинг
❖ Очень гибкий MV - ЧоСможетеПостроить
❖ Хорошая работа с данными в модели
❖ Слушает события и реагирует на них
Не умеет:❖ Нет готовых интерфейсных решений
❖ Нет жестко заложеной архитектуры
❖ Не работает без ряда зависимостей
(кроме версии exoskeleton)
❖ И вообще он самый простой
СОВЕТИКИ
❖ Это миграция либо эмуляция native app?
❖ Вы джавист и не хотите знать CSS?
❖ Декларативность и простота?
❖ Обязателен ли responsive design?
❖ Важно ли быстрое прототипирование в
режиме WYSIWYG?
Спросите себя
Компоненты
❖ Готовые UI контроллеры для всего, что
вы только можете себе представить
❖ Темы как возможность кастомизации
❖ Абсолютная кроссбраузерность
❖ Шаблонизатор XTemplate
просто передаем JSON-конфиг в функцию-конструктор:
new myClass({config})
❖ Есть ряд готовых интерактивных директив,
но без UI
❖ Прекрасно интегрируется с любыми
бутстрапами
❖ Встроеный шаблонизатор
❖ AngularUI
❖ AngularUI Bootstrap
❖ Angular-Kendo
❖ Wijmo
Мы просто вставляем HTML-таг с кастомным аттрибутом
<div ng-click=”...”></div>
❖ Backbone Thorax
❖ Backbone Chaplin
❖ Backbone Marionette
❖ и другие
❖ Все богатство jQuery
❖ Восхитительный ReactJS
❖ Underscore templates
❖ Огромный выбор сторонних реализаций
для UI
Тут мы тоже просто расширяем базовый класс своим конфигом
СОВЕТИКИ
❖ Подойдет ли готовый набор Sencha
для ваших целей?
❖ Что дешевле: кастомизация
существующих или саппорт 3rd-party?
❖ Готова ли команда отказаться от
“настоящего программирования” в
пользу плясок с DOM?
Спросите себя
Экосистема
❖ Sencha CMD
❖ Sencha Packagers
❖ Для сборки: GruntJS
❖ Для установки компонентов и
зависимостей: Yeoman, Bower, Compy
Для дебага:
❖ Angular Batarang
❖ Для сборки: GruntJS
❖ Для установки компонентов и
зависимостей: Yeoman, Bower, Compy
Для дебага:
❖ Backbone Debugger
СОВЕТИКИ
❖ Нужен ли вам хоть и чей-то, но уже
готовый инструмент для сборки?
❖ Может быть у вас есть свой?
❖ Сможете ли вы сами настроить все
необходимое для данного проекта?
Спросите себя
Тестируемость
❖ Нет готового инструментика :(
❖ Siesta от Bryntum(коммерческая)
❖ Jasmine
❖ Travis + Mocha + Karma(стек от DeftJS)
❖ Все просто фантастически круто
❖ Mocha, Chai, Jasmine, QUnit...
❖ Для директив: $compile + jQuery
❖ Angular Protractor
❖ Karma test runner от той же команды
❖ Встроенных инструментов нет
❖ Отдельного специального фреймворка
тоже нет
❖ Зато можно взять любой
понравившийся!
СОВЕТИКИ
❖ Будет ли у вас автотестирование
вообще?
❖ Насколько важны встроенные
возможности?
❖ Легко ли писать на этом фреймворке
слабосвязаные компоненты?
Спросите себя
Сообщество и легкость в обращении
❖ Стоимость пакетной лицензии:
❖ Sencha touch - бесплатная с 2010!
❖ ExtJS - $329 за разработчика
❖ Отдельная плата за каждый продукт
❖ Свой форум для каждого вида лицензии
❖ Много платных тренингов и курсов
❖ Код в закрытом SVN репозитории
❖ API: очень подробный
❖ Высокий порог вхождения, сложные
компоненты
❖ Монструозное количество методов-на-
компонент(до 180)
❖ 19 135 звезд на гитхабе(15 891 было
25.10)
❖ 606 контрибьюторов(vs 467)
❖ 10 628 членов в G+ (vs 9 720)
❖ отличный набор видеоуроков на egghead.
io
❖ API: ужасное
❖ Низкий порог вхождения, но сложность
растет экспоненциально
❖ Довольно сложно разобраться в магии
❖ Очень любим американскими
кастомерами
❖ 16 781 звезд на гитхабе(vs 16 041)
❖ 207 контрибьюторов(vs 195)
❖ 1988 членов в G+ (vs 869)
❖ Огромное количество внятных
туториалов от Эдди Османи
❖ API: хорошее, и даже есть на русском
❖ Мало кто пишет на чистом BB,
прийдется учить еще фреймворки
❖ Низкий порог вхождения, все просто и
легко
СОВЕТИКИ
❖ Важна ли для вас открытость
фреймворка?
❖ Захочет ли клиент платить за
лицензии?
❖ Насколько легко обучить специалиста
и/или найти замену?
Спросите себя
ИТАК:
Интранет, CRM, ERP и все, где стабильность важнее гибкости. Серьезные приложения для серьезных парней.
Типовые формы, CRUD-приложения и все, где важно немедленное обновление содержания. Cutting edge во всей красе.
Любые стандартные и нестандартные приложения, где важна легкая расширяемость компонентов. Любители писать уникальные штуки — вам сюда.
Спасибо!
Поговорим?