thedqs wrote:Another thing to take in account is that it would be only the first time that a user viewed that site that would be the slow start-up. Once the initial download has taken place the widgets should be store on their hardrive for later use.
Of course if the widgets are stored in the temp internet files then we might have to redownload them quite regularly.
As was mentioned by Daniel Dura, Flex will now support Framework caching (distinct from Browser Caching), which will help virtually every Flex application. Flex is very nice because it allows the state to be kept on client with the richness of many desktop applications -- drag and drop, etc.
My favorite thing about Flex is that it supports both static and dynamic typing. It also supports closures, class and function objects, proxy objects and much more. It provides full object orientation with packages, classes, and interfaces. Overall, it's a very rich language and is great for people coming from a Java, C++, or Python/Ruby background.
By developing Modules for Flex (widgets as you call them), you can dynamically load pieces at runtime and defer loading of certain pieces of the application. If the browser is configured to cache them, then this can considerably speed up the initial download time. Framework caching doesn't work here as it is configured to only work with package's signed by Adobe.
I've been doing a lot of Flex lately and it's amazing what it can do. A reasonable Advanced Encryption Standard (AES) implementation is incredibly fast on a reasonably recent machine and works great when talking with a server side backend.