Как Мы Делали Гуяпоучительная история о том как мы 2,5 раза переписали
наш веб-интерфейс на ExtJS и не сошли с ума
Алексей ГуськовАреал
● продукт для автоматизации работы сисадминов● контроль трафика, почта, телефония, вот это всё● 10 лет разработки● 300+ функций● много боли и страданий
2
3
4
Надо всё переписать!
5
шаблоны
Java
jquery
да чо, давайте сами движок напишем
C#
нативное быстрее инфа 100%
хватит думать пошли пиво пить
PHP
Flash и экшон скрипт жы
ExtJS
6
Первые попытки
7
+ = ?
Ёж Уж
8
Нужно немного допилить
9
Нужно немного допилить
10
Нужно немного допилить
11
Нужно немного допилить
12
Понеслась!
13
ListView
14
TreeView
15
Суперкомбо
16
Надстройка над моделью, которая знает, как объект рендерится и что с ним можно сделать● локаль● выключабельность● иконки● вот это вот всё
icon: /icons/user.pngdesc: Пользовательdocs: /users/
Врапперы
17
type: Username: Димаlogin: Nagibator9000role: admin
Нужно больше компонентов!
18
Кнопка аплоада
19
Графики
20
Объединялка файлов
21
Прогрессбары
● делаются через фоновые HTTP-запросы● глючат и тормозят
22
Вебсокеты жы!!!11
● sockjs● свой прокси-сервер на nodejs● бонус: отладка через debug()
23
Всё хорошо!
24
25
Всё плохо =(
Надо всё переписать!
26
Совместимость курильщика
27
● Меняется API● Меняются принципы работы● Меняется вёрстка и CSS
find . -name ‘*.js’ | xargs sed -i s/isVisible/isHidden/
Переписали
28
Где мы сейчас?
29
Мораль
30
● ExtJS - торт● мощный● навороченный● не слишком сложный
Мораль
31
● Java головного мозга● плохая
совместимость● бажки● тормоза
Наши косяки
32
● нет review● нет опыта● всё переписать - плохая
плохая плохая плохая плохая плохая плохая плохая плохая плохая идея
Наши косяки
33
● нет review● нет опыта● всё переписать - плохая
плохая плохая плохая плохая плохая плохая плохая плохая плохая идея
Наши косяки
34
● нет review● нет опыта
●всё переписать - плохая плохая плохая плохая плохая плохая плохая плохая плохая плохая идея
35
плохая идея
Такие дела
36
Top Related