Im a little late on this, but the Flex and Flex Builder teams just released updates to the Flex SDK and Flex Builder 3, which among other things, adds support for Adobe AIR 1.1.
There are also a ton of bug fixes for the Flex SDK and Flex Builder, as well as preliminary support for working with Flash Player 10 content in Flex Builder (although it is not clear where to download the debug player from. Im looking into this).
The FlexUnit ActionScript 3 unit testing library has moved to the Adobe Open Source website. Alistair Mcleod has all of the details on his blog, including screen shots and new info on some of the updates included in the new release (which includes a much improved test runner).
You can find all of the new FlexUnit home here.
One of the new features in Flash Player 10 are new ActionScript FileReference APIs that allow Flash content to directly read and write data to the user’s system.
Prior to Flash Player 10, in order to read or write a file to the user’s system, Flash content would first have to bounce it off of a server, and then load it back to the users system before it could be accessed. This was not only a hassle to program, but added additional application latency and resource usage.
One of the new ActionScript features included in the Flash Player 10 Public Beta is the inclusion of a Vector class. Essentially, the Vector class is a typed Array, and in addition to ensuring your collection is type safe, can also provide (sometimes significant) performance improvements over using an Array.
Using the Vector class is pretty simple, and very similar to using an Array. In fact, the Vector class contains all of the same methods as the Array class. The main difference is how you instantiate it.
There are quite a few security changes in the upcoming Flash Player 10, some of which may require changes to content or policy files to ensure that content continues to work.
Below are a couple of articles that discuss some of the security changes in Flash Player 10:
Understanding the security changes in Flash Player 10 beta
http://www.adobe.com/devnet/flashplayer/articles/fplayer10_security_changes.html
Working with policy file changes in Flash Player 9 and Flash Player 10 beta
http://www.adobe.com/devnet/flashplayer/articles/fplayer9-10_security.html
I have been having a lot of fun hanging out in the Flash Platform Chat room I set up last week. However, it can be a little bit of a hassle to connect to the room depending on which Jabber / XMPP client you are using. I am working on an AIR app for the chat that will make it super simple, but until then you will have to use your own client.
The title pretty much sums it up. Is anyone using ActionScript 2 as the root content of an AIR application? or know or any AIR apps built with ActionScript 2 at the root content?
Note that Im not talking about AIR applications that are built in ActionScript 3 that contain AS2, but rather AIR applications that has its main root content as AS2 content.
Also, if you are using AS2 content in an AS3 or HTML based AIR application, what are you using it for.
I have set up a permanent test group chat room on the Flash Platform community chat server. This can be used if you need to test your chat client, or if you are building an XMPP / Jabber client and need a remote room to test on.
Here is the info:
Server : mikechambers.com
Port : 5222
Room name: test
Server : conference.mikechambers.com
You can find more info on the server here.
I posted some code the other day that showed how to use the XIFF AS3 Library to connect to an XMPP server and join a group chat room.
Below is an slightly modified example that shows how to login anonymously, and connect to a room.
import org.jivesoftware.xiff.conference.Room;
import org.jivesoftware.xiff.core.JID;
import org.jivesoftware.xiff.core.XMPPSocketConnection;
import org.jivesoftware.xiff.events.LoginEvent;
import org.jivesoftware.xiff.events.RoomEvent;
import org.jivesoftware.xiff.events.XIFFErrorEvent;
private var connection:XMPPSocketConnection;
private function onCreationComplete():void
{
connection = new XMPPSocketConnection();
connection.useAnonymousLogin = true;
connection.server = "mesh.local";
connection.port = 5222;
connection.addEventListener(LoginEvent.LOGIN, onLogin);
connection.addEventListener(XIFFErrorEvent.XIFF_ERROR, onError);
connection.connect("standard");
}
private function onLogin(e:LoginEvent):void
{
var room:Room = new Room(connection);
room.roomJID = new JID("test@conference.mesh.local");
room.nickname = "frank";
room.addEventListener(RoomEvent.ROOM_JOIN, onRoomJoin);
room.join();
}
private function onRoomJoin(e:RoomEvent):void
{
Room(e.target).sendMessage("im here");
}
private function onError(e:XIFFErrorEvent):void
{
trace(e.errorCode);
}
The two differences are that you set:
As you have probably heard by now, the ECMAScript committee has decided to halt work on ECMAScript 4 in favor of an incremental updated to JavaScript (know as ECMAScript 3.1). Im not going to go into the details of what happened (you can find good discussions of it here, here and here), but I did want to make a quick post and discuss how this affects ActionScript 3.
It doesn’t.
ActionScript 3 is not going away, and we are not removing anything from it based on the recent decisions. We will continue to track the ECMAScript specifications, but as we always have, we will innovate and push the web forward when possible (just as we have done in the past).