stringtranslate.com

Экст JS

Ext JS — это платформа приложений JavaScript для создания интерактивных кроссплатформенных веб-приложений [2] с использованием таких методов, как сценарии Ajax , DHTML и DOM . Его можно использовать как простую структуру компонентов (например, для создания динамических сеток на статических страницах), но также и как полную структуру для создания одностраничных приложений (SPA).

Первоначально созданный Джеком Слокамом 15 апреля 2007 года как расширение дополнительной библиотеки [3] YUI , [4] Ext JS не имел зависимостей от внешних библиотек, начиная с версии 1.1 . [5] В настоящее время Ext JS можно использовать как в виде единого скрипта (со всеми классами и компонентами в одном файле), так и путем создания приложения с помощью Sencha Cmd.

Функции

Элементы управления графическим интерфейсом (компоненты)

Ext JS включает набор элементов управления формами на основе графического интерфейса (или « виджетов ») для использования в веб-приложениях:

Темы и наборы инструментов

Sencha также предоставляет несколько тем для стилизации компонентов. Для изменения темы требуется просто изменить CSS и сценарий темы. При использовании Sencha CMD может потребоваться пересборка приложения. [6]

Все компоненты должны работать с каждой темой, но их внешний вид изменится. Например, классическая тема имеет довольно мелкие элементы, не подходящие для сенсорных устройств. Neptune Touch имеет более крупные элементы, лучше подходящие для планшетов и телефонов.

Ext JS поставляется в двух вариантах: современный и классический набор инструментов. Они отличаются не только доступными темами, но и между ними есть некоторые различия в API. Поэтому мигрировать с одного набора инструментов на другой не так просто, как с темами. Есть планы сгладить некоторые различия между наборами инструментов в Ext JS 7.1, выход которого запланирован на 2019 год. [ требуется обновление ] [7]

Набор инструментов для программирования

Ext JS — это композиция классов, обладающая множеством возможностей. Некоторые примеры:

Система классов

Ext JS имеет собственную систему классов. [8] [9] Классы определяются с помощью Ext.define, а затем можно создать экземпляр с помощью Ext.create. Некоторые классы (например, компоненты и хранилища) могут иметь псевдонимы и могут быть созданы с помощью псевдонима. Экземпляры компонентов создаются автоматически при создании родительского компонента.

Класс может расширять как пользовательские, так и встроенные классы. Обычно пользовательские компоненты расширяют встроенные компоненты (например, MyApp.views.ProductsTableрасширяют встроенные компоненты Ext.grid.Panel). [10]

Существует встроенный динамический загрузчик, поэтому классы могут иметь динамические зависимости (загружаемые по требованию). В ExtJS есть два типа зависимостей. Зависимости, объявленные с помощью requiresсвойства, загружаются до создания экземпляра класса. Зависимости, определенные в usesсвойстве, могут быть загружены после создания экземпляра класса.

Также возможно переопределить классы. Даже встроенные классы. Переопределение встроенных классов может быть полезно, например, для обеспечения интернационализации [11] или создания исправлений. Переопределенный класс объединяется с новым объявлением. Каждый класс можно переопределить столько раз, сколько необходимо (например, предоставив i18n, а затем l10n).

История версий Ext JS

Расширенный JS 2.0

Версия Ext JS 2.0 была выпущена 4 декабря 2007 года. Эта версия рекламировалась как предоставляющая интерфейс и функции, более похожие на те, которые традиционно ассоциируются с настольными приложениями. Также были представлены новая пользовательская документация, документация по API и примеры. [12]

Ext JS 2.0 не обеспечивал обратной совместимости с версией 1.1. Для решения этой проблемы было разработано руководство по миграции. [13]

Экст JS 3.0

Версия Ext JS 3.0 была выпущена 6 июля 2009 года. В этой версии добавлена ​​поддержка связи для REST и новая серверная платформа Ext.Direct. К стандартным компонентам отображения были добавлены новые элементы флэш-диаграмм и ListView. Он был обратно совместим с кодом версии 2.0.

Расширенный JS 4.0

Версия 4.0 платформы Ext была выпущена 26 апреля 2011 года. Она включает в себя полностью переработанную структуру классов, [14] переработанный пакет данных, пакет анимации и рисования, использующий SVG и VML , [15] а также переработанные диаграммы и темы. Он также включает дополнительную архитектуру, которая обеспечивает стиль организации кода модель-представление-контроллер (MVC).

Расширенный JS 5.0

Версия 5.0 платформы Ext JS была выпущена 2 июня 2014 года. [16] Она включает в себя возможность создавать настольные приложения на сенсорных устройствах [17] — с использованием единой базы кода, архитектуры Model View ViewModel ( MVVM ), двусторонняя привязка данных, адаптивные макеты и другие обновления компонентов с поддержкой добавления виджетов внутри ячейки сетки для визуализации данных и анализа больших данных. [18] Ext JS 5 также включает в себя обновленный пакет диаграмм, оптимизированный для сенсорного управления, а также дополнительные возможности построения финансовых диаграмм.

Ext JS 5 поддерживает современные и устаревшие браузеры, включая Safari 6+, Firefox, IE8+, Chrome и Opera 12+. На мобильной платформе Ext JS 5 поддерживает Safari на iOS 6 и 7, Chrome на Android 4.1+ и устройства с сенсорным экраном Windows 8 (такие как Surface и ноутбуки с сенсорным экраном) под управлением IE10+.

Важно: в версии Ext JS 5 вы не можете купить лицензию менее чем для 5 разработчиков.

Расширенный JS 6.0

Версия 6.0 платформы Ext JS была выпущена 1 июля 2015 года. [19] Она объединяет инфраструктуру Sencha Touch (мобильную) с Ext JS. [20]

Расширенный JS 7.0

Версия 7.0 платформы Ext JS была выпущена 29 августа 2019 года. [21] В этой версии появилось несколько новых компонентов в Modern Toolkit. Классический инструментарий получил тему Material Design .

Сенча

15 июня 2010 г. было объявлено о слиянии Ext JS с JQTouch и Raphaël [22] с образованием новой организации под названием Sencha Inc. Ext JS по-прежнему доступен в качестве основного продукта на новом веб-сайте Sencha [23] вместе с Sencha. Touch , Sencha GWT (теперь Sencha GXT), Sencha Architect, Sencha Animator и Ext core.

23 августа 2017 года Sencha была приобретена компанией IDERA (которая, в свою очередь, владеет Embarcadero Technologies ). Embarcadero известна приобретением программного обеспечения для быстрой разработки приложений, такого как Delphi (который использует Object Pascal в качестве основного языка программирования). [24]

Плагин Sencha JetBrains

Плагин Sencha JetBrains — это инструмент интегрированной среды разработки, который объединяет Sencha Frameworks и программное обеспечение JetBrains. Эта интеграция осуществляется в форме завершения кода , проверки и предложения при одновременном взаимодействии с собственным поведением JetBrains.

Экст.NET

Ext.NET — это платформа компонентов ASP.NET , интегрирующая библиотеку Ext, [25] текущая версия (по состоянию на сентябрь 2017 г.) — 4.4, которая интегрирует ExtJS версии 6.5.1.

История лицензий

YUI-Ext был доступен по лицензии BSD . В апреле 2008 года лицензия с открытым исходным кодом , связанная с Ext, была изменена. В версии 2.0.2 авторы заявили, что Ext доступен по лицензии в стиле LGPL , если вы «планируете использовать Ext в личных, образовательных или некоммерческих целях» или «в проекте с открытым исходным кодом, который исключает использование не -программное обеспечение с открытым исходным кодом» или «используют Ext в коммерческом приложении, которое не является библиотекой или набором инструментов для разработки программного обеспечения». В Ext 2.1 этого уже не было. [26] Авторы Ext утверждают, что раздел 7 [27] LGPL в его формулировке не применялся к «условиям», которые требовала их лицензия до того, как распространение по LGPL было разрешено, в отличие от «дополнительных ограничений», которые допускал раздел 7. распределитель, который нужно удалить. [28]

20 апреля 2008 года Ext 2.1 был выпущен под новой структурой двойной лицензии, которая позволяла использовать либо полную лицензию GPL 3.0, либо проприетарную лицензию. [29]

Изменение лицензии с течением времени с разрешительной лицензии с открытым исходным кодом на ограничительную двойную лицензию вызвало разногласия в сообществе пользователей Ext. [30] [31] [32] [33]

Sencha опубликовала подробную информацию о своих коммерческих условиях и условиях лицензии GPL на своем веб-сайте. [34]

В ноябре 2018 года Sencha анонсировала выпуск Community Edition, который является бесплатным, но ограничен годовым доходом человека или компании, использующего ExtJS. [35] [36]

Смотрите также

Рекомендации

  1. ^ «Выпуск Ext JS 7.7» . Сенча.com . 22 июня 2023 г. Проверено 25 января 2024 г.
  2. ^ См. также: Богатое интернет-приложение.
  3. ^ «Десять вопросов автору YAHOO.ext Джеку Слокаму» . Проверено 11 августа 2015 г.
  4. ^ "@jackslocum #ExtJS 1.0 был выпущен 15 апреля 2007 года. С днем ​​рождения. @Sencha". Джек Слокам . Проверено 14 апреля 2013 г.
  5. ^ Начиная с версии 2.0, Ext JS работает с различными базовыми библиотеками или адаптерами. (например , YUI , jQuery , Prototype ), или он может работать автономно. Возможность работы с несколькими базовыми библиотеками была удалена в версии 4.0.
  6. ^ «Система тем | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
  7. ^ «Обновление дорожной карты продукта Sencha» . Сенча.com . 29.11.2017 . Проверено 11 июня 2018 г.
  8. ^ «Система классов | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
  9. ^ «Основы ООП | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
  10. ^ «Компоненты | Ext JS 6.5.3» . Документация Сенча . Проверено 10 июня 2018 г.
  11. ^ «Локализация | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
  12. ^ "Ext JS 4.0.7 - Документы Sencha" . Extjs.com . Проверено 19 ноября 2012 г.
  13. ^ [1] Архивировано 20 февраля 2008 г., в Wayback Machine.
  14. ^ «Обратный отсчет до Ext JS 4: динамическая загрузка и новая система классов | Блог» . Сенча. 19 января 2011 г. Проверено 19 ноября 2012 г.
  15. ^ «Обратный отсчет до Ext JS 4: Пакет данных | Блог» . Сенча. 21 января 2011 г. Проверено 19 ноября 2012 г.
  16. ^ «Анонс Sencha Ext JS 5 | Блог» . Сенча. 2014-06-02 . Проверено 16 июля 2014 г.
  17. ^ «Sencha Ext JS 5 объединяет разработку мобильных и настольных приложений» . электронная неделя. 14 июня 2014 г. Проверено 11 сентября 2014 г.
  18. ^ «Sencha Ext JS 5 оптимизирует и унифицирует» . Доктор Добб. 05.06.2014 . Проверено 11 сентября 2014 г.
  19. ^ «Примечания к выпуску EXT JS 6.0.2» . Проверено 6 января 2017 г.
  20. ^ «Sencha унифицирует среды разработки JavaScript» . Проверено 28 августа 2015 г.
  21. ^ «Примечания к выпуску EXT JS 7.0.0» . Проверено 9 июля 2019 г.
  22. ^ "Ext JS + jQTouch + Рафаэль = Сенча | Блог" . Сенча. 14 июня 2010 г. Проверено 19 ноября 2012 г.
  23. ^ «Лидирующая в отрасли платформа JavaScript для создания настольных веб-приложений | Sencha Ext JS | Продукты» . Сенча . Проверено 19 ноября 2012 г.
  24. Диамандопулос, Кибела (25 августа 2017 г.). «IDERA, Inc. приобретает Sencha для укрепления бизнеса по инструментам для разработчиков». sencha.com . Сенча, ООО . Проверено 12 сентября 2017 г.
  25. ^ «– Платформа компонентов ASP.NET (WebForm + MVC), интегрирующая библиотеку JavaScript Sencha Ext JS | Веб-компоненты ASP.NET для веб-форм и приложений MVC. Интегрирует платформу Sencha ExtJS». Экст.NET. 20 сентября 2011 г. Проверено 17 ноября 2012 г.
  26. ^ «Изменение лицензии?». Extjs.com . Проверено 6 мая 2022 г.
  27. ^ «Меньшая стандартная общественная лицензия GNU — версия 3, 29 июня 2007 г.» Gnu.org . Проверено 17 ноября 2012 г.
  28. ^ «Форумы Sencha, Изменение лицензии ExtJS» .
  29. ^ «Выпущены Ext JS 2.1 и Ext GWT 1.0, предварительная версия Ext JS 3.0 | Блог | Sencha» . Extjs.com. 22 апреля 2008 г. Проверено 19 ноября 2012 г.
  30. Понедельник, 28 апреля 2008 г., 15:08, Тим О'Брайен в «Мнении» (28 апреля 2008 г.). «Подделка лицензий поражает ExtJS и Java Service Wrapper: отчужденные сообщества - блог O'Reilly ONJava» . Oreillynet.com . Проверено 19 ноября 2012 г.{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  31. ^ Асай, Мэтт (25 февраля 2008 г.). «ExtJS: Когда открытый исходный код вообще не открыт | Открытая дорога — Новости CNET». News.cnet.com . Проверено 19 ноября 2012 г.
  32. ^ «Ext JS и удовольствие от лицензий с открытым исходным кодом» . Аяксиан. 26 апреля 2008 г. Проверено 19 ноября 2012 г.
  33. ^ «Назревающие споры вокруг EXTJS «Байт останавливается здесь» . Bytestopshere.com . Проверено 19 ноября 2012 г.
  34. ^ «Лицензирование Sencha | Веб-сайт | Sencha» . Сенча.com. 13 января 2011 г. Проверено 16 мая 2016 г.
  35. ^ «Анонсируем выпуск Sencha Ext Community Edition» . Сенча.com . 06.11.2018 . Проверено 6 декабря 2019 г.
  36. ^ "Ext JS Community Edition" . Сенча.com . 31 октября 2018 г. Проверено 6 декабря 2019 г.

Библиография

Внешние ссылки