Last night, Mike Potter (from Adobe’s developer relations group) presented to BostonPHP. The podcast version is now available from the BostonPHP homepage or this direct link. Most, if not all, of the demos Potter gave are on his site as well.
He showed a number of intriguing things, including:
- Flex 2 SDK, FlexBuilder, Flex Data Services, etc. Basically the whole 2.0 line of Flex, which provide an environment (IDE), packaged components, and a compiler which outputs .swf format, to be deployed to a web server and interpreted by the Flash player in the user’s browser
- AMFPHP (a non-Adobe open source project) for sending objects back and forth between PHP on the server and Flash on the client without the need for serialization/deserialization. (No current support for nested objects, but an array of objects can be returned directly).
- Apollo, which he described but did not show – basically an “.swf runner” which will let users download Flex applications (as .swf files) and run them in a desktop environment without communication back and forth with a server. Will also probably serve as a host environment to PDF files, and potentially (Potter was less committal here) AJAX applications. A developer preview should be coming “later this year.”
A few notes:
The Flex 2 “platform” as a whole has some pieces that are free (as in beer, not speech) and some pieces that require paid licensing. The IDE, built on top of Eclipse, will cost “under $1,000” and perhaps even “well under $1,000,” but likely much more than $0.
Flex 2 output .swf files require Flash 9 player on the client side. (This is the player formerly known as Flash 8.5). While Adobe has been strong (or Macromedia was and I see no reason to expect Adobe to change it) at getting new versions of the player deployed quickly, in the immediate future this will limit the audience.
The demos showed strong performance gains for Flash-based rich applications as compared to Ajax – ~2.6 seconds for a call to retrieve 1000 rows by 7 columns of data in Flash versus ~9 seconds in “Ajax.” (Not sure what framework / js code was used). Obviously Adobe’s put a lot of work into the Flash 9 player, and it makes sense that it would be fast for optimized operations. Of course this doesn’t mean your app would be faster in Flex, but it was interesting to see Adobe starting to make that argument.
The Flash player can also save locally on the browser’s host OS, up to 100k without user permission – and the user can set that up to 10MB or “unlimited.” However, this space is shared amongst all swfs run in that browser. (The data in the space can’t be accessed across swfs, but everyone’s taking space from the same pool – that could make debugging problems “in the wild” intersting).
He also briefly mentioned the Spry framework, which is an AJAX toolkit Adobe released, but said that in his opinion AJAX is just a stepping stone on the way to better dynamic interfaces (in Flash, XUL, XAML, or other technologies).