В этом и нескольких следующих постах опишу свое знакомство с Yahoo User Interface Library. Штука это, прямо скажу, замечательная, так как с недавних пор (после знакомства с ExtJS) меня радует все, что хорошо справляется со своими возможностями, но не тянет за собой ничего лишнего. Последнюю часть предыдущего предложения пожалуй опишу по подробней.
- ExtJS - классный фремворк для создания Интранет приложений.
Почему? Представьте, что грид. или форма, используют большие массивы данных (в гридах примеры не нужны, в формах - список стран, городов и пр.). Представьте, теперь, что Вы, чтоб это дело не тормозило, сделали динамическую подгрузку данных с сервера. Ура, вроде проблема решена, но известный факт что javascript машины в разных браузерах работают по разному.
Например, стал свидетелем того, как мой layout из 3 колонок с вложенным в него деревом, гридом и панелью картинок (но помню как точно называется компонент) грузился в опере за 3-7 секунд в фоксе (из за известного повисания в начале перегрузки страницы) 10-15, а в safari - рекрдные 30-40, причем бэнчмарк для этих браузеров дали такие результаты:
firefox 2.0.0.14 - 25172.2ms +/- 2.3%
Safari 3.1.1 - 6174.0ms +/- 7.1%
Ещё интересный материал по теме http://celtickane.com/webdesign/jsspeed2007.php, результаты которых подходят по смыслу больше (сравнивается работа с массивами), но парадокса все равно не объясняют.
- Если убрать из ExtJS стили он поплывет - спорное предположение, но не без основательное. Придумывать свои стили для ExtJS - сложная, рутинная работа.
- ExtJS очень плохо описан - факт, если сравнивать с yahoo ui, например. Ничего тут удивительного нет, консультации и поддержка - основная статья доходов создателей фреймворка.
Вывод: ExtJS - один хороший фреймворк можно было бы разделить на два отличных (javascript и стили), но тогда, видимо, было б сложней продавать поддержку - ведь все стало б быстрей и проще :). ExtJS рано или поздно выйдет на Enterprise уровень, где ему и место и станет библиотекой для Visual Studio и пр. монстров. И попытки ограничть круг использующих ExtJS просто ради забавы уже сейчас видны - 2.1 версия под новой лицензией.
YUI, на первый взгляд, этими вещами не страдает. Наоборот, есть хорошая и очень подробная документация с примерами. По каждому примеру Вас ведут за ручкуу на хорошем английском :(.
Есть даже блог разработчиков в котором публикуют новости из мира yui. Там например, я узнал, что есть сниппет для django использующий YUI Loader как Django Middleware - AJAX, блин, полный.
Главное, что меня привлекает в YUI - возможность наряду с javascript'овыми извращениями сохранять RESTful подход к созданию веб-приложений, оставлять лазейку, в случае если отключен javascript, картинки. Хотя это параноя.
2 комментария:
Ага, попробуйте сделать на YUI сложный layout c вложенными панелями/окнами с втоматическим конролем размеров, причем чтоб это было просто конфигурируемо. У вас все поплывет уже на первых этапах. А в ExtJS все на ура. Дефолтовая документация там супер, нормальный форум, хороший код. Я забросил остальные либы.
Ну дак и BSD против коммерческой.
Кстати, про поплывет - это ерунда. Вы пробовали YUI, или Вы просто ярый фанат ExtJS?
По мне дак грид компонент в YUI самый-самый, но сравнивать его с ExtJS, все равно, что сравнивать по скорости серенькую BMW 650 и красненькую BMW 650 - имхо глупо.
ExtJS ногами растет из YUI, беззастенчиво использует основу YUI и развивается под авторством людей работающих над YUI, но бесплатен, а потому всегда будет хуже.
Отправить комментарий