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

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

Embed Size (px)

Citation preview

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

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

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

kira__kit

yulia.puchnina

probably-kira

Юлия Пучнина

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

Мы рассмотрим:

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

Мы рассмотрим:❖ Обзор архитектурных особенностей

❖ Создание компонентов

❖ Экосистема

❖ Возможности для тестирования

❖ Сообщество, лицензирование и все-все

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

Особенности архитектуры

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

Sencha Touch

ExtJs

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

ЭТО ЭНТЕРПРАЙЗ

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

Умеет прямо из коробки:❖ настоящее ООПэ

❖ Классический MVC

❖ и еще AJAX, и REST, и JSONP, и SOAP…

❖ Компоненты на любой вкус!

❖ офигенная работа с данными

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

Не умеет:❖ Promises/deferred

❖ Двухсторонний биндинг

❖ Dependency injection реализован криво

..но DeftJS спасет отца русской демократии!

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

Также предоставляет:❖ Sencha Architect

❖ Sencha Eclipse Plugin

❖ Sencha Mobile and Desktop Application

Packagers

❖ Sencha CMD

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

это модный тренд

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

Умеет прямо из коробки:❖ Двухсторонний биндинг

❖ Очень гибкий MV - ЧоСможетеПостроить

❖ Dependency injections

❖ Promises/Deferred

❖ и тоже и AJAX, и REST, и JSONP

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

Не умеет:❖ Отделять логику от представления

❖ Нет готовых интерфейсных решений

❖ Нет классического механизма

наследования

❖ Нет жестко заложеной архитектуры

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

это минимализм

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

Умеет прямо из коробки:❖ Хороший односторонний биндинг

❖ Очень гибкий MV - ЧоСможетеПостроить

❖ Хорошая работа с данными в модели

❖ Слушает события и реагирует на них

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

Не умеет:❖ Нет готовых интерфейсных решений

❖ Нет жестко заложеной архитектуры

❖ Не работает без ряда зависимостей

(кроме версии exoskeleton)

❖ И вообще он самый простой

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

СОВЕТИКИ

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

❖ Это миграция либо эмуляция native app?

❖ Вы джавист и не хотите знать CSS?

❖ Декларативность и простота?

❖ Обязателен ли responsive design?

❖ Важно ли быстрое прототипирование в

режиме WYSIWYG?

Спросите себя

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

Компоненты

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

❖ Готовые UI контроллеры для всего, что

вы только можете себе представить

❖ Темы как возможность кастомизации

❖ Абсолютная кроссбраузерность

❖ Шаблонизатор XTemplate

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

просто передаем JSON-конфиг в функцию-конструктор:

new myClass({config})

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

❖ Есть ряд готовых интерактивных директив,

но без UI

❖ Прекрасно интегрируется с любыми

бутстрапами

❖ Встроеный шаблонизатор

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

❖ AngularUI

❖ AngularUI Bootstrap

❖ Angular-Kendo

❖ Wijmo

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

Мы просто вставляем HTML-таг с кастомным аттрибутом

<div ng-click=”...”></div>

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

❖ Backbone Thorax

❖ Backbone Chaplin

❖ Backbone Marionette

❖ и другие

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

❖ Все богатство jQuery

❖ Восхитительный ReactJS

❖ Underscore templates

❖ Огромный выбор сторонних реализаций

для UI

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

Тут мы тоже просто расширяем базовый класс своим конфигом

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

СОВЕТИКИ

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

❖ Подойдет ли готовый набор Sencha

для ваших целей?

❖ Что дешевле: кастомизация

существующих или саппорт 3rd-party?

❖ Готова ли команда отказаться от

“настоящего программирования” в

пользу плясок с DOM?

Спросите себя

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

Экосистема

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

❖ Sencha CMD

❖ Sencha Packagers

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

❖ Для сборки: GruntJS

❖ Для установки компонентов и

зависимостей: Yeoman, Bower, Compy

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

Для дебага:

❖ Angular Batarang

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

❖ Для сборки: GruntJS

❖ Для установки компонентов и

зависимостей: Yeoman, Bower, Compy

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

Для дебага:

❖ Backbone Debugger

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

СОВЕТИКИ

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

❖ Нужен ли вам хоть и чей-то, но уже

готовый инструмент для сборки?

❖ Может быть у вас есть свой?

❖ Сможете ли вы сами настроить все

необходимое для данного проекта?

Спросите себя

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

Тестируемость

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

❖ Нет готового инструментика :(

❖ Siesta от Bryntum(коммерческая)

❖ Jasmine

❖ Travis + Mocha + Karma(стек от DeftJS)

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

❖ Все просто фантастически круто

❖ Mocha, Chai, Jasmine, QUnit...

❖ Для директив: $compile + jQuery

❖ Angular Protractor

❖ Karma test runner от той же команды

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

❖ Встроенных инструментов нет

❖ Отдельного специального фреймворка

тоже нет

❖ Зато можно взять любой

понравившийся!

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

СОВЕТИКИ

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

❖ Будет ли у вас автотестирование

вообще?

❖ Насколько важны встроенные

возможности?

❖ Легко ли писать на этом фреймворке

слабосвязаные компоненты?

Спросите себя

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

Сообщество и легкость в обращении

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

❖ Стоимость пакетной лицензии:

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

❖ Sencha touch - бесплатная с 2010!

❖ ExtJS - $329 за разработчика

❖ Отдельная плата за каждый продукт

❖ Свой форум для каждого вида лицензии

❖ Много платных тренингов и курсов

❖ Код в закрытом SVN репозитории

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

❖ API: очень подробный

❖ Высокий порог вхождения, сложные

компоненты

❖ Монструозное количество методов-на-

компонент(до 180)

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

❖ 19 135 звезд на гитхабе(15 891 было

25.10)

❖ 606 контрибьюторов(vs 467)

❖ 10 628 членов в G+ (vs 9 720)

❖ отличный набор видеоуроков на egghead.

io

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

❖ API: ужасное

❖ Низкий порог вхождения, но сложность

растет экспоненциально

❖ Довольно сложно разобраться в магии

❖ Очень любим американскими

кастомерами

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

❖ 16 781 звезд на гитхабе(vs 16 041)

❖ 207 контрибьюторов(vs 195)

❖ 1988 членов в G+ (vs 869)

❖ Огромное количество внятных

туториалов от Эдди Османи

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

❖ API: хорошее, и даже есть на русском

❖ Мало кто пишет на чистом BB,

прийдется учить еще фреймворки

❖ Низкий порог вхождения, все просто и

легко

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

СОВЕТИКИ

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

❖ Важна ли для вас открытость

фреймворка?

❖ Захочет ли клиент платить за

лицензии?

❖ Насколько легко обучить специалиста

и/или найти замену?

Спросите себя

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

ИТАК:

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

Интранет, CRM, ERP и все, где стабильность важнее гибкости. Серьезные приложения для серьезных парней.

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

Типовые формы, CRUD-приложения и все, где важно немедленное обновление содержания. Cutting edge во всей красе.

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

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

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

Спасибо!

Поговорим?