Restrictions on use of the SWF and FLV/F4V specifications will be removed
The device porting layer APIs for Adobe Flash Player will be published
The Adobe Flash® Cast™ protocol and the AMF protocol for robust data services will be published
Licensing fees will be removed – making next major releases of Adobe Flash Player and Adobe AIR for devices free
What does it really mean? Well it could be the promise of a universal application platform and the ability to write an application and deploy it everywhere. But, we know, with the likes of Apple and Google, who haven’t really taken to the flash platform, that probably isn’t the case. To me it means that Adobe is allowing the community as a whole to participate in the direction that the flash platform takes. To develop what what the community wants and thinks needs to be developed. This is a good thing - yay Adobe and yay Flash!
I finally have some time to post about our Continuous Integration (CI) set up for ActionScript 2.0 and Flex/ ActionScript 3.0 projects. To continue on from the first post, I’ll explain all of the pieces & parts that are needed to get a similar CI system rolling.
First, the parts that you’ll need for any project:
The project files - I’ve created a very simple same project that you can download for testing.
Next if you are going to build ActionScript 2.0 projects you’ll need:
Flash IDE for ActionScript 2.0 projects - Yeah a little bit of a bummer. You’ll need to install the IDE on the CI server so the projects can be built. I’m sure you could set it up with MTASC, but we needed to compile in the IDE.
FlashCommand to build ActionScript 2.0 projects using the IDE (Mac Version) - Mike Chambers built this nifty tool and I’ve been using it for a while since I work in Eclipse with my ActionScript 2.0 projects.
ASUnit for unit testing your ActionScript 2.0 projects
The stand-alone flash player
Finally if you are going to build Flex Projects you’ll want the following:
Yeah, that seems like a lot, but once everything is set up it is easy to maintain…almost set and forget. As a note, this is all going to be set up on a PC, I’m not a Mac guys, so sorry there, but I would hope the set up would translate nicely from PC to Mac. We now have the basic moving parts of the system. In my next few posts, I’ll explain setting up the system:
Lately I’ve been working with CruiseControl, a continuous integration tool, and unit testing (ASUnit and FlexUnit) for our ActionScript 2, ActionScript 3/Flex projects. With the help of a couple of some great posts from eyefodder and Peter Martin, I’ve finally come up with a nice little system that isn’t too much of a headache to set up and is very easy to maintain once it is set up.
When I get some real time, I’ll be sure to blog about the set up and give some walk-throughs on how to get everything up and running.
The basic ‘gist’ of continuous integration is:
To build your code as soon as it changes. This helps to identify problems with the source code as quickly as possible after the problem is introduced. By introducting unit tests into the build process, you add more integrity to the build as well as your code.
So, like I said as soon as I get some real time, I’ll be sure to put together some set up information.
Problem: We want to add a pop-up box to a TextArea control as a user is types a specific word or set of words into a TextArea control. The pop-up box should needs to be at the position of the cursor, but we don't know the x & y position of the cursor.
Solution: With a little coercion and the TextLineMetrics class, we can approximate the x & y position of the cursor.
Example using a TextArea control with the id of myTextArea:
The TextLineMetrics class contains information about the text position and measurements of a line of text within a text field. All of the measurements are in pixels, so we are just aproximating the x & y position.
The problem with the above example is that it only works for the last character that you type into the TextArea. If we want to get the actual cursor position we'll need to create a custom component using the a TextField.
Below is a link to a simple component that figures out an approximate x & y based on the index of the character 1 less than the current position of the carat within the TextField.
Apollo is a cross-OS runtime that allows developers to leverage their
existing web development skills (Flash, Flex, HTML, Ajax) to build and
deploy desktop RIA’s.
Mike Chambers got up and gave a great introduction to the Apollo team and let everyone know about the great swag that was given out to all the attendees:
Adobe really pumped up the swag for Apollo Camp:
Flex Builder with charting
Apollo CD with goodies and docs
Apollo t-shirt
Apollo Book
Kevin Lynch dropped in to present a good overview about why Apollo and why Adobe might present the bits and bytes of Apollo early. Adobe revolutionizes how the work engages with ideas and information across multiple platforms (This is a huge push...cross platform) and devices.
Client tchnolgies
Server technologies
Applications
Pretty much the standard pitch about Adobe technolgies, but hey it's Kevin Lynch, he's been doing this for 10 years. One of the big pushes is for PDF, PDF is being released to ISO.
Apollo is trying toenable web to the desktop. There are a couple differenct engines that are inside of Apollo based on what people are trying to create. Mostly what is happening is people are trying to create tools that bring in more desktop functionality into the web space, also includein gthe mobile space.
- Establishing a first class presence for your application.
Desktop Rich Internet Applications (dRIAs) is the direction Adobe is looking.
SWF and HTML - top level to build applications in Apollo.
SWF - AS, FLex, XM, Video, Audio,
HTML - JS, CSS ,XML
Local Fiel access, netowork status, drag and drop, clipboard access, background processin, mutiple window support, custom window crome.
Examples:
Companion applicaiton for amazon watchlist
Feed reader with HTML, Scriptaclous (Web app running as a desktop app)
Flex word processor (Buzzword) desktop companion to web application.
PDF Support sample applicaiton - finnancial data applicaiton, PDF support will be supplied via the Acrobat plugin (so if you don't have it you'll need to install it)
Timeline:
H1 - 1st 1/2 of the year (labs next week), Moxie Alpha release, creative suite 3
H2 - Flex (Moxie), "Phil0" (Apollo - internet TV app), Flash Media Servier
Q&A:
No plans to support QuickTime
Centralized distribution and installation
Installation super smooth and clean
Migration from Flex 2 into Moxie...flex team says "Very easy!"
Kevin Lynch says "Whats Moxie?" really, someone asked a question about migrating current Flex applications to Moxie and he asked what it was...hehe.
Apollo, most likey will not be the name of the product, someone else has taken it. So they are look at another "cool" name, well just have to wait and see what it is I guess.
We're in San Francisco for Adobe's Apollo camp. Just had lunch with a couple of the guys from the Flash Player QA team. Definitely a fun bunch to to meet and talk with.
I'll be sure to update with any nifty things that I get out of the Apollo presentations. only a couple of hours of waiting left.
I'm a senior developer at RealEyes Media, Adobe Certified Instructor and Adobe Certified Professional. Here you'll get my ideas and experience Flex, Flash, ColdFusion and related technologies as well as some generally off the wall stuff.