Adobe, Arbitrary Thoughts, Flex, Open Source

A Saturday Night Status in the World of Flex

Upon a week of drama across the world of Flex, the past week proved to be business as usual… and thank heavens for that.

In case you have missed it, the Flex team at Adobe has amended their original statement regarding the future of Flex in the context of Adobe.

We are preparing two proposals for incubating Flex SDK and BlazeDS at the Apache Software Foundation.
In addition to contributing the core Flex SDK (including automation and advanced data visualization components), Adobe also plans to donate the following:

  • Complete, but yet-to-be-released, Spark components, including ViewStack, Accordion, DateField, DateChooser and an enhanced DataGrid.
  • BlazeDS, the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Flex applications.
  • Falcon, the next-generation MXML and ActionScript compiler that is currently under development (this will be contributed when complete in 2012)
  • Falcon JS, an experimental cross-compiler from MXML and ActionScript to HTML and JavaScript.
  • Flex testing tools, as used previously by Adobe, so as to ensure successful continued development of Flex with high quality

Adobe will also have a team of Flex SDK engineers contributing to those new Apache projects as their full-time responsibility. Adobe has in-development work already started, including additional Spark-based components.

You can read the entire post here:
http://blogs.adobe.com/flex/

Eventually, its a much more positive and inspirational variant of the post after the update compared to the original one, so thanks to Andrew and Deepa for taking the time to make the effort to apply the amendment.

In retrospect, I found the entire experience of having the bag shaken in which we have placed our faith to be motivational and a reminder to update my skillset. This last point is something we can all take away from this experience.

Upon talking with dozens of Flex developers over the past weeks, it became clear that some of us had forgotten to stay updated and expand our toolset, and regardless of what happens to Flex, this is an important reminder. A professional is only as good as his tools allow him to be and the quality of the output depends on both the skill of the professional as well as their ability to choose the right tool for the job.

We should use Flex when it makes sense and remember to stay tuned to what is going on in other areas or our industry for the moment when Flex may not be the optimal tool for the job.

Another reminder I have taken away from this experience is my old commitment to continuously contribute to at least one Open Source project at any given time… obviously I will be contributing to Flex once it hits the repositories… why don’t you join me ?

Adobe Flex, Tools

Announcing “Project FlaXe”, a vision for the future of Flex

David Arno is in the same position as the lot of us working with Flex, its obvious that things will change in the years to come and one of the likely changes will be the much anticipated move to the Open Web Standards Technology Stack. However, this doesn’t change the fact that Flex will remain a superior application technology for years to come…

He has announced his idea and vision, Project FlaXe, and it goes something like this…

This set me thinking: could the community create a way of migrating existing Flex solutions away from the Flash player? The fact that the SDK will be handed over to an open source foundation offers a way of achieving this: compile Flex solutions to targets other than the Flash player. One way of doing this would be to take the mxmlc compiler code (which is part of the Flex SDK and thus maybe open for community modification too) and add a new backend to it that outputs JavaScript for example. A more exciting possibility though is haXe. Since its launch in 2006, AS3 has changed very little and so has become a somewhat outdated and stagnant language. As Adobe have shown no interest in evolving the language, Nicolas Cannasse developed a replacement for it: haXe. haXe is a more up-to-date, powerful and all-round-better language than AS3. In addition, it can be compiled to the Flash player, JavaScript, the command line and versions to output to Java, C# and iOS are being worked on. However haXe does have one weakness: the only interoperability between it and AS3 lies with the Flash player target, by using SWCs.

So I’m proposing “Project FlaXe” to address that and to turn haXe into a first-class Flex programming language.

Check out his blogpost…
http://www.davidarno.org/2011/11/14/announcing-project-flaxe-a-vision-for-the-future-of-flex/

ActionScript 3.0, Flex, JavaScript, Tools

Introducing Jangaroo…

Jangaroo is an Open Source project building developer tools that adopt the power of ActionScript 3 to create high-quality JavaScript frameworks and applications.

There are two main use cases when you might want to use Jangaroo tools:

  • JavaScript programming in the large – Adopt ActionScript 3 language features like packages, classes and inheritance, interfaces, private members, and many more to create even large-scale client-side Web code, where you otherwise would have used JavaScript directly. This approach is extremely helpful when creating frameworks with explicit public APIs, but also for larger applications that use such frameworks.
  • Running ActionScript 3 code directly in the browser – You are implementing a Web project that must not rely on plugins and/or requires close integration into an HTML Web site, possibly already using some JavaScript framework. You want to reuse or build upon existing ActionScript 3 code (utility classes, frameworks like FlexUnit, custom code) as well as JavaScript APIs and code.

This obviously is a very useful approach and if the end-result actually is useable, it would give us the very best of both worlds… especially since Jangaroo maintains edit-ability in the source between productions… very very useful in deed.

I will be taking Jangaroo for a spin at first given opportunity considering the magnitude of the benefits if the approach were made to work.
A really nice little “feature” is that Jangaroo keeps the generated code close to the source, even keeping line numbers to allow source-level debugging… pretty kewl !

Check it out…
http://www.jangaroo.net/home/

…and thanks to Kevin Newman for the heads-up, be sure to check out his blog…
http://www.unfocus.com/

Uncategorized

by popular demand: The SkinnablePopUpContainer

A frequent question is how to open PopUp windows in a target platform neutral way and in compliance with strict Flex4 coding practices…

Here is a quick sample of how to do that…

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx">

	<fx:Declarations>
		<fx:Component className="MyAlert">
			<s:SkinnablePopUpContainer>
				<s:TitleWindow title="Launching World Domination..." close="close()">
					<s:VGroup horizontalAlign="center" width="100%">
						<s:Label text="World Domination failed. Sorry!"/>
						<s:Button label="OK, nevermind" click="close()"/>
					</s:VGroup>
				</s:TitleWindow>
			</s:SkinnablePopUpContainer>
		</fx:Component>
	</fx:Declarations>

	<s:Button label="Launch World Domination" click="(new MyAlert()).open(this, false)"/>

</s:Application>
Tools

FlexMonkey 1.0 Released… a stunt by Gorilla Logic

Now, after more than a year laying around in the mold and in the making, FlexMonkey has finally rounded the difficult 1.0 corner…

FlexMonkey 1.0

FlexMonkey is an Adobe AIR application used for testing Flex- and AIR-based applications. Providing the functionality to record, playback and verify Flex UI interactions, FlexMonkey also generates ActionScript-based testing scripts that you can easily include within a continuous integration environment.

FlexMonkey is created by the ingenious guys at Gorilla Logic: a US company based in Colorado.

Guerilla Logic

Check out their website…
http://www.gorillalogic.com/

ActionScript 3.0, Adobe Flex

Introducing HydraMVC…

HydraMVC is one of the most recent newcomers to the scene of Application Frameworks and Architecture Blocks for Flex Applications.
Its definitely something I’m going to check out in parallel to my love affair with the Mate Flex Framework.

2009-06-04_1707

HydraMVC is the result of a total rewrite of the PureMVC API exclusively for Flex, allowing Flex developers to take advantage of the PureMVC paradigm while leveraging native Flex features.

In addition to using Events vs. an independent Observer pattern, HydraMVC also streamlines implementation, encapsulating much of the initialization code that needed to be written when implementing PureMVC.

HydraMVC was written out of a love / hate relationship with PureMVC; it’s not our intent to say it’s “better” than PureMVC, because the mission of the frameworks are entirely different. PureMVC intends to be language-agnostic, where HydraMVC is a compromise by design.

While HydraMVC is an MVC framework, the demos also imply a strategy for package structure, although the implementation of HydraMVC will work regardless of whatever package structure convention you use. The goal was to create a structure that scales well for large applications, but it also allows you to quickly develop small applications in a proper MVC.

Tools

The next version of Flex Builder will be named Flash Builder

Flex Builder 4 (Codename “Gumbo”) will represent a radical namechange as it will be called Flash Builder instead of Flex Builder.
This will strengthen the cohesiveness of the tools around the Flash Platform (Flash CS, Flash Builder, Flash Catalyst, Flash Player, Flash Media Server, etc.) and hopefully make it more easy in the future to explain the difference between Flex and Flash and to distinguish between what is what in the tool-suite and what their purpose is.

Flash CS will keep its name despite speculations of its change into something as exotic as Flash Authoring, Flash Animator, etc.

The logo for Flash Builder looks like this…

flash_builder_logo

You can read much more about that in the exhaustive explanation by Ryan Stewart…
http://blog.digitalbackcountry.com/2009/05/flex-builder-gumbo-is-being-renamed-flash-builder/