Dojo vs extjs for a large single page js application

I am going to create a very large mvc js application administration application and narrow it down to dojo and extjs

I would like to know if anyone has experience in any of these frameworks in the last 6 months, and if you have any problems with any of the following areas

  • development speed
  • MVC
  • documentation
  • bindings
  • internalization
  • widget theme
  • search-side storage available for search (you do not need to disable the ability to store records after they are received, and then perform local queries on these records)
  • testing using some complete tool like selenium
  • datagrid, pagination, sorting all jobs
+6
source share
2 answers

Since Dojo does everything you need.

Dojo supports "stores" that do exactly what you ask. They also support various things, such as JsonRestStore, XMLStore, HTMLStore and many others, so you can easily switch the source of your data.

About unit testing, you can either use a built-in tool called Dojo Objective Harness and its robot, or something else like selenium or eventd (dojo).

About MVC, Dojo has something called dojox.mvc: http://livedocs.dojotoolkit.org/releasenotes/1.7#mvc

Although there are many other things :)

I would recommend reading the tutorials here: http://dojotoolkit.org/documentation/

Your question is a little difficult to answer, because I think that almost all decent frameworks today can do what you ask. And every developer will tell you that he likes better, better ^^

Personally, I use Dojo, I find it powerful and especially well made for large applications. They are also very active and keep up with the latest trends (AMD Loader RequireJS, etc.). There is also a good community helping each other, especially on the irc mailing list and channel.

In addition, if it matters anyway, companies like IBM trust and spend time helping the organization do it better.

  • development speed: good
  • mvc: good
  • documentation: good - huge success lately :)
  • bindings: good
  • internalization: good
  • widget theme: using LESS rocks
  • search-side storage that is searchable (you don’t need to disable the ability to store records after they are received, and then perform local queries on these records): good
  • testing using some kind of complete stack tool like selenium: good
  • datagrid, pagination, sorting of all works: the new dgrid is great, the old lattices in the Dojo order are quite powerful, but can be complicated from time to time, good support compensates for it
+15
source

This is what Ext-JS offers.

This does not apply to the answer, but if you finish using Ext-JS, you may need the following for more efficient graphs. The advantage of Ext diagrams is that they are easier to interact with (mouse hover, click), since this is not a canvas based as a fleet.

/** * 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 size and resize itself cmp.flot.resize(); cmp.flot.setupGrid(); cmp.flot.draw(); } }); this.on('beforedestroy', function(cmp){ if (cmp.flot) { cmp.flot.shutdown(); } }); } }); 

When I looked at Dojo 4 years ago, I hated it. Coudln't stand announcing widgets in HTML. I rather declare them with JS objects (I heard that now you can declare widgets without specifying HTML. There are people who like to create widgets in HTML, but in my case (dynamic business-oriented applications), every part on the screen is dynamic , and the configuration comes from the server, so I do not want the server to generate my HTML, since I need to know about this in my JS.

In any case, I am really pleased with Ext-JS and have no reason to visit the new infrastructure.

+9
source

Source: https://habr.com/ru/post/906221/


All Articles