stringtranslate.com

Расширение JS

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

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

Функции

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

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

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

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

Все компоненты должны работать с каждой темой, но их внешний вид и ощущения изменятся. Например, тема Classic имеет довольно мелкие элементы, не подходящие для сенсорных устройств. Тема 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. Новые элементы flash charting и ListView были добавлены к стандартным компонентам отображения. Она была обратно совместима с кодом версии 2.0.

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

Версия 4.0 фреймворка Ext была выпущена 26 апреля 2011 года. Она включает в себя полностью переработанную структуру классов, [14] переработанный пакет данных, пакет анимации и рисования, который использует SVG и VML , [15] и переработанные диаграммы и темы. Она также включает в себя дополнительную архитектуру, которая обеспечивает стиль организации кода model–view–controller (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. Classic 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]

плагин Сенча JetBrains

Плагин JetBrains от Sencha — это интегрированный инструмент среды разработки, который создает слияние между 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.8 прибыл". Sencha.com . 21 мая 2024 . Получено 21 мая 2024 .
  2. ^ См. также, Rich Internet Application
  3. ^ "Десять вопросов автору YAHOO.ext Джеку Слокуму". Архивировано из оригинала 2015-09-13 . Получено 2015-08-11 .
  4. ^ "@jackslocum #ExtJS 1.0 был выпущен 15 апреля 2007 года. С днем ​​рождения. @Sencha". Джек Слокум . Получено 14.04.2013 .
  5. ^ Начиная с версии 2.0, Ext JS работает с различными базовыми библиотеками или адаптерами. (например, YUI , jQuery , Prototype ), или может работать автономно. Возможность работы с несколькими базовыми библиотеками была удалена в версии 4.0.
  6. ^ "Система тем | Ext JS 6.5.3". Документация Sencha . Получено 2018-06-11 .
  7. ^ "Обновление дорожной карты продукта Sencha". Sencha.com . 2017-11-29 . Получено 2018-06-11 .
  8. ^ "Система классов | Ext JS 6.5.3". Документация Sencha . Получено 2018-06-11 .
  9. ^ "Основы ООП | Ext JS 6.5.3". Документация Sencha . Получено 2018-06-11 .
  10. ^ "Компоненты | Ext JS 6.5.3". Документация Sencha . Получено 2018-06-10 .
  11. ^ "Локализация | Ext JS 6.5.3". Документация Sencha . Получено 2018-06-11 .
  12. ^ "Ext JS 4.0.7 - Документы Sencha" . Extjs.com . Проверено 19 ноября 2012 г.
  13. ^ [1] Архивировано 20 февраля 2008 г. на Wayback Machine.
  14. ^ "Обратный отсчет до Ext JS 4: динамическая загрузка и новая система классов | Блог". Sencha. 2011-01-19 . Получено 2012-11-19 .
  15. ^ "Обратный отсчет до Ext JS 4: Пакет данных | Блог". Sencha. 2011-01-21 . Получено 2012-11-19 .
  16. ^ "Анонс Sencha Ext JS 5 | Блог". Sencha. 2014-06-02 . Получено 2014-07-16 .
  17. ^ "Sencha Ext JS 5 объединяет разработку мобильных и настольных приложений". eWeek. 2014-06-14 . Получено 2014-09-11 .
  18. ^ "Sencha Ext JS 5 Streamlines and Unifies". Dr. Dobb's. 2014-06-05 . Получено 2014-09-11 .
  19. ^ "Release Notes for EXT JS 6.0.2" . Получено 6 января 2017 г. .
  20. ^ "Sencha объединяет фреймворки разработки JavaScript" . Получено 28 августа 2015 г.
  21. ^ "Release Notes for EXT JS 7.0.0" . Получено 9 июля 2019 г. .
  22. ^ "Ext JS + jQTouch + Рафаэль = Сенча | Блог" . Сенча. 14 июня 2010 г. Проверено 19 ноября 2012 г.
  23. ^ "Ведущий в отрасли JavaScript-фреймворк для создания настольных веб-приложений | Sencha Ext JS | Продукты". Sencha . Получено 2012-11-19 .
  24. ^ Диамандопулос, Кибела (25 августа 2017 г.). «IDERA, Inc. приобретает Sencha для укрепления бизнеса инструментов для разработчиков». sencha.com . Sencha, Inc . Получено 12 сентября 2017 г. .
  25. ^ "– Компонентный каркас ASP.NET (WebForm + MVC), интегрирующий библиотеку JavaScript Sencha Ext JS | Веб-компоненты ASP.NET для веб-форм и приложений MVC. Интегрирует каркас Sencha ExtJS". Ext.NET. 2011-09-20 . Получено 17.11.2012 .
  26. ^ "Изменение лицензии?". Extjs.com . Получено 2022-05-06 .
  27. ^ "GNU Lesser General Public License - Версия 3, 29 июня 2007 г.". Gnu.org . Получено 2012-11-17 .
  28. ^ «Форумы Sencha, изменение лицензии ExtJS».
  29. ^ "Ext JS 2.1 и Ext GWT 1.0 выпущены, предварительная версия Ext JS 3.0 | Блог | Sencha". Extjs.com. 2008-04-22 . Получено 2012-11-19 .
  30. Понедельник 28 апреля 2008 г. 15:08 Тим О'Брайен в Мнении (28.04.2008). "Поддельная лицензия бьет по ExtJS и Java Service Wrapper: сообщества отчуждены - блог O'Reilly ONJava". Oreillynet.com . Получено 19.11.2012 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  31. ^ Асэй, Мэтт (25.02.2008). "ExtJS: Когда открытый исходный код вообще не открыт | The Open Road - CNET News". News.cnet.com . Получено 19.11.2012 .
  32. ^ "Ext JS и развлечения с лицензиями Open Source". Ajaxian. 2008-04-26 . Получено 2012-11-19 .
  33. ^ "Назревающие противоречия вокруг EXTJS «Байт останавливается здесь». Bytestopshere.com . Получено 19.11.2012 .
  34. ^ "Лицензирование Sencha | Веб-сайт | Sencha". Sencha.com. 2011-01-13 . Получено 2016-05-16 .
  35. ^ "Анонс Sencha Ext Community Edition". Sencha.com . 2018-11-06 . Получено 2019-12-06 .
  36. ^ "Ext JS Community Edition". Sencha.com . 2018-10-31 . Получено 2019-12-06 .

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

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