Кто-нибудь знает хорошую библиотеку пользовательского интерфейса JavaScript (Widget)

Недавно мне пришлось разработать несколько веб-приложений. Я провел обширные исследования, касающиеся библиотек пользовательского интерфейса JavaScript, но я не смог найти тот, который был действительно доволен. Я имею в виду, что библиотеки UI представляют собой библиотеку, которая предоставляет пользовательские элементы управления, такие как кнопки, комбинированные поля, сетки, диаграммы, макет,...

Что я нашел до сих пор и почему мне это не понравилось на 100%

  • jQuery UI имеет слишком мало элементов управления. (Я знаю, что есть много плагинов, и вы можете почти найти все, но это не то же самое, что полная библиотека, созданная и протестированная одной командой или группой).
  • Dijit (Dojo). Мне очень нравится этот, но когда я пытаюсь использовать его на своих сайтах, у меня всегда возникают проблемы. Они, похоже, не так просты в использовании, как другие библиотеки.
  • YUI версия 2 имела множество элементов управления, но "новая" версия 3 все еще пропускает множество элементов управления. (или я слишком глуп, чтобы найти их). Я не хочу работать с обоими версиями одновременно или использовать старую версию, которая скоро будет заменена.
  • DHTMLX имеет множество элементов управления, и они работают очень хорошо, но сами элементы управления не имеют многих функций. (например, HTMLEditor даже не поддерживает изменение цвета текста из коробки, или я не мог найти простой способ развернуть/свернуть узлы дерева с какой-то анимацией)

Если кто-нибудь знает о хорошей библиотеке, которую я еще не пробовал, или знаю, как я мог бы использовать одну из вышеперечисленных библиотек "лучше", я был бы действительно счастлив. Мне интересно, почему на этом этапе (где веб-приложения становятся настолько важными) я до сих пор не могу найти полную структуру пользовательского интерфейса, которая предоставила бы мне элементы управления, которые вы можете найти в других средах с годами (или даже десятилетиями) - например Java,.net или Delphi, чтобы назвать лишь некоторые из них.

изменить

Я знаю, что не будет библиотеки с каждым элементом управления, который мне когда-либо понадобится, но то, что я ожидаю от такой библиотеки, - это как минимум: согласованные скины, api, документация, валидация и наиболее важные элементы управления, которые вам нужны в бизнесе приложения/веб-сайты (datepicker, кнопка, редактор с поддержкой числовых данных, сетка/дерево, элементы управления макетами, редактор HTML) и возможность создавать собственные элементы управления. хорошо иметь: диаграммы или отчеты

Ответ 1

Ext JS предоставляет наилучшие виджеты графического интерфейса. Я использовал его для большого проекта интрасети и полностью удовлетворен. Он доступен под лицензией GPLv3 и коммерческой лицензией.

Будьте предельно осторожны при оценке фреймворков с открытым исходным кодом. Они склонны религиозно продвигать качество своих проектов, но я обнаружил, что плохая документация и код ошибки являются повсеместными. Dojo претендует на тяжелую занятость в отрасли, но их документация плохая, и нетрудно найти ошибки на своем веб-сайте (страницы примеров dijit были разбиты на месяцы за раз...).

Ответ 2

Ваш комментарий о JQueryUI очень полезен.

Как вы говорите, JQueryUI предоставляет относительно немного элементов управления, но имеет много доступных плагинов. Но вы ищете одну библиотеку со всем, что вы хотите встроить.

Это сложный вопрос, потому что мы действительно не знаем, какие виджеты вы действительно хотите, какие из них вам нравятся, но, вероятно, не будут использовать, или какие вы будете использовать, но только если они будут работать точно как вы хотите.

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

Вот почему гибкость и ремонтопригодность гораздо важнее, чем получение точного соответствия характеристик. Как только вы выходите за рамки базового набора виджетов, большинство других построено поверх простых в любом случае, но у каждого есть свои идеи о том, как они должны быть реализованы, и новые идеи пользовательского интерфейса выдумываются каждый день. Вот почему модель подключаемого модуля работает так хорошо, и почему я чувствую, что вы ошибаетесь при дисконне JQueryUI, потому что большинство виджетов доступны в виде подключаемого модуля. Фактически, я бы сказал, что эта модель, вероятно, будет лучшим решением для вас.

Существует ряд других доступных библиотек, о которых вы не упомянули. Mootools и Prototype, вероятно, самые известные, но есть и другие. Вместо того, чтобы перечислить их все, я укажу вам эту страницу в Википедии, в которой перечислены все их в сравнительной таблице: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

Надеюсь, вы сочтете это полезным. Но я подозреваю, что вы не найдете никакой библиотеки в этом списке, которая поставляется с каждым виджетами, которые вы когда-либо хотели, все в одном комплекте. Все они полагаются на плагины, потому что разработчики библиотек обычно сосредоточены на создании рамки для виджетов, а не на самих виджетах.

Ответ 3

Отъезд PrimeUI, предоставляет различные виджеты и построен с API-интерфейсами jQuery. Лицензируется под Apache V2. http://www.primefaces.org/primeui/

Ответ 4

Недавно пользовательский интерфейс Telerik Kendo, построенный поверх jQuery (без несоответствия импеданса с другими фреймворками), имеет Open Sourced (Apache 2.0 License) свою Библиотеку виджетов.

Я настоятельно рекомендую это..

Пользовательский интерфейс Telerik Kendo не является открытым исходным кодом

Загрузите версию интерфейса Kendo UI - с открытым исходным кодом

Ответ 6

SAPUI5 список веб-элементов управления с примером исходного кода: