В одном из моих проектов кто-то рекомендовал мне использовать extjs. Я очень мало знаю о extjs. Я выполнил весь проект, используя jQuery. Я знаю, что многие из вас знают о extjs очень хорошо.
Скажите, пожалуйста, за и против использования extjs?
В одном из моих проектов кто-то рекомендовал мне использовать extjs. Я очень мало знаю о extjs. Я выполнил весь проект, используя jQuery. Я знаю, что многие из вас знают о extjs очень хорошо.
Скажите, пожалуйста, за и против использования extjs?
Ниже приведены некоторые из основных преимуществ и недостатков ExtJS:
Pros
ExtJS подобен надмножеству виджетов, таких как простые ярлыки, кнопки textBox для сложных гридов, панели перетаскивания и т.д. Он также предоставляет демонстрацию для удаленных операций для вызова методов удаленного сервера.
У него неплохая документация с учебниками, образцами и сообществом пользователей.
Активная и в настоящее время наиболее принятая инфраструктура RIA javascript
Хорошее качество/удобочитаемость кода
Удивительный набор виджетов, делает все, что мы могли бы хотеть. Кажется быстрым, каждая версия приносит новые улучшения.
против
Footprint - библиотека размером 500 КБ (использование mod_gzip может быть сокращен до 150 КБ). Время загрузки будет высоким для домашней страницы в Интернете.
CSS - очень легко заблудиться. Трудно найти правильный класс имена
HTML - полный divs и слишком сложный сгенерированный код. Сложно debug даже с FireBug.
Модифицированный GPL 3.0 лицензирован. Бесплатно для приложений с открытым исходным кодом, но оплачивается для коммерческих приложений с закрытым исходным кодом.
Использование ExtJ приводит нас к тому, что GUI будет выглядеть как настольный и богатых. Настройка не легко достижима.
Загрузка даже простых вещей требует нескольких строк кодирования, которые проще в простых html или jQuery.
Отладка не очень проста. Только GWT лучше отлаживает размещенный режим среди фреймворков javascript.
Пользователь не может добавлять закладки на определенную страницу. поскольку объекты отображаются обработкой DOM, страница не может быть индексируется поисковыми системами
Нужен опытный разработчик.
Я не уверен, как использовать это без отображения всего дисплея EXT. Я бы предпочел что-то, что могло бы интегрироваться в то, что мы уже имеем.
Ссылка: ExtJs - за и против
Надеюсь, что это поможет.
Хотя предыдущий ответ уже был принят, есть несколько моментов, которые я хотел бы уточнить.
Ext не использует "измененную" лицензию GPL. Он полностью дублируется по стандарту GPL v3 и коммерческой лицензии Sencha. Существуют исключения FLOSS, чтобы сделать его более совместимым с разработчиками плагинов/расширений и т.д., Но лицензия GPL является стандартной лицензией.
Список недостатков, в то время как в основном справедливые точки в целом, несколько бессмысленны без какого-либо контекста. Сравнение Ext JS с jQuery также бессмысленно - сравнение яблок с апельсинами. Если вы сравниваете Ext JS с другими сопоставимыми структурами RIA (Dojo, YUI, Sproutcore), то такие вещи, как footprint, CSS/HTML-сложность, отладка и т.д. Становятся довольно ровными (или, по крайней мере, более полезный контраст может быть сделан). Просто говоря, что эти вещи являются "минусами" в абстрактном, не очень точны, поскольку они в основном являются просто требованиями любой сложной структуры RIA.
В отношении нескольких конкретных точек этот список (согласно исходной статье) ссылается на Ext 3.0. Текущая версия на момент написания этой статьи - 4.0.7. Общий объем кода на самом деле увеличился с 3,0, но Ext теперь поставляется с системой динамического класса и средствами сборки, которые позволяют создавать оптимизированные сборки на основе зависимостей вашего приложения. Так что да, у этого есть большой общий след, но нет, вам не нужно включать все.
Сложность CSS/HTML является заданной, основанной на сложности виджетов и систем макетов, поддерживаемых Ext JS. Это очень распространено в мире RIA и не похоже на простые плагины jQuery. В версии 4.0 теперь используется SASS/Compass btw с созданным CSS, поэтому настройка исходных стилей на самом деле намного проще, чем в версии 3.0.
Отладка также несколько проще в 4.0 (опять же из-за новой системы классов), но, безусловно, сложнее, чем любой статически типизированный язык, такой как Java (GWT). Это проблема для любых фреймворков на основе JavaScript, а не только для Ext.
Конечно, вы можете добавлять закладки в свое приложение, если вы реализуете поддержку истории/штата (оба предлагаются Ext). Это то, что вы должны делать, так как оно специфично для приложения (существует определенное автоматическое управление состоянием на уровне отдельных виджета), но это, безусловно, возможно. Опять же, это распространенная проблема RIA, а не что-то особенное для Ext.
Список профи, с которым я бы согласился (кроме пункта 5, который представлен вне контекста и не имеет смысла). Фактически, документация и справочники справились, лучше с версии 3.0. Если вам нужны конкретные сравнения между Ext JS и другими инфраструктурами RIA, просто выполните поиск SO, который был хорошо охвачен.
То, что вы пытаетесь сделать с каркасом, будет определять какой из них использовать.
отлично подходит для одностраничного приложения RIA, где инфраструктура ExtJS загружается один раз на страницу со следующим кодом с кодом 0, закодированным вручную. Это означает, что структура управляет ВСЕМ в вашем приложении.
сильно отличается: ваша инфраструктура на стороне сервера генерирует HTML (через JSP, GSP, ASP, независимо), и вы добавляете функциональность к этим страницам, включая библиотеку JQuery для каждого.
ExtJS Минусы:
ExtJS Плюсы:
отказ от ответственности: я бывший разочарованный разработчик ExtJS, который, наконец, достаточно высок на кривой обучения, чтобы действительно наслаждаться ею.