Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

трое суток в раю или краткий дневник разработчика

СЕРЁГИН ВЛАДИМИР AKA PEKO

Спецвыпуск: Хакер, номер #073, стр. 073-064-4


<tpl:BottomMenu/>

</mx:VBox>

</mx:Application>

Собственно, это почти весь проект! Точно так же выглядело то, что мы пытались заставить работать с помощью дорогого навороченного аякс фрейм-ворка Bаckbase – три изнурительных месяца.

* <mx: … > пространство имен родных flex-компонентов

* <tpl: … > мое пространство имен под функциональные темплейты (xml’ки в папке tpl)

* <loc: … > мое пространство имен под структурные темплейты (xml’ки в папке loc)

Конечно, вещи вроде <tpl:AuthorizationForm /> тоже нужно описать, но они по объему зачастую меньше приведенного здесь отрывка.

На досуге (пока закипал чайник) зачитался документацией – чайник выкипел.

[сутки вторые – компоненты и CSS]

После двухчасового сна тело само подскочило и потянулось к клавиатуре реализовывать приснившиеся идеи. Приступил к клиент-сайд логике, попутно имитируя дизайн основного проекта (на стабильную кросс-браузерную верстку которого наш дизайнер убил полтора месяца жизни и килограммы драгоценных нервных клеток). Через 16 часов под аккомпанемент «VoodoPeople» был закончен последний «гламурный» виджет (всего их в проекте около десятка – кнопочки, окошки и прочая интерактивная GUI-ерунда со сложным и не очень поведением). Настало время цеплять реальные данные из базы. Но надо вздремнуть – мониторы слились в два мутных пятна.

[третьи сутки – экспоненциальная эйфория]

Начал с самого больного места aякса – таблиц.

- 10 записей - никаких проблем, все в порядке, с этим справляется даже aякс;

- 50 записей – (здесь Backbase издох) - никаких изменений в работе;

- 100 записей – не вижу разницы;

- 300 записей – ноль реакции, все в порядке;

- 1000 записей! – MySQL задумался на 1.5 секунды, возвращая запрос. В скорости работы - никаких изменений!

- Две таблицы по 3000 записей в каждой - задержка запроса 3 секунды, скроллбар сжался в черточку, в остальном - вообще не вижу разницы по сравнению с таблицей с 10 записями, сортировка работает практически мгновенно.

В шоке от контрастов, дышу свежим воздухом у форточки.

Отдышавшись, начинаю переписывать серверный API под flex, попутно выкидывая весь бэкбейсовский мусор. Наверное, со стороны я похож на изголодавшуюся пиранью, случайно оказавшуюся в аквариуме с золотыми рыбками - воздух вокруг кипит.

К утру третьих суток была готова полнофункциональная, идеально работающая флеш-версия проекта, включающая наброски запланированных, но таки и не реализованных в корневом проекте фич.

Осталась одна небольшая проблема – по ТЗ в этом проекте нет флеша, только аякс…

Курим…

[общие впечатления.]

Браузеры не готовы самостоятельно и в полном масштабе взять на себя задачи, решаемые при разработке RIA. И основная причина, на мой взгляд, в том, что на плечи JavaScript machine свалена непосильная нагрузка. Несмотря на то, что ходят слухи о выпуске Майкрософтом вместе с IE 7 новой ускоренной JSM ява скрипт, а, следовательно, Фреймворки, основанные на аяксе, подобны экскаваторам из фанеры, - красивы и эффектны, но только до первой траншеи.

Скорость встроенных в браузеры XML-парсеров также оставляет желать лучшего, даже обвешанные XPath, XSLT и прочими X-игрушками, своей неполной (и зачастую отличной в разных браузерах) реализацией они не сколько облегчают, сколько усложняют решение конкретной прикладной задачи.

Назад на стр. 073-064-3  Содержание  Вперед на стр. 073-064-5