How could such high profile Flex applications as Morgan Stanley Matrix be built if Flex was such a slouch ?
The answer is that a lot of people's talk is due to ignorance:
- In order to create a Flex application that performs well, know both the innards of the Flex framework and don't work against the underlying Flash Player. A lot of people try and rewrite things that exist in the Flex framework or work against the Flash Player.
- A lot of people will talk about Silverlight/.NET because it has multithreading and Flex does not. But multithreading used unwisely can lead to performance problems. A lot of operations in Flex are asynchronous and use a callback mechanism.
- You can use Time Slicing for data heavy processing but best practice is to reduce the amount of data loaded and processed at any one time (e.g using paging): http://cookbooks.adobe.com/post_Time_slicing-18691.html
- Flash Player 11 will bring Stage 3D for GPU acceleration as well as possibly multithreading
1 person found this helpful
those fools that say Flex/Flash creates performance issues, do they work for Apple?
I once built a Flex and ActionScript app which was used for video
conferencing. It performed very poorly. I used the Red5Server. Could it be
because of that or conferencing in Flex and ActionScript is not suitable for
such a job?
Please enlighten me on this.
1 person found this helpful
I think if an app has performance issues and it's not possible to tell if they are because of server responsiveness or the flex app itself then I'd think the developer needs to do more work rather than guess what the problem is or blame the technology because they failed to make it work but didn't know why.
I think that more generally, many enterprise developers nowadays have forgotten about the performance optimizations necessary when one deals with UI technology. You can't just make things work. You need to have knowledge to make your UI responsive, whether you use Flex, Silverlight, HTML 5, Java Swing or Objective C. You can write a sluggish application in any language.
Like others have said, I don't think performance issues are something to be scared of. From my experience, performance issues come from the programmer ( using a for-loop as opposed to a dictionary to find an entity, obscene component nesting ) and their skillset or lack thereof. Since you are using PHP,which I also use at work =( , I can say that the setup and condition of your backend and datasource is where you are going to notice the most slowdown in your application nine out of ten times. And as always, profile, test, time the various parts of your application so you KNOW where the delays are. Don't read some blog from 2007 on Flex development and try to prematurely optimize a non-existing problem in Flex when your service call is doing an N+1 cross join on non-indexed keys on your database.
That is a beast of an application. I might join Morgan Stanley just so I can use it, do you know who might have made it ?
A lot of people worked on the Matrix:
Adobe Technical Services (formerly Adobe Consulting)'s UX designers and IT consultants
and of course Morgan Stanley managers and engineers
AFAIK, a lot of the things that you now see in Parsley and Cairngorm 3 have been developped for the Matrix at first.