Flex

Flex AOP and Puzzlers at Flash Camp Italy

Next week I’ll be speaking at the Flex Camp in Rimini, Italy. On September 23, Mike Labriola and I will be doing two sessions. First is “Planet of the AOPs” where we will show how Aspect Oriented Programming can be implemented in Flex using runtime bytecode modification. Mike and I will also be doing a little “Flex Puzzlers” session where you will discover some very peculiar things about Flex and Flash Player. It’s going to be a blast and I hope to see you there! Also, there will be a raffle for a copy of Creative Suite 5.5 and a Playbook. So go sign up NOW!

Seattle Force.com Developer Meetup on June 22

UPDATE: This event has been canceled! Sorry!

Next week I’ll be presenting in Seattle at my first Force.com Developer Meetup! It starts at 6pm on Wednesday, June 22. My session will be on Flex Mobile Development. Other sessions include Force.com Platform Basics, Native iOS Development using JavaScript, and a Force.com Hands-On Lab. It’s going to be a fun evening, so if you are in the Seattle area, then I hope to see you there!

New Adventures on The Cloud

When I started doing professional software development almost 15 years ago I was focused on the server-side. I started with Perl / CGI web apps - some of which are still in production today. Then I dove into Java web development with Java Web Server 1.0, Struts, JBoss, Tomcat and many other game changing technologies.

In 2004 I started getting into Macromedia Flex. I was amazed at how easy it was to retrieve and nicely render data from a Java back-end. In 2005 I began evangelizing Flex + Java. Following the acquisition of Macromedia by Adobe, Flex has really flourished. Adobe Flex is now the dominant RIA technology and it has been so fun to be a part of that!

Extending AIR for Android

*** The following is totally unsupported by Adobe ***

*** UPDATE: Adobe has officially added native extensions to AIR. I highly recommend you use that approach instead of mine. ***

Adobe AIR provides a consistent platform for desktop and mobile apps. While consistency is very important there are times when developers need to extend beyond the common APIs. This article will walk you through how to integrate AIR for Android applications with other native APIs and functionality in the Android SDK. It covers three common use cases for native extensibility: System Notifications, Widgets, and Application Licensing.

Introducing Mixing Loom – Runtime ActionScript Bytecode Modification

At this year’s 360|Flex conference in Denver, Mike Labriola and I unveiled a new project we’ve been working on called Mixing Loom. Our presentation was called “Planet of the AOPs” because Mixing Loom lays the foundation for true Aspect Oriented Programming (AOP) on the Flash Platform. Mixing Loom provides Flex and ActionScript applications the hooks they need to do bytecode modification either before runtime or at runtime. Through bytecode modification an application can apply a behavior across hierarchies of objects. There are a number of behaviors in a typical Flex application (such as logging, security, application configuration, accessibility, and styling) that could be represented as Aspects. Today these behaviors must either be included in every class that needs them or included way down the object hierarchy (i.e. UIComponent). With Mixing Loom a compiled SWF can be modified (applying necessary behaviors) after it’s been compiled or as it’s starting up.

Using an Embedded WSDL with Flex’s WebService API

Recently I was helping a customer figure out how to use an embedded WSDL with Flex’s WebService API. One scenario in which this is needed is when the actual WSDL is not available at runtime. In this case the application must contain the WSDL instead of request it at runtime. The Flex WebService API today only supports loading the WSDL over the network at runtime. Beginning in Flash Builder 4 the Service wizard generate code that internally use the WebService API. So no matter how you integrate with a SOAP Web Service in Flex, you need the WSDL accessible via a URL at runtime. This wasn’t possible for the customer I was working with so we figured out a way to actually embed the WSDL into the application. Here is what we did…

Tour de Mobile Flex on iOS

Flex support for iOS apps is coming in June 2011!!! Here’s a little sneak peak of the Tour de Mobile Flex app running on iOS:

These are exciting times for developers! With Flex we will be able to use one technology and one code base to build apps for iOS, Android, Playbook, Windows, Mac, Linux, IE, Firefox, Chrome, Safari, etc! Fun times!

Next week in Denver: 360|Flex and Flex Camp 2011

Next week I’ll be presenting at two great Flex events here in Denver, Colorado. On Sunday April 10th, Greg Wilson and I will be presenting an “Intro to Building Mobile Apps” at 360|Flex. Then on Tuesday April 12 Mike Labriola and I will leave the world of Flex bewildered and befuddled when we present “Planet of the AOPs” (also at 360|Flex). And on Thursday April 14 I’ll be presenting “Building Cross-Device Apps with Flex” at the Denver Flex Camp. It’s going to be a really fun week and I hope to see you there!

Planet of the AOPs at 360|Flex

This year at 360|Flex in Denver I’ll be co-presenting a session with Mike Labriola called “Planet of the AOPs”. What is the Planet of the AOPs? Let me give you a little hint…

public class Foo {
  private function getPrivateBar():String {
    return "private bar";
  }
}
var foo:Foo = new Foo();
foo['getPrivateBar']();

Yup! It’s gonna be fun! The session will be on Tuesday April 12th at 2:50pm. Hope to see you there!

Also, Mike and I are doing a 360|Flex speaker chat today at 11am (MDT).