Flex

Eckel at JavaOne – Salesforce Conference – Google Tech Talk – San Diego JUG

There’s so much fun stuff going on it’s hard to keep my blog up-to-date. But I did want to note a couple of things…

Bruce Eckel will be at JavaOne! He will spend some time in the Adobe booth and some time at various sessions. But the big news is that he and I will be co-presenting a short session before the Adobe Party on Wednesday night. This will be a fun thirty minute session that will be entertaining and educational. Too bad this isn’t an official JavaOne session, but I guess Sun doesn’t want me presenting about Flex at JavaOne (They rejected my three submissions but possibly for other reasons.) Following the short session will be the party. Food, drinks, and hanging out with Bruce Eckel! Stop by the Adobe booth at JavaOne to get your official invitation (which I think you will need to get in).

Ajax and Flex Data Loading Benchmarks

For close to a year I’ve been working (in my infrequent spare time) on an application that shows differences in data loading for RIAs (Rich Internet Applications), comparing Ajax methods, Ajax frameworks, and various Flex methods. The results are pretty surprising. The screenshot below is from a test run I did with the server running locally. (Note for the screenshot below: All tests except Dojo were 5000 rows, while the Dojo test was 500 rows.)

Open Source Flex: Top 10 Reasons To Rejoice

Flex is going Open Source! This is really, really exciting news! I’ve been looking forward to this moment since before I worked at Macromedia. This will certainly change RIA programming in a major way. But what does this mean for you:

  1. There will be a formal process for contributing to Flex.

  2. Your voice is important. Join the Open Source Flex Google Group.

  3. You aren’t locked into a single vendor’s monetization strategy. So is Flex now part of the “Open Web”? I think so.

The Open Source Flex and Apollo Toolkit for Salesforce.com

A few months ago I met with Salesforce.com about Flex and Apollo. They had begun building some Flex applications that used the Flex Ajax Bridge to communicate with Salesforce. This worked but they wanted to be able to more easily build Flex and Apollo applications. So I took their JavaScript library and did an initial port to ActionScript. Surprisingly the code ported pretty easily. It was actually a fascinating experiment. ActionScript 3 is based on the same specification as JavaScript 2, so in theory this kind of thing should be pretty trivial — especially if the code being ported doesn’t do much with the browser DOM. That was the situation in this case because the Salesforce JavaScript library talks to their backend via XHR and doesn’t do much with the browser DOM. Once I had an initial port done including authentication and query support Ron and Dave from Salesforce.com cleaned everything up, added better object typing, built complex examples, and developed an Apollo demo. Everything has been going on under a semi-secret SourceForge project, code named Mavericks.

My Recent Flex & Apollo Adventures

Sorry this blog has been pretty stagnant lately. Things have been totally crazy. I’ve been touring the country speaking at Java User Groups and other conferences. The JUGs have been really fun. It’s amazing to see how quickly the Java crowd falls in love with Flex, like I did a few years ago. There are still more JUGs, conferences, and eSeminars coming up so please check out the schedule and see if I happen to be in your home town sometime soon. If you will be around the Bay Area for JavaOne, we will be throwing a huge bash with Bruce Eckel. The details are still being finalized, but stay tuned. Also coming in October is the annual Adobe developer conference, called MAX. It will be full of top notch Flex sessions by many of our star engineers. Definitely not something you want to miss. In May I’ll be doing a triple header in Vegas; Las Vegas Adobe User Group, Nevada Java User Group, and Interop. Hopefully some of these events are in your home town since I’d love to meet you all in person!

Eckel Flex eSeminar; Buni Joins java.net; Twitter Addiction

Yesterday was an exciting day! Bruce Eckel and I hosted an eSeminar about Flex & Java. We had a few technical difficulties, but overall it was very good. You can watch the recording here:

https://admin.adobe.acrobat.com/_a227210/p16565134/

Bruce and I have a few more eSeminars coming up, find out more info here:

http://www.adobe.com/cfusion/event/index.cfm?event=detail&id=462539&loc=en_us

Also yesterday the Open Source Buni Meldware Communication Suite joined the Java.net community. This is a great step forward for the project, which uses Flex for it’s Webmail client. More info from Andy Oliver:

Reusable Ant Task: Compile Flex If Source Was Updated

I’m working on a project that compiles 11 Flex applications. My Ant build file was getting pretty messy and I was continually commenting out files that I didn’t want to build. By using an Ant macro and some uptodate trickery I was able to significantly decrease my build times when I am only updating files for a single application. The macro also helped to make the build much more manageable.

How I Overcame My Fear of Flash

Long ago I remember the first Flash site I ever saw-spinning gears replaced typically boring site navigation and sound illuminated a previously silent web. My jaw dropped and I said to myself, “I want to build these kinds of websites!” After playing with Flash Professional for days, I realized that my mathematically inclined brain just could not output the kind of beauty that I began to see all over the Flash powered web. I gave up and resorted to building very ugly HTML interfaces. Not because I didn’t want them to look better but rather, it was just too much work and I lacked the skill.

Faster Flex Applications: Shrink Your RSLs

A few days ago Metal pointed out to me in a comment on my blog that by using the SWFs inside a SWC, my RSLs are much larger than they need to be. Sure enough he was right. When you use compc to create a SWC, the SWF inside the SWC contains a lot of unnecessary stuff when used as an RSL. That stuff is necessary to create an application which uses the SWC, so don’t go ditching compc. Here is what you need to do if you want to have size optimized RSLs: