PDA

View Full Version : Large Application Support



dougboyd
8 Feb 2012, 2:29 PM
Hi

I've just downloaded Designer 2.x and am trying to open 1.2x file, a rather large beast with approximately 70 windows and 60+ data stores. The project opens in 1.2.x although is unstable (2,105kb in size) and prone to freezing. In 2.x, the file opens but freezes on screen resize.

Any suggestions?

Doug

CaliLuke
8 Feb 2012, 2:44 PM
Send us the file and we'll fix the problem.

CaliLuke
8 Feb 2012, 4:02 PM
Impressive! I opened the app and I noticed it took a while (Designer was probably expanding the legacy format to our newer file system based format).

Save the project in a folder on its own and you should be good. Just for kicks I started poking around and I noticed you can dramatically reduce the size of your tree by using a model to generalize some of the common field configurations in your stores.

Also, you need to select an initial view (right mouse click on the view you want to launch by default).

Is this an average size project for you? Because if it is, we might consider putting a search box in the project inspector, this thing is HUGE.

dougboyd
8 Feb 2012, 4:09 PM
Hi Luca

Yeah, the size is a bit cumbersome. For development, we break into individual folders and then save the components to the toolbar, importing each piece as we go. It'd be great if there was a dynamic load process - save the component and the master view automatically updates.

I estimate we're probably about 2/3's of the way there with the number of screens. It'd be great if Designer were fast enough that we could edit directly on the large project - I'll load it up with your suggestions and see what we get. Does 1.2x support the model structure to reduce code size?

Cheers

Doug

CaliLuke
8 Feb 2012, 4:21 PM
Sub-projects: interesting concept. We'll take it for a spin with the team and see if there's something we can do for a future release (2.0 is on lockdown scope-wise).

Models were introduced in Designer 2. You can update for a significant discount if you do it now, by the way.

Phil.Strong
10 Feb 2012, 8:34 AM
Yeah this should be several projects. We need to reach out to Doug and find out the pain points of that so we can understand how to allow projects to share "stuff". This thing has like 100 stores!

Doug this is a lot of work are you sure you want to keep this project public for all to see? I can pull it down

ssamayoa
10 Feb 2012, 2:04 PM
Wow!

I counted 70 views.

I have 57 view files in my hand written PR application (still in progress) which 8 are "base" view classes (I use OOP a lot) so I have +/- 49 unique views.

Did you already build the final application for this project?

How big file you got?

Regards.

dougboyd
12 Feb 2012, 12:25 PM
Hi Phil

Yes, please pull it down if you don't mind. I've still got a problem in that I cannot open the file in Designer2 for more than 30 seconds without it crashing. I'm on an HP Pavilion dv6, Windows 7, plenty of RAM and a speedy processor. On open of the file, the initial open takes > 1 minute and within the next minute I get the "Sencha Designer has stopped working..." error. Saving the file immediately on open doesn't help either.

Grrr. I'd love to upgrade to Sencha Designer but am not sure that its possible.

Any ideas?

Doug

dougboyd
12 Feb 2012, 12:32 PM
Hi Ssamayoa

The final project is just over 2.4M in size - this is front end, uncompressed. The real is the sheer number of files; we've created a batch script which compiles everything in order, obfuscates and then compresses into a single JS file; don't know the size of that yet.

And all for front end - the backend is Postgresql stored proc based with a Rails MVC in the middle (although Rails is really doing nothing except handling the passthrough).

Cheers

Doug

markofsine
13 Feb 2012, 5:05 AM
Unfortunately the workflow for large applications is not well supported...

We have a similarly large app, 50+ stores, 40+ controllers and 100+ views...

Having everything in one project restricts multiple developers and the designer does not cope.

Based on the designer internal architecture I doubt this is going to be resolved any time soon....
The only real way forward is multiple projects but then sub-projects or object sharing needs to implemented in some form.
i.e. If we reference a shared window/store or whatever we don't want to redefine it in every project. We want to, perhaps, have a single shared object project and include this into all the other projects.

The multi-project route also helps to allow multiple developers working on the same overall project at the same time.

But then the question really becomes is Sencha then building a full development environment as opposed to a designer only...
At this point I believe there may be a conflict of interest as there are numerous other tools out there for broadbased application development (e.g. Aptana). Finding the ideal way to integrate designer into an existing development workflow is probably a better short-term goal with full development environment the longer term ideal...

It is a great tool, but needs to be utilised in the right context where its strengths (design) are easily taken advantage of. Beyond this you start fighting with the tool and it start impacting workflow... Better to revert to more mature tools at this point (As before eclipse/aptana).

My two cents... :)

ssamayoa
13 Feb 2012, 9:01 AM
It is a great tool, but needs to be utilised in the right context where its strengths (design) are easily taken advantage of. Beyond this you start fighting with the tool and it start impacting workflow... Better to revert to more mature tools at this point (As before eclipse/aptana).


I'm falling into the same conclusion.

I still think that they should develop Designer as an eclipse or netbeans plugin instead of making their IDE from scratch.

With those IDEs you already have a lot of facilities (server container -http or java-, version control, project management tools, source code editors -including mature JS-, etc.) those that Sencha could take advantage.

Java, as JS, is ubiquitous this days.

dougboyd
13 Feb 2012, 12:09 PM
Morning All

We use the ExtDesigner for Agile style dev only - my front end guy does screen layout for mockup, I expose the data stores and once layout is complete, we wire it in. We don't require anything fancier than a stand alone GUI - all mid tier and back end code is done with GVIM, all application logic handled in PSQL at the database layer.

From a developer point of view, I support the idea of an Eclipse plug in. But from a business point of view, I can see the point of the stand alone tool - it is an easier licensing model. And if it is capable of what I need it to do, I'll put my sheckles on the counter and upgrade.

This eosoteric conversation is all lovely and good, but I still have an application built with a tool which will no longer open it. If I upgrade (which is my desire), I'll have to reimport everything from scratch, convert each file by hand and build the master file.

Any suggestions, Team Sencha?

Doug

aconran
13 Feb 2012, 12:38 PM
This eosoteric conversation is all lovely and good

Trust me we have had lots of these internally and have been weighing different options to best accomodate most people and what they need.



but I still have an application built with a tool which will no longer open it. If I upgrade (which is my desire), I'll have to reimport everything from scratch, convert each file by hand and build the master file.

Any suggestions, Team Sencha?

The project file opens on my development machine (OS X) albeit takes about a minute and a half. I have yet to try on any smaller hardware but we will most certainly be providing some optimizations so that you can get your project open.

dougboyd
13 Feb 2012, 12:45 PM
Thanks Aaron. I've got a new MacMini server down here and will try opening with that - I only need to convert the existing file across to test the stability and from your comments earlier, which I believe is simply doing a Save As into a new folder. Once I get it to that point, I'll test the speed and stability and make my decision.

While you're taking suggestions, I'd really like to see the components and data stores in alpha order. And a way to import data stores from other projects would be nice as well. My current method is using GVIM - works but is a bit clunky.

Shout howdy to the team up there - its a good piece of kit and we use it daily.

Doug

aconran
13 Feb 2012, 12:48 PM
I only need to convert the existing file across to test the stability and from your comments earlier, which I believe is simply doing a Save As into a new folder.
That's correct.

Thanks for the feedback :-) We're trying to make an awesome product for our customers and I hope you like the improvements from 1.x to 2.x.

Phil.Strong
16 Feb 2012, 8:14 PM
Based on the designer internal architecture I doubt this is going to be resolved any time soon....


Apologies we haven't done a round of performance enhancements yet but rest assured we will prior to GA. The internal architecture should allow for a large number of improvements here.



The only real way forward is multiple projects but then sub-projects or object sharing needs to implemented in some form.


I suspect your right. We need a way to share "libraries" assume well do something similiar to flex, .net, other mature framework



But then the question really becomes is Sencha then building a full development environment as opposed to a designer only...


Say it! Full development environment, that's where we're headed. Designer (the product name) is poor in this case

CaliLuke
16 Feb 2012, 8:17 PM
Say it! Full development environment, that's where we're headed. Designer (the product name) is poor in this case

Thank you Phil and rest of dev team for letting every cat out of the bag...

Since we're at it, should we do a poll for the new name too? :D

Phil.Strong
16 Feb 2012, 8:21 PM
Also note that for projects w/ 50+ stores. Many times there are ways to optimize now that we have Models. Those 50 stores can become 20. Of course other times you need exactly that many stores no bones about it. Designer can and will support this use case.

We already have some really easy wins in terms of performance tweaks lined up. However the engineering team will be discussing performance as a first class feature tomorrow morning so we can roll out a GA that is usable by teams and projects big and small.