Главная > AJAX, ExtJS Framework, Java - язык и технологии, веб-обзоры, Разное > ExtJS 2.1, превью-версия ExtJS 3.0, Ext GWT — у меня праздник, а у Вас?

ExtJS 2.1, превью-версия ExtJS 3.0, Ext GWT — у меня праздник, а у Вас?

24 апреля 2008

logo1.gifПриветствуем наших читателей. Сегодняшний материал у нас совершенно уникальный и очень ожидаемый. У нас несколько очень важных новостей, которыми я очень спешу с вами поделиться. И так, начнем по порядку.

Первое, что бросается в глаза - существенно обновлен официальный веб-сайт ExtJS, отличный редизайн, новые примеры. Он приурочен к другой новости, пока же скажу, что пользоваться стало существенно приятнее, не знаю как где, но там работают отличные дизайнеры!

Изменениям подверглась и лицензионная политика в отношении библиотеки и других разработок компании Ext LLC. Если раньше продукты были доступны под двумя лицензиями, одна из которых, открытая, была частично модифицированной и совместимой с LGPL, то теперь компания отказалась от собственной лицензии и перевела распространение продуктов под стандартную лицензию GPL v3. Я не берусь глубоко анализировать этот шаг и, в частности, его последствия, но все же, GPL v3 это прогрессивная лицензия, ее используют или планируют использовать ряд крупнейших проектов, она поддерживается фондами и за ней стоят годы труда квалифицированных юристов и просто общественность, поэтому такой шаг следует расценивать как положительный и всячески его приветствовать. Конечно же, вопрос об правомерности использования библиотеки в каждом конкретном случае следует решать индивидуально и по-разному, но от такого шага ExtJS никак не стал менее открытым или сложнее в использовании.

newlookwebsite.png

Ну, а теперь о самой важной и большой новости из мира 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.

layexplorer.png

Да, это дейстивительно очень существенное обновление и расширение возможностей, и пусть добавлено всего то несколько компонент, но добавлены именно самые интересные и востребованные возможности и компоненты, которые позволяют строить отличные, красивые и гибкие веб-приложения!

customdnd.png  slider.png

Нет, это еще не все. Следующая новость. В рамках компании 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 в действии и проектировать приложения, которые бы в полной мере раскрыли ее возможности!

  1. 24 апреля 2008 в 15:33 | #1

    Спасибо за обзор!

  2. 24 апреля 2008 в 19:57 | #2

    Отличный обзор, респект. Что касается REST, то, скорее всего, речь об этом — http://en.wikipedia.org/wiki/REST

  3. 24 апреля 2008 в 22:52 | #3

    да, вроде оно — когда я искал, как то не дошел до этого. спасибо!

  4. RIO
    25 апреля 2008 в 14:04 | #4

    Коллеги, а кто знает. Вот когда Ext-овская страничка документации грузится отображается картинка с надписью loading. Для этого тоже в Ext написаны какие-то классики или это ручками сделано?

  5. 25 апреля 2008 в 14:24 | #5

    RIO — я думаю, открыть код и посмотреть как там это реализовано, не займет у Вас больше, чем 3 — 5 минут времени. Заодно узнаете много нового и полезного с архитектуры Ext-а, в частости, познакомитесь с компонентом LoadingMask…

  6. RIO
    25 апреля 2008 в 14:38 | #6

    Понятно, спасибо.

  7. haspadar
    29 апреля 2008 в 12:51 | #7

    Интетесно, есть ли такая фича на других языках — не только на java. На php, в частности.

  8. 29 апреля 2008 в 13:10 | #8

    к Веселый: а причём здесь аплеты к GWT? библиотека GWT вообще не имеет серверной части кода (лишь интерфейсы для RPC вызовов). GWT — это JavaScript скомпилированный из Java.
    к Ирина: GWT и ExtJS ввобще разные проекты. просто умные ребята сделали обертку чтобы использовать из вместе. не понял про новые веяния к коде.
    к haspadar: какая именно фича ?

  9. 29 апреля 2008 в 13:17 | #9

    haspadar — есть, пробуют делать для РНР — вроде так и называется — PHP-Ext

  10. haspadar
    29 апреля 2008 в 13:55 | #10

    Вот это было бы более интересно (для меня:)). Откуда такая инфа — можешь поделиться? Следил бы… Спасибо

  11. 29 апреля 2008 в 14:05 | #11

    Вы, конечно, меня извините, но я порекомендую Вам использовать 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

  12. mdg
    30 апреля 2008 в 05:59 | #12

    камрады, не путайте GWT-Ext и Ext GWT (он же GXT)

    первый из них — это просто оболочка над стандартным ExtJS, делающая вызовы через JSNI, библиотеку писал один человек Sanjiv Jivan

    вторая — это native GWT решение, не использующее скрипты ExtJS, выросло из проекта MyGWT, если не ошибаюсь

    в чем преимущество GXT?
    во-первых, проект сейчас поддерживается командой разработчиков Ext, таким образом выход новых версий, багфиксы, поддержка все должно быть одновременно с ExtJS
    во-вторых, GWT компилятор не включает в результирующий js код неиспользуемые классы, таким образом вам не придется таскать за собой сотни килобайт кода ExtJS, а только то, чем вы реально пользуетесь. Библиотека, правда, пока в стадии беты и до выхода GWT 1.5 скорее всего релиза не предвидится

  13. haspadar
    30 апреля 2008 в 17:54 | #13

    Ого! Так у Ext-PHP уже релиз если что… — http://php-ext.quimera-solutions.com/

  14. 1 мая 2008 в 09:35 | #14

    haspadar — ага. только это пока не релиз, жаль, а вторая версия, 0.8.2, начали то с 0.8.1 🙂 но посмотреть поближе нужно, может интересное что-то

  15. emdin
    11 мая 2008 в 18:26 | #15

    > Grid Filtering — раньше это было пользовательское
    > расширение, теперь стандартно уже входит в возможности
    > грид-компонента

    Не входит, к сожалению. GridFilter остался расширением, просто теперь в комплект поставки включён пример его использования.

  16. 11 мая 2008 в 20:01 | #16

    emdin — гм, возможно, завтра уточню, может я поверхность посмотрел этот момент

  17. 21 мая 2008 в 12:28 | #17

    Действительно не плохо но зачем делать молоко если его дайот корова,етиг систем тьма тьмущая и лучшая на мой взгляд -гугл

  18. 22 мая 2008 в 09:55 | #18

    Дмитрий Ожегов — вы про что конкретно? или так просто, поболтать охота?

  19. hunterman
    30 июня 2008 в 20:44 | #19

    Вообще очень удобная вещь — но чесно говоря я думал что на этом сайте народ будет предлагать какието свои решения по поводу EXT JS но заметил что тут разводят больше демогогию. И кроме ляля — ничего существенного нет в отличии Британского сайта, и немецкого. Есть также много примеров реализованных людми например http://qwikioffice.com/desktop-demo/login.html
    много другово. Странно почему на русско язычном сайте так мало предложений. Я согласен что информировать людей нужно о том какие изменения происходят с этим Framework — но нужно и описывать его более детальнее. Grid Filtering — расширен более если внимательно почитать документацию. Кстати на форуме http://www.extjs.com сидит много русских ребят. Почему бы не обьедениться и предлагать какието решения. У меня уже есть целый проект со своими и другими решениями. Можно сделать форум и разделами. Не всем же людям понятно что к чему с первого раза — а потенциал у системы довольно таки расширен. Подумайте на эту тему

  20. 15 сентября 2008 в 10:23 | #20

    Сам пользуюсь Custom Drag & Drop…впринципе меня устраивает, пока не выйдет что-нибудь свежее буду продолжать пользоваться!

Комментирование отключено.