View Full Version : Large applications with extjs
Hi, We are looking needing to migrate our software from a vb6 environment to a open-source alternative. We will probably end up using python but are still not decided on the client side. The application has close to 100 forms through out so reasonably large size
Extjs looks great. Are you able to load some of the forms "on-demand" so they don't all have to be loaded when the index.htm page is loaded as it would just be too big. ... or is their another best practice for apps with large number of forms?
We would like to have just the one htm and not reload several for the various areas of the software so exchange with the server would be over ajax.
Any suggestions or links to similar discussions appreciated.
Thanx,
fangzhouxing
6 Jan 2008, 6:04 AM
my load js on demand code here may help(extracted from my project):
http://extjs.com/forum/showthread.php?p=92714
mabele
6 Jan 2008, 9:39 AM
The problem with using ExtJS in a single page application is it leaves A LOT of orphan dom objects floating around. (Internet Explorer)
We sadly discovered each time we displayed a simple 2 textbox form in a pop up window it would orphan about 30+ dom objects. That adds up real quick.
If you add a one Tab object to a page and destroy it you'll find about 20+ orphan dom objects.
For multiple page application ExtJS is awesome... but if you want a single page application that dynamically creates and destroys windows, grids, tabs, tree controls your application will die a slow death. Thank the people at Microsoft for this.
brian.moeskau
6 Jan 2008, 9:57 AM
This is still true for some components, but it will be addressed in an upcoming release.
jay@moduscreate.com
6 Jan 2008, 11:26 AM
I am currently involved in developing an enterprise class intraweb application. This beast pulls data from four different enterprise data sources. We use lots of grids, dialogs, forms, panels. It all works perfectly, as long as we don't try to do crazy stuff like load 500 rows of data in a 6+ column datagrid.
We started developing in Ext 1.1 in 2/07 and migrated to 2.x last summer.
mabele
6 Jan 2008, 11:54 AM
Brain,
Is there a target time frame for this release? This month... spring... summer?
It makes me sick having to drop the use of some of the ExtJS components because of the orphan dom object issues. This would be a huge update for us.
Thanks again,
Mike
Matz,
There are several solutions for loading forms from the server side. If you're going to use Python (Big fan of Python and quite a lot of reasonably large scale Python webapp here as well!!) you can look at some of my work and specially for Ext2 look at the plugin that loads configuration from the server using JSON.
I use Django for most of my webapps and i wrote a little piece of code for Django (new)forms that can push the form deffinition and validation from the server side framework to ext on the client side. (Thus including the same validation rules as on the server, using the regular expressions)
This is all very simple with Ext and Python. Personally i'm very happy with the combination ;) I hope you find it as sweet as i do :P
Regards,
trbs
new2ext
6 Jan 2008, 1:37 PM
Matz,
There are several solutions for loading forms from the server side. If you're going to use Python (Big fan of Python and quite a lot of reasonably large scale Python webapp here as well!!) you can look at some of my work and specially for Ext2 look at the plugin that loads configuration from the server using JSON.
I use Django for most of my webapps and i wrote a little piece of code for Django (new)forms that can push the form deffinition and validation from the server side framework to ext on the client side. (Thus including the same validation rules as on the server, using the regular expressions)
This is all very simple with Ext and Python. Personally i'm very happy with the combination ;) I hope you find it as sweet as i do :P
Regards,
trbs
x2 for Django + Python + ExtJS; although I'm mostly using it for data retrieval, it's quite extensible.
brian.moeskau
6 Jan 2008, 1:54 PM
@Mike, unfortunately there is no ETA at the moment. We are considering some changes that might end up being pretty big (refactoring how events get registered for components), but we haven't yet really gone through the issue in detail yet. As you said, thanks Microsoft. 8-|
SeaSharp2
6 Jan 2008, 11:52 PM
It is reassuring to read that IE memory leaks will be a priority in the next Ext release.
My reason for posting is to ask if there are any simple fixes that could be released before a rework of the eventing design. Could the following be resolved in an interim minor point release?
http://extjs.com/forum/showthread.php?t=19910&highlight=leak
http://extjs.com/forum/showthread.php?t=21510&highlight=memory
rfjacobsen
7 Jan 2008, 9:28 AM
Mike,
Your reply states that you found a lot of dom objects using IE. Which version was that and have you run your app through Firefox yet (or does it matter)?
Thanks.
RJ
mabele
8 Jan 2008, 7:44 PM
RJ. Our testing was done on IE6 and IE7. Firefox seems to work correctly. It's a classic Microsoft problem.
About 10 years ago I was at a Microsoft conference in Orlando when one of the speakers stood up and asked the audience "How do the programmers at Microsoft change a light bulb?"... "They don't they just make darkness a standard"... He received a standing ovation.
Still holds up after all these years.
rfjacobsen
10 Jan 2008, 7:44 AM
Ha! That's a good one! :))
Thanks for the info Mike. Unfortunately most of our users are IE fans, so we still will need to be careful about how we implement our app.
RJ
duditz
3 Feb 2008, 7:46 PM
I too really like this library except for the problem of memory leaks... If you open a single empty ext window component and drag it around the screen for a little bit the browser memory grows ridiculously. Also, dragging a window, in IE at least, will stop working if you continue trying for a few seconds... mouse moves but the window is frozen in place looking as if it were refreshing.
Tom23
30 Sep 2009, 5:06 AM
The problem with using ExtJS in a single page application is it leaves A LOT of orphan dom objects floating around. (Internet Explorer)
Is this still an issue in Ext 3?
In general, is there a rule of thumb on how large a DOM tree can be without major performance problems?
I am currently creating an app with about 10 tabs, each containing a GridView (about 20 rows, 10 cols), a DataView (up to a few hundred items), a TreeView (~ 100 nodes), and some other minor stuff.
Should I consider destroying and recreating the tabs?
joeri
30 Sep 2009, 5:20 AM
About performance...
From what I've seen IE's limits wrt DOM tree depend not just on the number of elements but also on the kind of hierarchy those elements are in. I saw IE bog down most heavily when using lots of grids (4 grids, each with 10 columns and 100 rows). Switching to buffered grid views solved my grid-related performance problems.
Tom23
30 Sep 2009, 11:55 PM
I wonder if those performance problems are related to the rendering engine. In this case, numerous DOM branches with display:none wouldn't be a problem, right?
Powered by vBulletin® Version 4.1.5 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.