Ответ 1
Ничто не сравнится с extjs с точки зрения размера сообщества и присутствия в StackOverflow. Несмотря на предыдущие противоречия, Ext JS теперь имеет лицензию с открытым исходным кодом GPLv3. Кривая обучения у него длинная, но после изучения она может быть весьма полезной. В Ext JS отсутствует тема Material Design, и команда неоднократно отказывалась выпускать исходный код на GitHub. Для мобильных устройств необходимо использовать отдельную библиотеку Sencha Touch.
Имейте в виду также, что
большие библиотеки JavaScript, такие как YUI, получают меньше внимания от сообщества. Многие разработчики сегодня смотрят на большие библиотеки JavaScript как на огороженные сады, в которые они не хотят заходить.
- Объявление о прекращении разработки YUI
Тем не менее, ниже приведен ряд альтернатив Ext JS, доступных в настоящее время.
Ведущие клиентские библиотеки виджетов
-
Blueprint - это набор инструментов для пользовательского интерфейса на основе React, разработанный компанией по анализу больших данных Palantir на языке TypeScript и "оптимизированный для создания сложных интерфейсов с высокой плотностью данных для настольных приложений". Активно разрабатывается на GitHub по состоянию на май 2019 года, с исчерпывающей документацией. Компоненты варьируются от простых (фишки, тосты, значки) до сложных (дерево, таблица данных, ввод тегов с автозаполнением, выбор диапазона дат. Без аккордеона или изменения размера.
Blueprint ориентирован на современные браузеры (Chrome, Firefox, Safari, IE 11 и Microsoft Edge) и лицензируется по модифицированной лицензии Apache.
-
Webix - продвинутая, простая в изучении, удобная для мобильных устройств, отзывчивая и богатая бесплатная библиотека компонентов пользовательского интерфейса JavaScript с открытым исходным кодом. Webix вышел из DHTMLX Touch (проект с 8-летним развитием - см. Ниже) и стал автономной структурой компонентов пользовательского интерфейса. Редакция GPL3 разрешает коммерческое использование и позволяет приложениям, не относящимся к GPL, использующим Webix, сохранять свою лицензию, например, MIT, через освобождение от лицензии для FLOSS. В Webix есть 55 виджетов пользовательского интерфейса, включая деревья, сетки, древовидные диаграммы и диаграммы. Финансирование поступает из коммерческого издания с некоторыми продвинутыми виджетами (Pivot, Scheduler, Kanban, org chart и т.д.). Webix имеет обширный список бесплатных и коммерческих виджетов и интегрируется с наиболее популярными фреймворками (React, Vue, Meteor и т.д.) И компонентами пользовательского интерфейса.
Скины выглядят современно и включают тему Material Design. Тема Touch также выглядит довольно материально. Смотрите также Skin Builder.
Минимальное присутствие GitHub, но включает код библиотеки и документацию (которая все еще нуждается в серьезных улучшениях). Webix страдает от небольшой команды и недостатка маркетинга. Тем не менее, они реагировали на отзывы пользователей, как на GitHub, так и на своем форуме.
Библиотека была скудной (128Kb gzip + минимизирована для всех 55 виджетов по состоянию на ~ 2015 г.), быстрее, чем ExtJS, dojo и другие, и дизайн приятен на вид. Текущая версия Webix (v6, по состоянию на ноябрь 2018 г.) стала тяжелее (минимизировано 400 - 676 КБ, но НЕ сжато).
Демки на Webix.com отлично выглядят и функционируют. Разработчик, XB Software, использует Webix в решениях, которые они разрабатывают для платных клиентов, так что, вероятно, впереди хорошее, финансируемое будущее.
Webix нацелен на обратную совместимость вплоть до IE8, и в результате несет некоторый технический долг.
Википедия • GitHub • Детская площадка/песочница • Демонстрация панели администратора • Демоверсии • Образцы виджетов
-
response-md - библиотека компонентов UI с лицензией MIT для React. Отзывчивый, доступный. Реализует компоненты от простых (кнопки, карточки) до сложных (сортируемые таблицы, автозаполнение, ввод тегов, календари). Один из ведущих авторов, ~ 1900 звезд GitHub.
-
kendo - инструментарий пользовательского интерфейса на основе jQuery с базовыми виджетами 40+ с открытым исходным кодом, а также коммерческими профессиональными виджетами (сетками, деревьями, диаграммами и т.д.). Отзывчивая и мобильная поддержка. Работает с Bootstrap и AngularJS. Современный, с темами дизайна материалов. Документация доступна на GitHub, который позволил многочисленным вкладам пользователей (4500+ фиксирует, PR 500+ по состоянию на январь 2015 года).
Хорошо поддерживается коммерчески, претендует на миллионы разработчиков и является частью большого семейства инструментов разработчика. Telerik получил множество наград, является многонациональной компанией (Болгария, США), приобретен Progress Software и является идейным лидером.
Лицензия разработчика Kendo UI Professional стоит 700 долларов, а публикация доступа к большинству форумов зависит от наличия лицензии или пробного периода.
[Википедия] • GitHub/Telerik • Демоверсии • Детская площадка • Инструменты
-
OpenUI5 - основанная на jQuery инфраструктура пользовательского интерфейса со 180 виджетами, лицензированная и полностью открытая Apache 2.0, созданная и финансируемая немецким гигантом программного обеспечения SAP SE.
Сообщество намного больше, чем сообщество Webix, SAP нанимает разработчиков для развития OpenUI5, и они представили OpenUI5 на OSCON 2014.
Темы рабочего стола довольно тусклые, но дизайн Fiori для Интернета и мобильных устройств выглядит чистым и аккуратным.
Википедия • GitHub • Демонстрации управления мобильными устройствами • Демонстрации управления рабочим столом • fooobar.com/info/tagged/...
-
DHTMLX - библиотека JavaScript для создания многофункциональных веб- и мобильных приложений. Больше всего похоже на ExtJS - посмотрите демоверсии. Был разработан с 2005 года, но все еще выглядит современно. Все компоненты, кроме TreeGrid, доступны в GPLv2, но расширенные функции для многих компонентов доступны только в коммерческой версии PRO - см., Например, дерево. Заявки будут использоваться многими компаниями из списка Fortune 500.
Минимальное присутствие на GitHub (основной код библиотеки отсутствует) и fooobar.com/info/tagged/... но активный форум. Документация недоступна на GitHub, что затрудняет ее усовершенствование сообществом.
-
Polymer, polyfill веб-компонентов, а также Polymer Paper, реализация Google дизайна материалов. Предназначен для веб и мобильных приложений. Не имеет продвинутых виджетов, таких как деревья или даже сетки, но элементы управления, которые он предоставляет, являются мобильными и отзывчивыми. Используется многими крупными игроками, например, IBM или USA Today.
-
Ant Design утверждает, что это "язык дизайна для фоновых приложений", под влиянием "природы" и помогающий дизайнерам "создавать атмосферу низкой энтропии для команды разработчиков". Это, вероятно, плохой перевод с китайского на "компоненты пользовательского интерфейса для корпоративных веб-приложений". Это библиотека React UI, написанная на TypeScript, с множеством компонентов, от простых (кнопки, карточки) до сложных (автозаполнение, календарь, ввод тегов, таблица).
Проект родился в Китае, пользуется популярностью у китайских компаний, а часть документации доступна только на китайском языке. Довольно популярен на GitHub, но делает ошибку, разбивая сообщество на китайские и английские чаты. Дизайн выглядит материально, но шрифты невелики, а информация выглядит потерянной в пробелах.
-
PrimeUI - коллекция 45+ богатых виджетов на основе пользовательского интерфейса jQuery. Лицензия Apache 2.0. Небольшое сообщество GitHub. 35 премиум тем доступны.
-
qooxdoo - "универсальная платформа JavaScript с согласованным набором отдельных компонентов", разработанная и финансируемая немецким хостинг-провайдером 1 и 1 (см. участников, одна из крупнейших в мире хостинг-компаний. GPL/EPL (лицензия для бизнеса).
Мобильные темы выглядят современно, но настольные темы выглядят старыми (градиенты).
Википедия • GitHub • Демоверсии веб/мобильных/настольных ПК • Виджеты Демо-браузер • Браузер виджетов • fooobar.com/info/tagged/... • Playground • Сообщество
-
jQuery UI - легко подобрать; выглядит немного устаревшим; не хватает продвинутых виджетов. Конечно, вы можете комбинировать его с независимыми виджетами для конкретных нужд, например, с деревьями или другими компонентами пользовательского интерфейса, но то же самое можно сказать и о любой другой среде.
-
angular + угловой интерфейс. Несмотря на то, что Angular поддерживается Google, он радикально обновляется в следующей версии 2.0, и "пользователям нужно будет разобраться с новым типом архитектуры. Также было подтверждено, что не будет никакого пути перехода с Angular 1.X на 2.0 ". Более того, похоже, что Angular 2 действительно не будет готов к использованию до года или двух. В Angular UI относительно мало виджетов (например, нет деревьев).
-
DojoToolkit и их мощный набор виджетов Dijit. Полностью с открытым исходным кодом и активно разрабатывается на GitHub, но в настоящее время разработка (ноябрь 2018 г.) сфокусирована на новой платформе dojo.io, в которой очень мало базовых виджетов. Лицензия BSD/AFL. Разработка началась в 2004 году, а фонд Dojo Foundation спонсируется IBM, Google и другими - см. Википедию. 7500 вопросов здесь на SO.
Темы выглядят desktop- ориентированными и датированными - см. Тестировщик тем в dijit. Официальный превью темы не работает и показывает только "Claro". Существует тема Bootstrap, которая очень похожа на Bootstrap, но не использует классы Bootstrap. В январе 2015 года я начал обсуждение темы создания материалов для Dojo, которая стала довольно популярной в первые часы. Однако есть вопросы относительно построения этой темы для текущего Dojo 1.10 против следующего Dojo 2.0. Ответ на эту тему показывает активное и широкое сообщество, охватывающее множество часовых поясов.
К сожалению, Dojo утратил свою популярность, и, похоже, его используют все меньше компаний, несмотря на то, что они имели (имели?) Прочные позиции в корпоративном мире. В 2009-2012 гг. Кривая обучения была крутой, и документация нуждалась в улучшении; хотя документация существенно улучшилась, неясно, насколько легко в наши дни забрать додзё.
С темой Material Design Dojo (2.0?) Может быть фреймворком компонентов пользовательского интерфейса.
Википедия • GitHub • Темы • Демоверсии • Виджеты рабочего стола • fooobar.com/info/tagged/...
-
Enyo - интерфейсная библиотека, предназначенная для мобильных и телевизионных приложений (например, большие сенсорные элементы управления). Разработано LG Electronix и Apache-лицензировано на GitHub.
-
Радикальный капучино - Objective-J (расширенный набор JavaScript) вместо HTML + CSS + DOM
-
Mochaui, библиотека пользовательского интерфейса библиотеки MooTools. <300 звезд GitHub.
-
CrossUI - кросс-браузерная среда JS для разработки и упаковки точно такого же кода и пользовательского интерфейса в веб-приложения, собственные приложения для настольных компьютеров (Windows, OS X, Linux) и мобильные приложения (iOS, Android, Windows Phone, BlackBerry). LGPL3 с открытым исходным кодом. Рекомендуемый инструмент RAD (построитель форм и т.д.). Пользовательский интерфейс выглядит desktop-, а не веб-ориентированным. Активно развитое, небольшое сообщество. Нет присутствия на GitHub.
-
ZinoUI - простые виджеты. Например, DataTable даже не поддерживает сортировку.
-
Wijmo - красивые коммерческие виджеты со старыми (jQuery UI) виджетами, открытыми для GitHub (их разработка была остановлена в 2013 году). Разработано ComponentOne, подразделением GrapeCity. См. Wijmo Complete против Open.
-
CxJS - коммерческий JS-фреймворк, основанный на React, Babel и веб-пакете, предлагающий элементы формы, проверку формы, расширенное управление сеткой, элементы навигации, всплывающие подсказки, наложения, диаграммы, маршрутизацию, поддержку макетов, темы, форматирование, зависящее от культуры и многое другое.
Виджеты - Демо-приложения - Примеры - GitHub
Фреймворки с полным стеком
-
SproutCore - разработан Apple для веб-приложений с собственной производительностью, обрабатывающих большие наборы данных на клиенте. Полномочия iCloud.com. Не предназначен для виджетов.
-
Wakanda: нацелены на бизнес/корпоративные веб-приложения - смотрите Что такое Wakanda? , Архитектура:
- Wakanda Server (серверный JavaScript (пользовательский движок) + база данных NoSQL с открытым исходным кодом)
- рабочий стол IDE и WYSIWYG редактор для таблиц, форм, отчетов
-
Wakanda Application Framework (уровень источника данных + виджеты интерфейса на основе браузера), который помогает обеспечить совместимость браузера и устройства для настольных и мобильных устройств
Wakanda обладает высокой степенью интеграции, имеет множество функций из коробки, но имеет очень небольшое сообщество GitHub и присутствие SO.
-
Servoy - "кроссплатформенная среда разработки и развертывания для баз данных SQL". Имеет "полный дизайнера пользовательского интерфейса WYSIWIG (что видишь, то и получаешь) для HTML5 со встроенной привязкой данных к внутренним службам", адаптивного дизайна, поддержки веб-компонентов HTML6, веб-сокетов и мобильных платформ. Написан на Java и генерирует код JavaScript с использованием различных JavaBean- ов.
-
SmartClient/SmartGWT - мобильные и кросс-браузерные компоненты пользовательского интерфейса HTML5 в сочетании с Java-сервером. Направленные на создание мощных бизнес-приложений - см. Демонстрации.
-
Vaadin - полнофункциональный фреймворк для веб-приложений Java/GWT + JavaScript/HTML3
-
Backbase - портал программного обеспечения
-
Shiny - интерфейсная библиотека на вершине R, с визуализацией, макетами и виджетами управления
-
ZKOSS: Java + jQuery + Bootstrap Framework для создания корпоративных веб-приложений и мобильных приложений.
CSS библиотеки + минимальные виджеты
Эти библиотеки не реализуют сложные виджеты, такие как таблицы с сортировкой/фильтрацией, автозаполнением или деревьями.
-
Foundation for Apps - адаптивный интерфейс на основе AngularJS; больше сетки/макета/библиотеки навигации
-
UI Kit - похож на Bootstrap, с меньшим количеством виджетов, но с официальной версией холста.
Библиотеки, использующие HTML Canvas
Использование элементов canvas обеспечивает полный контроль над пользовательским интерфейсом и отличную кроссбраузерную совместимость, но происходит за счет отсутствия собственных функций браузера, например, поиска страницы по Ctrl/Cmd + F.
Больше не разрабатывается с декабря 2014 г.
- Yahoo! Пользовательский интерфейс - YUI, запущенный в 2005 году, но больше не поддерживаемый основными участниками - см. Объявление, в котором освещаются причины, по которым большие библиотеки виджетов пользовательского интерфейса воспринимаются как огороженные сады, в которые разработчики не хотят быть заблокированными.
- echo3, GitHub. Поддерживает написание серверных Java-приложений, которые не требуют от разработчиков знания HTML, HTTP или JavaScript, или клиентских JavaScript-приложений, не требующих сервера, но способных взаимодействовать с ним через AJAX. Последнее обновление: июль 2013 г.
- ampleSDK
- Упрощенные виджеты livepipe.net
- JxLib
- Rialto
- Простой пользовательский интерфейс
- Prototype-UI
Другие списки
- Best of JS - компонентные наборы инструментов
- Wikipedia Сравнение фреймворков JavaScript
- Википедия список библиотек JavaScript, связанных с GUI
- jqueryuiwidgets.com - подробное сравнение функции виджетов jQuery