Frontendlab: Cравнить Несравнимое - Юлия Пучнина

Post on 17-May-2015

695 views 3 download

Tags:

Transcript of Frontendlab: Cравнить Несравнимое - Юлия Пучнина

Сравнить несравнимоеЮлияПучнина

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 во всей красе.

Любые стандартные и нестандартные приложения, где важна легкая расширяемость компонентов. Любители писать уникальные штуки — вам сюда.

Спасибо!

Поговорим?