ExtJS 2.1, превью-версия ExtJS 3.0, Ext GWT — у меня праздник, а у Вас?
Приветствуем наших читателей. Сегодняшний материал у нас совершенно уникальный и очень ожидаемый. У нас несколько очень важных новостей, которыми я очень спешу с вами поделиться. И так, начнем по порядку.
Первое, что бросается в глаза - существенно обновлен официальный веб-сайт ExtJS, отличный редизайн, новые примеры. Он приурочен к другой новости, пока же скажу, что пользоваться стало существенно приятнее, не знаю как где, но там работают отличные дизайнеры!
Изменениям подверглась и лицензионная политика в отношении библиотеки и других разработок компании Ext LLC. Если раньше продукты были доступны под двумя лицензиями, одна из которых, открытая, была частично модифицированной и совместимой с LGPL, то теперь компания отказалась от собственной лицензии и перевела распространение продуктов под стандартную лицензию GPL v3. Я не берусь глубоко анализировать этот шаг и, в частности, его последствия, но все же, GPL v3 это прогрессивная лицензия, ее используют или планируют использовать ряд крупнейших проектов, она поддерживается фондами и за ней стоят годы труда квалифицированных юристов и просто общественность, поэтому такой шаг следует расценивать как положительный и всячески его приветствовать. Конечно же, вопрос об правомерности использования библиотеки в каждом конкретном случае следует решать индивидуально и по-разному, но от такого шага ExtJS никак не стал менее открытым или сложнее в использовании.
Ну, а теперь о самой важной и большой новости из мира ExtJS. Наконец, после длительной работы вышла новая версия библиотеки, которая продолжает ветку 2.х, но это не просто обновление и устранения небольших недоработок, а следующий виток развития всей библиотеки. Давайте рассмотрим подробнее все нововведения.
- Полная поддержка REST-архитектуры (концепции). Этот момент как то мне сложно описать, если кто в комментариях раскроет тему, буду благодарен.
- Новые визуальные компоненты, расширяющие возможности для построения веб-приложений.
- Slider - самый желанный и ожидаемый компонент, который, по странному стечению обстоятельств, был реализован в других библиотеках виджетов, но в ExtJS появился только сейчас. Поддерживаются как вертикальные, так и горизонтальные слайдеры, кроме стандартного вида можно применить свое оформление через CSS, добавлять различного вида подсказки (динамические и заранее предопределенные). Перемещать слайдер можно как непрерывно, так и определенными шагами ( дискретно, хотя, по существу, конечно, любое перемещение дискретно, но думаю, с примеров видно, что под этим подразумевается).
- StatusBar - отличное дополнение к панелям или окнам, которое позволяет выводить различную служебную информацию в статусную строку окна - аналогичный элемент уже давно применяется в обычных приложениях (например, он очень функционален в традиционных приложениях из пакета MS Office). Теперь и в веб-приложениях можно выводить различную информацию о деятельности приложения, да и некоторые элементы управления также можно расположить в статусбаре, ведь он во многом аналогичен тулбару и поддерживает все допустимые элементы. Посмотреть на примеры реализации и использования компонента можно здесь.
- Grid Filtering - раньше это было пользовательское расширение, теперь стандартно уже входит в возможности грид-компонента, расширяя его почти к функциональности пакета Excel. Фильтровать значения в таблице можно исходя из трех условий - больше/меньше или равно вводимому значению. Теперь осталось дождаться возможности скриптинга в таблице при помощи либо встроенного макроязыка, либо на том же JS. Пример фильтров можно посмотреть здесь.
- Custom Drag & Drop - существенное расширение возможностей DnD, которое очень пригодится при создании мощных приложений, где часто требуется работа с данными и прозрачный обмен между окнами или просто частями приложения. Пример здесь.
- Все визуальные компоненты поддерживают специальное свойство, overCls, которое содержит стиль форматирования, применяемый к компоненту при наведении миши, при этом обычное состояние восстанавливается автоматически после перехода указателя на другой элемент. В частности, это применено на самом веб-сайте при разработке навигатора по примерам - и смотриться, скажу я вам, просто отлично!
- Расширена поддержка AJAX, в частности, теперь можно гибко управлять соединениями и добавлять вручную любые требуемые заголовки (HTTP Headers) к запросам, а сам компонент теперь не ограничен поддержкой только GET/POST запросов.
- Множественные обновления документации и примеров. Теперь документация распространяется и отдельно, в виде собранного AIR приложения и ее можно просматривать и работать с примерами без использования веб-сервера. Обновлены описания классов и компонентов, исправлены ошибки и неточности предыдущих версий. Из новых примеров я бы особенно выделил Layout Browser, который позволяет легко просмотреть все возможные компоновки и их возможности, а также пример совместного использования Grid-таблицы и формы,
- А также множество менее заметных, внутренних изменений, полный список которых доступен в Changelog.
Да, это дейстивительно очень существенное обновление и расширение возможностей, и пусть добавлено всего то несколько компонент, но добавлены именно самые интересные и востребованные возможности и компоненты, которые позволяют строить отличные, красивые и гибкие веб-приложения!
Нет, это еще не все. Следующая новость. В рамках компании Ext LLC теперь развивается еще один проект, Ext GWT, который представляет собой библеотеку на языке Java, которая использует популярный пакет Google Web Toolkit (GWT). Это решение позволяет разработчикам писать приложение на обычном для них Java, используя все среды разработки и другой инструментарий, привычный им, а код JavaScript, и соответственно, сам внешний вид приложения на ExtJS будет генерироваться полностью автоматически по java коду. Я сейчас затрудняюсь сказать, был ли раньше это открытый проект, который теперь перешел под крыло компании, или же он написан полностью с нуля, но уже есть и подобные аналоги на других языках - например, для .NET и даже РНР. Сам пакет Ext GWT также распространяется под двойной лицензией, и будет доступнен как коммерческое приложение (и как открытый код также), а пока доступна бета-версия для всех желающих попробовать технологию. Во это то, что, наконец, сподвигнет меня на изучение Java. Надеюсь. Лично я же считаю, что такой шаг позволит пробиться Ext-у в среду разработки корпоративных веб-приложений и успешно работать вместе с другими высокоуровневыми решениями, большинство из которых написано на Java.
И, наконец, последняя новость. Я все думал-гадал, что же будет после ветки 2.0, и напрашивался вывод, что следующим ключевым этапом будет, скорее всего, версия 3.0, а 2.х будет развиваться в сторону закрытия ошибок и частичного расширения функционала. И я оказался прав - разработка 3.0 ветки кода ведется и самые ранние версии уже доступны участникам в SVN-репозитарии (доступен по подписке), а всем желающим хоть глазом посмотреть на свое будущее доступны несколько примеров. В частости, показаны расширенные примеры построения интерфейсов и следующие компонеты: ListView для тех случаев, когда данные нужно показать в виде таблицы, но полная функциональность Grid-а все же избыточная, различные варианты кнопок с раскрывающимися дополнительными меню, а также создаваемые на их основе тулбары, очень-очень схожие с возможностями интерфейса современных приложений под MS Vista (в первую очередь, Office 2007), что не может не радовать, так как, несмотря на протесты некоторых пользователей, такой вариант интерфейса реально удобный и мощный. Кстати, несмотря на то, что показаны всего лишь примеры, я думаю, мне не стоит рассказывать, как уже сейчас получить у себя минимально небходимый пакет файлов ExtJS 3.0 и использовать его для эксперементов на своем приложении. Ведь вы знаете, как это сделать?
На этом я заканчиваю свой обзор, надеюсь вам было интересно. Ну а я побежал испытывать новые возможности ExtJS в действии и проектировать приложения, которые бы в полной мере раскрыли ее возможности!
Спасибо за обзор!
Отличный обзор, респект. Что касается REST, то, скорее всего, речь об этом — http://en.wikipedia.org/wiki/REST
да, вроде оно — когда я искал, как то не дошел до этого. спасибо!
Коллеги, а кто знает. Вот когда Ext-овская страничка документации грузится отображается картинка с надписью loading. Для этого тоже в Ext написаны какие-то классики или это ручками сделано?
RIO — я думаю, открыть код и посмотреть как там это реализовано, не займет у Вас больше, чем 3 — 5 минут времени. Заодно узнаете много нового и полезного с архитектуры Ext-а, в частости, познакомитесь с компонентом LoadingMask…
Понятно, спасибо.
Интетесно, есть ли такая фича на других языках — не только на java. На php, в частности.
к Веселый: а причём здесь аплеты к GWT? библиотека GWT вообще не имеет серверной части кода (лишь интерфейсы для RPC вызовов). GWT — это JavaScript скомпилированный из Java.
к Ирина: GWT и ExtJS ввобще разные проекты. просто умные ребята сделали обертку чтобы использовать из вместе. не понял про новые веяния к коде.
к haspadar: какая именно фича ?
haspadar — есть, пробуют делать для РНР — вроде так и называется — PHP-Ext
Вот это было бы более интересно (для меня:)). Откуда такая инфа — можешь поделиться? Следил бы… Спасибо
Вы, конечно, меня извините, но я порекомендую Вам использовать Google — поверьте, нет ничего проще, чем получить ответ на любой вопрос (ну почти) там, при минимуме усилий.
А вот здесь ответ на ваш: http://www.google.com/search?q=PHP Ext&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a
камрады, не путайте GWT-Ext и Ext GWT (он же GXT)
первый из них — это просто оболочка над стандартным ExtJS, делающая вызовы через JSNI, библиотеку писал один человек Sanjiv Jivan
вторая — это native GWT решение, не использующее скрипты ExtJS, выросло из проекта MyGWT, если не ошибаюсь
в чем преимущество GXT?
во-первых, проект сейчас поддерживается командой разработчиков Ext, таким образом выход новых версий, багфиксы, поддержка все должно быть одновременно с ExtJS
во-вторых, GWT компилятор не включает в результирующий js код неиспользуемые классы, таким образом вам не придется таскать за собой сотни килобайт кода ExtJS, а только то, чем вы реально пользуетесь. Библиотека, правда, пока в стадии беты и до выхода GWT 1.5 скорее всего релиза не предвидится
Ого! Так у Ext-PHP уже релиз если что… — http://php-ext.quimera-solutions.com/
haspadar — ага. только это пока не релиз, жаль, а вторая версия, 0.8.2, начали то с 0.8.1 🙂 но посмотреть поближе нужно, может интересное что-то
> Grid Filtering — раньше это было пользовательское
> расширение, теперь стандартно уже входит в возможности
> грид-компонента
Не входит, к сожалению. GridFilter остался расширением, просто теперь в комплект поставки включён пример его использования.
emdin — гм, возможно, завтра уточню, может я поверхность посмотрел этот момент
Действительно не плохо но зачем делать молоко если его дайот корова,етиг систем тьма тьмущая и лучшая на мой взгляд -гугл
Дмитрий Ожегов — вы про что конкретно? или так просто, поболтать охота?
Вообще очень удобная вещь — но чесно говоря я думал что на этом сайте народ будет предлагать какието свои решения по поводу EXT JS но заметил что тут разводят больше демогогию. И кроме ляля — ничего существенного нет в отличии Британского сайта, и немецкого. Есть также много примеров реализованных людми например http://qwikioffice.com/desktop-demo/login.html
много другово. Странно почему на русско язычном сайте так мало предложений. Я согласен что информировать людей нужно о том какие изменения происходят с этим Framework — но нужно и описывать его более детальнее. Grid Filtering — расширен более если внимательно почитать документацию. Кстати на форуме http://www.extjs.com сидит много русских ребят. Почему бы не обьедениться и предлагать какието решения. У меня уже есть целый проект со своими и другими решениями. Можно сделать форум и разделами. Не всем же людям понятно что к чему с первого раза — а потенциал у системы довольно таки расширен. Подумайте на эту тему
Сам пользуюсь Custom Drag & Drop…впринципе меня устраивает, пока не выйдет что-нибудь свежее буду продолжать пользоваться!