6

Я собираюсь строить очень большой Mvc Js приложение приложения администратора и свели в додзе и ExtJSдодзё против ExtJS для большой одной страницы JS приложений

Я хотел бы знать, если кто имеет какой-либо опыт ни с одной из этих структур в течение 6 последних месяцев, и если у вас возникли проблемы с каким-либо из следующих областей

  • скорость развития
  • MVC
  • документация
  • bindin гс
  • интернализации
  • Тематизация виджетов
  • с возможностью поиска на стороне клиента магазина (не должен быть отключен только возможность хранить записи после их получения, а затем сделать локальный поиск по этим записям)
  • тестирование с использованием некоторых полный инструмент стек, как селен
  • DataGrid, нумерация страниц, сортировка весь работает
+0

Вы рассматриваете поддержку языков справа налево? – Li0liQ

+3

Слишком широкий вопрос. –

+0

Что вы будете использовать на стороне сервера? Вы рассматривали вопросы лицензирования? Dojo свободен во всех случаях, Ext-JS не является бесплатным, если вы не разрабатываете проект с открытым исходным кодом ... – Philippe

ответ

9

Вот что предлагает Ext-JS.

Это не принадлежит в ответе, но если вы в конечном итоге с помощью Ext JS-, возможно, потребуется следующее для более эффективных диаграмм , Преимущество Ext-диаграмм заключается в том, что они легче взаимодействовать (наведение мыши, щелчок), поскольку это не холст, основанный, как флот.

/** 
* Renders a single flot chart, a much simplifed version of ExtFlot 
*/ 
Ext.define('Ext.ux.FlotPanel', { 
    extend: 'Ext.Component', 
    alias: 'widget.flot', 

    /** 
    * @cfg {number[][]} data The data to be drawn when it gets rendered 
    */ 
    data: null, 

    /** 
    * @cfg {object} flotOptions 
    * The options to be passed in to $.plot 
    */ 
    flotOptions: null, 

    /** 
    * @property 
    * The Flot object used to render the chart and to manipulate it in the future. It will only 
    * be available after the first resize event 
    * You may not set this property but you are free to call methods on it 
    */ 
    flot: null, 

    initComponent: function() { 
     this.callParent(arguments); 
     // The only time that we're guaranteed to have dimensions is after the first resize event 
     this.on('resize', function(cmp) {    
      if (!cmp.flot) { 
       cmp.flot = $.plot(cmp.getTargetEl().dom, cmp.data, cmp.flotOptions); 
      } else { 
       // Flot knows to look at the container's size and resize itself 
       cmp.flot.resize(); 
       cmp.flot.setupGrid(); 
       cmp.flot.draw(); 
      } 
     }); 

     this.on('beforedestroy', function(cmp){ 
      if (cmp.flot) { 
       cmp.flot.shutdown(); 
      } 
     }); 
    } 
}); 

Когда я посмотрел Доджо 4 года назад, я ненавидел его. Coudln't stand, объявляющий виджеты в HTML. Я скорее заявляю их с объектами JS (я слышал, что теперь вы можете объявлять виджеты без указания HTML.Есть люди, которые любят создавать виджеты в HTML, но в моем случае (динамичные приложения, ориентированные на бизнес) каждая часть экрана динамична, а конфигурация исходит от сервера, поэтому я не хочу, чтобы сервер генерировал мой HTML с тех пор, как я нужно знать об этом в моем JS.

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

+0

Вы использовали extjs для любого из вышеперечисленных пунктов, и если вы сделали то, что было хорошим и плохим, что вы испытали? – tee

+0

Я использовал Ext-JS для всего выше, кроме: RTL для следующей версии, но я реализовал поддержку самостоятельно 3 года назад. Я также не назвал его самым большим, я использовал только ту серую тему, которая предоставляется. Но я прошел через шаги, чтобы создать новую тему, и это невероятно просто (я люблю SASS). Единственная часть Ext-JS, от которой я держусь, - это диаграмма. После борьбы с многочисленными ошибками на диаграммах (признанными командой) я вернулся к использованию флота. http://code.google.com/p/flot/ –

+3

«Когда я смотрел Доджо 4 года назад, я ненавидел его». Ваш комментарий о Dojo совершенно не имеет значения ... Что относительно Ext-js 4 года назад? Существует два способа создания виджетов в Dojo, программно и декларативно, в зависимости от ваших потребностей и предпочтений. Вы также можете полностью управлять жизненным циклом виджета, а также размещать код, показывающий, что для начала использования ext-js вам уже нужно взломать вещи, не заставляет его сиять ярче :) – PEM

15

Поскольку Dojo делает все, что вам нужно.

Dojo поддерживает «магазины», которые делают именно то, что вы просите. Они также поддерживают разные вещи, такие как JsonRestStore, XMLStore, HTMLStore и многие другие, поэтому вы можете легко переключать источник своих данных.

О модульном тестировании вы можете использовать встроенный инструмент, называемый Dojo Objective Harness, и это робот или что-то еще, например, selenium или eventd (dojo).

О MVC, додзё есть то, что называется dojox.mvc: http://livedocs.dojotoolkit.org/releasenotes/1.7#mvc

Хотя есть много других вещей тоже :)

Я бы Recommand читать учебники здесь: http://dojotoolkit.org/documentation/

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

Лично я использую Dojo, я нахожу его мощным и особенно хорошо выполненным для больших приложений. Они также очень активны и не отстают от последних тенденций (AMD Loader RequireJS и т. Д.). Существует также хорошее сообщество, помогающее друг другу, особенно в списке рассылки и канале irc.

Кроме того, если это имеет значение в любом случае, такие компании, как IBM, доверяют и тратят время, помогая структуре сделать это лучше.

  • скорость развития: хороший
  • MVC: хорошее
  • документация: хорошая - огромная прогрессирует в последнее время :)
  • привязок: хорошие
  • интернализация: хорошее
  • Тематизация виджетов: с помощью LESS камни
  • поисковый клиентский магазин (не обязательно должен быть в автономном режиме только возможность хранить записи после их получения, а затем выполнять локальные запросы на тех записи): хорошие
  • тестирование с помощью некоторых полного инструмента стека, как селен: хорошего
  • DataGrid, нумерации страниц, сортировка целого работает: новый dgrid велик, старые сетки в порядке Dojo является достаточно мощным, но могут быть сложнее в разы, хорошая поддержка для этого
+1

В сущности, то, что я ищу, - это опыт людей (хороший и плохой), связанный с темами, которые я упоминал, вы использовали додзё для любой из тем, о которых я упоминал? если да, то что было хорошо, а что плохо? – tee

+2

* скорость разработки: хорошие * MVC: хорошее * документации: плохо, но с огромным прогрессом в последнее время :) * привязки: хороший * интернализация: хороший * тематизация виджетов: использование МЕНЬШЕ породы для таможни stuffs * доступный для поиска клиентский магазин (не должен быть в автономном режиме, просто возможность хранить записи после их получения, а затем выполнять локальные запросы по этим записям): good * тестирование с использованием какого-то полного инструмента для стека, такого как селен: хорошее * datagrid, pagination, sorting t он все работает: новый dgrid велик, старые решетки в порядке Dojo довольно мощный, но может быть сложным время от времени, хорошая поддержка компенсирует его – PEM

+0

@PEM: вы должны добавить эти вещи к своему ответу. –