Экст JS
Первоначальный выпуск | 8 января 2007 г |
---|---|
Стабильная версия | 7.8.0
/ 21 мая 2024 г. [ 1 ] |
Тип | библиотека JavaScript |
Лицензия | Собственный |
Веб-сайт | www |
Ext JS — это JavaScript платформа приложений для создания интерактивных кроссплатформенных веб-приложений. [ 2 ] используя такие методы, как сценарии Ajax , DHTML и DOM . Его можно использовать как простую структуру компонентов (например, для создания динамических сеток на статических страницах), но также и как полную структуру для создания одностраничных приложений (SPA).
Первоначально создан как расширение дополнительной библиотеки. [ 3 ] YUI Джека Слокама , 15 апреля 2007 г., [ 4 ] Ext JS не имеет зависимости от внешних библиотек, начиная с версии 1.1. [ 5 ] В настоящее время Ext JS можно использовать как в виде единого скрипта (со всеми классами и компонентами в одном файле), так и путем создания приложения с помощью Sencha Cmd.
Функции
[ редактировать ]Элементы управления графическим интерфейсом (компоненты)
[ редактировать ]Ext JS включает набор элементов управления формами на основе графического интерфейса (или « виджетов ») для использования в веб-приложениях:
- текстовое поле и элементы управления вводом текстовой области
- поля даты со всплывающим окном выбора даты
- числовые поля
- список и поля со списком
- радио и флажком управление
- элемент управления HTML-редактором
- управление сеткой (с режимами только для чтения и редактирования, сортировкой данных, блокируемыми и перетаскиваемыми столбцами и множеством других функций)
- контроль деревьев
- вкладок панели
- панели инструментов
- меню в стиле настольных приложений
- панели регионов, позволяющие разделить форму на несколько подразделов
- ползунки
- векторная графика диаграммы
Темы и наборы инструментов
[ редактировать ]Sencha также предоставляет несколько тем для стилизации компонентов. Для изменения темы требуется просто изменить CSS и сценарий темы. При использовании Sencha CMD может потребоваться пересборка приложения. [ 6 ]
Все компоненты должны работать с каждой темой, но их внешний вид изменится. Например, классическая тема имеет довольно мелкие элементы, не подходящие для сенсорных устройств. Neptune Touch имеет более крупные элементы, лучше подходящие для планшетов и телефонов.
Ext JS поставляется в двух вариантах: современный и классический набор инструментов. Они отличаются не только доступными темами, но и между ними есть некоторые различия в API. Поэтому мигрировать с одного набора инструментов на другой не так просто, как с темами. Есть планы сгладить некоторые различия между наборами инструментов в Ext JS 7.1, выход которого запланирован на 2019 год. [ нужно обновить ] [ 7 ]
Набор инструментов для программирования
[ редактировать ]Ext JS — это композиция классов, обладающая множеством возможностей. Несколько примеров:
- абстрактный уровень для браузеров (например,
Ext.isArray
который можно использовать в качестве заменыArray.isArray
) - государственное управление (магазины)
- уровень связи с сервером (прокси и
Ext.Ajax.request
) - планировка и управление окнами
- управление событиями (с упрощенным созданием пользовательских событий для пользовательских компонентов)
- маршрутизация
Система классов
[ редактировать ]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.
Ext.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 ]
См. также
[ редактировать ]- Сравнение фреймворков JavaScript
- Сравнение библиотек диаграмм JavaScript
- Фреймворк JavaScript
- библиотека JavaScript
Ссылки
[ редактировать ]- ^ «Ext JS 7.8 прибыл» . Сенча.com . 21 мая 2024 г. Проверено 21 мая 2024 г.
- ^ См. также: Богатое интернет-приложение.
- ^ «Десять вопросов автору YAHOO.ext Джеку Слокаму» . Архивировано из оригинала 13 сентября 2015 г. Проверено 11 августа 2015 г.
- ^ «@jackslocum #ExtJS 1.0 был выпущен 15 апреля 2007 года. С днем рождения. @Sencha» . Джек Слокам . Проверено 14 апреля 2013 г.
- ^ Начиная с версии 2.0, Ext JS работает с различными базовыми библиотеками или адаптерами. (например, YUI , jQuery , Prototype ), или он может работать автономно . Возможность работы с несколькими базовыми библиотеками была удалена в версии 4.0.
- ^ «Система тем | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
- ^ «Обновление дорожной карты продукта Sencha» . Сенча.com . 29.11.2017 . Проверено 11 июня 2018 г.
- ^ «Система классов | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
- ^ «Основы ООП | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
- ^ «Компоненты | Ext JS 6.5.3» . Документация Сенча . Проверено 10 июня 2018 г.
- ^ «Локализация | Ext JS 6.5.3» . Документация Сенча . Проверено 11 июня 2018 г.
- ^ «Ext JS 4.0.7 — Документы Sencha» . Extjs.com . Проверено 19 ноября 2012 г.
- ^ [1] Архивировано 20 февраля 2008 г., в Wayback Machine.
- ^ «Обратный отсчет до Ext JS 4: динамическая загрузка и новая система классов | Блог» . Сенча. 19 января 2011 г. Проверено 19 ноября 2012 г.
- ^ «Обратный отсчет до Ext JS 4: Пакет данных | Блог» . Сенча. 21 января 2011 г. Проверено 19 ноября 2012 г.
- ^ «Анонс Sencha Ext JS 5 | Блог» . Сенча. 2014-06-02 . Проверено 16 июля 2014 г.
- ^ «Sencha Ext JS 5 объединяет разработку мобильных и настольных приложений» . электронная неделя. 14 июня 2014 г. Проверено 11 сентября 2014 г.
- ^ «Sencha Ext JS 5 оптимизирует и унифицирует» . Доктор Добб. 05.06.2014 . Проверено 11 сентября 2014 г.
- ^ «Примечания к выпуску EXT JS 6.0.2» . Проверено 6 января 2017 г.
- ^ «Sencha унифицирует среды разработки JavaScript» . Проверено 28 августа 2015 г.
- ^ «Примечания к выпуску EXT JS 7.0.0» . Проверено 9 июля 2019 г.
- ^ «Ext JS + jQTouch + Рафаэль = Сенча | Блог» . Сенча. 14 июня 2010 г. Проверено 19 ноября 2012 г.
- ^ «Лидирующая в отрасли платформа JavaScript для создания настольных веб-приложений | Sencha Ext JS | Продукты» . Сенча . Проверено 19 ноября 2012 г.
- ^ Диамандопулос, Кибела (25 августа 2017 г.). «IDERA, Inc. приобретает Sencha для укрепления бизнеса по инструментам для разработчиков» . sencha.com . Сенча, ООО . Проверено 12 сентября 2017 г.
- ^ «– Платформа компонентов ASP.NET (WebForm + MVC), интегрирующая библиотеку JavaScript Sencha Ext JS | Веб-компоненты ASP.NET для веб-форм и приложений MVC. Интегрирует платформу Sencha ExtJS» . Экст.NET. 20 сентября 2011 г. Проверено 17 ноября 2012 г.
- ^ «Изменить лицензию?» . Extjs.com . Проверено 6 мая 2022 г.
- ^ «Меньшая стандартная общественная лицензия GNU — версия 3, 29 июня 2007 г.» . Gnu.org . Проверено 17 ноября 2012 г.
- ^ «Форумы Sencha, изменение лицензии ExtJS» .
- ^ «Выпущены Ext JS 2.1 и Ext GWT 1.0, предварительная версия Ext JS 3.0 | Блог | Sencha» . Extjs.com. 22 апреля 2008 г. Проверено 19 ноября 2012 г.
- ^ Понедельник, 28 апреля 2008 г., 15:08, Тим О'Брайен в «Мнении» (28 апреля 2008 г.). «Подделка лицензий поражает ExtJS и Java Service Wrapper: отчужденные сообщества — блог O'Reilly ONJava» . Oreillynet.com . Проверено 19 ноября 2012 г.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ) - ^ Асай, Мэтт (25 февраля 2008 г.). «ExtJS: Когда открытый исходный код вообще не открыт | The Open Road — Новости CNET» . News.cnet.com . Проверено 19 ноября 2012 г.
- ^ «Ext JS и удовольствие от лицензий с открытым исходным кодом» . Аяксиан. 26 апреля 2008 г. Проверено 19 ноября 2012 г.
- ^ «Назревание споров вокруг EXTJS «Байт останавливается здесь» . Bytestopshere.com . Проверено 19 ноября 2012 г.
- ^ «Лицензирование Sencha | Веб-сайт | Sencha» . Сенча.com. 13 января 2011 г. Проверено 16 мая 2016 г.
- ^ «Анонсируем выпуск Sencha Ext Community Edition» . Сенча.com . 06.11.2018 . Проверено 6 декабря 2019 г.
- ^ «Ext JS Community Edition» . Сенча.com . 31 октября 2018 г. Проверено 6 декабря 2019 г.
Библиография
[ редактировать ]- Орчард, Лесли М.; Пехливанян, Ара; Кун, Скотт; Джонс, Харли (31 августа 2009 г.). Профессиональные фреймворки JavaScript: Prototype, YUI, ExtJS, Dojo и MooTools (1-е изд.). Врокс Пресс . п. 888. ИСБН 978-0-470-38459-6 . Архивировано из оригинала 6 июля 2011 года . Проверено 15 августа 2009 г.
- Фредерик, Ши; Рамзи, Колин; «Каттер» Лезвия, Стив (28 ноября 2008 г.). Изучение Ext JS (1-е изд.). Пакт Паблишинг . п. 299. ИСБН 978-1-84719-514-2 .
- Гонсалес, Армандо; Вилла, Крисфель (08 октября 2012 г.). Изучение Ext JS 4 (1-е изд.). Пакт Паблишинг . п. 434. ИСБН 978-1-84951-684-6 .