Page 1 of 1

Isn't this mainly apps delivered via Flash ?

Posted: Sun Apr 15, 2007 11:20 pm
by atticusewig
Perhaps I'm misunderstanding the whole
Adobe Flex thing, but isn't this mainly
web apps delivered via Flash ?

If so, it does explain why it takes
so long to load over dialup.

Client-side, how is it so revolutionary
compared to say Java ?

Atticus Ewig

Posted: Mon Apr 16, 2007 7:32 am
by thedqs
More of a AJAX or dynamic content type Flash. So that the Flash is compilied as requests from the application are sent to the server and the application will change according to what the user want. As for revolutionary, depends who you ask, personally I do not think so, but those at Adobe might think this is the best thing since sliced bread and will change the world, create international peace, and cure cancer. :D

Posted: Mon Apr 16, 2007 8:25 am
by 16cards-p40
Flex is Flash on the client but the development experience compared to traditional Flash is completely different. Traditional Flash (using Flash Professional 8 and earlier) is geared towards a linear/timeline movie. You know, the movies that many websites annoyingly present on homepages with the "Skip Into" button that gets clicked 99.9% of the time.

So Macromedia (before Adobe acquired) realized that Flash is essentially a virtual machine, just like Java. Except it is roughly 1 MB download compared to Java's 50+ MB. And that the Flash player (VM) has over 90% install base. So the barriers to entry were much lower for Flash to do "something more".

Enter Flex circa 2003. An application development framework built on top of Flash. A developer uses MXML, an XML dialect to declaratively describe the application with the ability to mix in programmatic with ActionScript, basically JavaScript evolved. Its declarative approach is far superior for UI programming than Java's Swing, AWT, or SWT.

Now, to answer why it is slow over dial-up: Nearly all of Flex components are not shipped in the Flash VM but is downloaded, portable code. This includes UI widgets, etc. I believe Macromedia/Adobe has done some optimizations to do the best trade off possible, but it is geared towards Rich Internet Applications in a fairly ubiquitous broadband world. When you get to a Flex application, the familiar progress bar indicates the components loading.
progress.png
progress.png (2.03 KiB) Viewed 20713 times
This posses an interesting and important question for the Church, who must serve countries where broadband is commonplace and impossible. To what extent do applications gracefully degrade when the pipe are thin?

Microsoft XAML?

Posted: Mon Apr 16, 2007 9:10 am
by mkmurray
16cards wrote:Enter Flex circa 2003. An application development framework built on top of Flash. A developer uses MXML, an XML dialect to declaratively describe the application with the ability to mix in programmatic with ActionScript, basically JavaScript evolved. Its declarative approach is far superior for UI programming than Java's Swing, AWT, or SWT.
Sounds somewhat like Microsoft's XAML? Of course, note Microsoft always comes out with it second! :D

Posted: Mon Apr 16, 2007 7:34 pm
by thedqs
16cards wrote: This posses an interesting and important question for the Church, who must serve countries where broadband is commonplace and impossible. To what extent do applications gracefully degrade when the pipe are thin?
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.

Posted: Tue Apr 17, 2007 7:04 am
by thedqs
Kgthunder started talking about Microsoft's new Silverflash and it has been moved to this [thread=416]thread, "Microsoft Silverlight" in "Emerging Technologies"[/thread].

Flex Power

Posted: Fri May 04, 2007 8:19 am
by pepe0001
:cool: Flex uses Flash player but is like developing with ColdFusion and ActionScript. Flex apps can be developed much more quickly and isn't a complicated programing language like Java.

One of the sweetest Flex 2 apps I've seen is ESRI's ArcWeb Explorer.

There is no way that you can expect to run something like this on a dial-up connection. But even most 3rd world countries have access to broadband, even if they have to go to an internet cafe.

Posted: Sat Oct 13, 2007 5:24 am
by ddura-p40
I am a little late on this one, but just found the thread. Just as an FYI, we have added a feature in the Flash Player update that is coming out that allows specific framework libraries to be cached across domains. In Flex 3, you will be able to take advantage of this.

This will reduce the size of most SWFs by atleast 100k. Also, if I download the framework SWF from foo.com, and then go to lds.org and use a Flex app there, it will use the framework SWF it got from foo.com. This should address the issue you have seen in regards to slow downloads of Flex apps over less than ideal connections.

Daniel Dura
Platform Evangelist - Adobe
http://www.danieldura.com

Posted: Tue Oct 23, 2007 9:33 pm
by kalebpederson
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.

--kpederson