Flex Amazon Explorer

Posted by HCL - RIA Group in

Click here to download the code.

The Evolution of the Flash Platform

Posted by HCL - RIA Group in

ActionScript 3.0 APIs

Posted by HCL - RIA Group in , ,

This page contains various open source ActionScript 3.0 APIs which is developed specifically for Adobe Flex and AIR.


IMap:
Defines the contract for lightweight HashMap implementations which are to expose an API into a managed collection of key value pairs
IMap

HashMap:
IMap implementation which dynamically creates a HashMap of key / value pairs and provides a standard API for working with the map
HashMap

ResourceMap:
IMap implementation which dynamically creates a Map of key / value pairs and provides a standard API for creating, removing, updating and deleting resources at runtime.
ResourceMap

LocalPersistenceMap:
Provides an IMap implementation into the data object of a SharedObject on a clients local file system.
LocalPersistenceMap

IHashMapEntry:
Defines the contract for classes which are to provide a specific implementation of an IMap entry.
IHashMapEntry

HashMapEntry:
Provides a strongly typed implementation of a key / value pairs.
HashMapEntry

Iterator:
Defines the contract for concrete classes which must provide an API for performing iteration over an aggregate object.
Iterator

CollectionIterator:
Concrete Iterator implementation which provides an API for iterating over an ICollectionView.
CollectionIterator

ArrayIterator:
Concrete Iterator implementation which provides an API for iterating over an Array
ArrayIterator

IEnumeration:
Defines the contract for concrete Enumeration implementations which must provide an API for generating a series of elements from which each element can be accessed successively
IEnumeration

StringTokenizer:
StringTokenizer provides a simple API from which Strings can be split into individual tokens based on a specific delimiter.
StringTokenizer

CollectionSortUtil:
Utility class which provides sorting of an ICollectionView based on specified key.
CollectionSortUtil

IQueryString:Defines the contract for classes which are to provide an API which allows detailed inspection / modification of a QueryString.
IQueryString

QueryString:
Provides an API which allows for detailed inspection and / or modification of an application QueryString.
QueryString

INamespaceManager:
INamespaceManage defines the contract for Namespace management APIs which are utilized by classes and components within an application to retrieve the unique Namespace under which the current context of an application is executing.
INamespaceManager

ContextNamespace :
ContextNamespace is a Singleton class which can be utilized by classes within an application to retrieve a contextual namespace in which methods and properties of an object are to be referenced under
ContextNamespace

Encryption:
Provides an all static API which wraps the SHA1, SHA-256 and MD5 encryption algorithms, respectively, to allow specific encryption algorithm to be applied to a String
Encryption

GUIDFactory:
All static API which provides a Factory implementation for generating Genuine Unique Identifiers (GUID)
GUIDFactory

IGUID:
Defines the contract for classes which must provide an API in which clients can get / set Genuine Unique Identifiers (GUID).
IGUID

TestSuiteHelper:
All static utility class which provides a mechanism for adding derived TestCase instances to a TestSuite for each method defined by a specific class
TestSuiteHelper

IExecutable:
Defines the contract for classes which are to provide an API which calculates the elapsed time of a code execution
IExecutable

Execution:
Convenience class which provides a simple API whereby a specific code execution duration can be measured for calculating relative time in milliseconds
Execution

MemorySnapshot:
Creates a snap shot containing the total allocated memory used by Flash Player which can be used for diagnostic purposes.
MemorySnapshot

SingletonManager:
All static class which enforces classes adhering to the Singleton pattern are only ever to have a single instance instantiated, thus eliminating the Singleton construction / protection code from the actual class implementation.
SingletonManager

AbstractEnforcer:
All static class which provides an API for enforcing a pseudo-abstract class can never have an instance instantiated
AbstractEnforcer

AbstractStaticType:
Abstract class which enforces a class of static type is never instantiated
AbstractStaticType

ConstantDefinitionUtil:
All static utility class which provides a mechanism for determining if a static constant has been defined by a specific Class object as well as operations for inspecting constants which have been defined by a class object
ConstantDefinitionUtil

AbstractError:
Pseudo-abstract class which provides a base class implementation allowing sub-classes to replace message tokens with arbitrary detail parameters
AbstractError

DynamicBindingChain:
Provides a mechanism for dynamically adding data bindings to a property on an object as well as management of all objects within the Binding Chain.
DynamicBindingChain

DeepCopy:
Utility class consisting of a single static method which creates a deep copy (clone) of an object to a new memory address
DeepCopy

Reflection:
Retrieves the class Object for the String name representation of a specified type
Reflection

BinaryConversion:
All static utility class which provides an API for converting numeric data types to their 4, 8, 16 and 32-bit binary equivalents, respectively
BinaryConversion

LocaleHelper:
All static helper class which provides an API for determining specific client Locale information.
LocaleHelper

StringUtils:
All static utility class which builds on mx.utils.StringUtil to add additional methods for replacing items in a specified String
StringUtils

EnterKeyHelper:
All static class which provides a mechanism from which Keyboard enter key events can be handled to invoke the appropriate handler with arbitrary parameters
EnterKeyHelper

ResourceInspector:
All static class which provides utility methods for performing detailed inspection of a ResourceBundle
ResourceInspector

URIRequestHelper:
All static class which provides an API for loading a linked document to a specified target
URIRequestHelper

HTTPPOSTGateway:
Provides an API which parses an arbitrary object and posts the properties of the object as a set of name / value pairs in an URI encoded HTTP Post
HTTPPOSTGateway

IViewNotifierEvent:
Provides a mechanism which facilitates view notification for CairngormEvent sub-classes by dispatching result / fault events back into the event flow from which views of interest can addListeners and respond accordingly
IViewNotifierEvent

XMLSerializationUtil:
All static API which provides a utility for serializing an n-level nested Object to an XML encoded document structure.
XMLSerializationUtil

IXMLEncodable:
Defines the default contract for encoding a generic object to an XML encoded object as well as decoding an XML object to a generic object type
IXMLEncodable

XMLDocumentLoader:
Utility class which defines a single static method which for loads an xml Document
XMLDocumentLoader

XMLAttributeUtil:
All static class which provides an API for querying XML attributes
XMLAttributeUtil

IDAO:
Provides a Generic client side DAO / CRUD implementation which has been adapted from a typesafe Hibernate / Spring AOP DAO.
IDAO

IAMFSerializable:
Defines the contract for serializing / deserializing AMF encoded classes in order to preserve and retain type
IAMFSerializable

DoubleClickGesture:
All static utility class which detects a double click based on a minimum duration of 300 milliseconds
DoubleClickGesture

IResourceWriter:
Defines the contract for classes which must provide an API for writing properties to a resource bundle
IResourceWriter

ResourceWriter:
Provide an API for synchronized .properties file creation and modification for Adobe Apollo
ResourceWriter

IInspectableFileClient:
Defines the contract for classes which perform File related tasks and must provide an interface into the File object
IInspectableFileClient

FileWriter:
Provides an API for synchronous and asynchronous File creation to a local filesystem
FileWriter

INativeDragOperationClient:
Defines the contract for classes which are to handle NativeDragEvent which occur when a file is dragged from the users desktop to an AIR application
INativeDragOperationClient

NativeDragOperation:
Provides an API from which multiple clients of interest can receive notification when a NativeDragEvent occurs as a result of a specific user gesture which triggers a Drag and Drop operation
NativeDragOperation

ClientSystemCapabilities:
All static class which provides an API for retrieving a users system capabilities
ClientSystemCapabilities

FlashPlayerGlobals:
Provides an all static API which facilitates the inspection of the Flash Player version and the underlying Actionscript Virtual Machine version.
FlashPlayerGlobals

AVM2MemoryUtil:
Utility class which provides static methods for retrieving the total memory allocated to the Flash Player VM in bytes, kilotbytes or megabytes
AVM2MemoryUtil

ManagedTimer:
All static class which provides an API for working with Managed Timer instances
ManagedTimer

USDCurrencyFormatterFormats:
a Number to a valid USD / 840 US Dollar, For instance, converts 20304.05425 to $20,304.05 and so forth
USDCurrencyFormatter

DisplayObjectReparenter:
All static utility class which provide an API in which DisplayObjects can be reparented to a new parent container within the system.
DisplayObjectReparenter

AlertWindowHelper:
Alert Helper class which handles displaying a Alert window which contains a custom title, message and handlers for OK, Cancel, Yes and No
AlertWindowHelper

AMFPHPRemoteGateway:
Provides a generic AMFPHP gateway implementation for performing remote procedure call (RPC) service invocation.
AMFPHPRemoteGateway

WebORBPHPRemoteGateway:
Provides a generic Weborb for PHP gateway implementation for performing remote procedure call (RPC) service invocation.
WebORBPHPRemoteGateway

IPV4Inspector:
Provides an API for inspecting and validating an ip address which is to validate against an IP version 4 Address (IPv4)
IPV4Inspector

Tutorial | Installing and Using Google Maps in Flex

Posted by HCL - RIA Group in

Google has just released a Flash edition of the Google Maps API. In this tutorial you will how to install the necessary components and build a very basic map. 3

Read Tutorial

Possibly related posts: (automatically generated)
Google Maps API for Flash
More Infrastructure for the Geospatial Web
Maps
Google Code FAQ - Using PHP/MySQL with Google Maps

Good Tutorials

Posted by HCL - RIA Group in

Nice Resources

Posted by HCL - RIA Group in

Here are some of the best places on the WEB. If you think that there is more nice resources should be mentioned on this page, pls feel free to leave a comment.



Huge Comment Text Generator !!

Posted by HCL - RIA Group in

script font problem

Again, the code is still quick and dirty, right click to view source or click here


huge text preview

The code is quick and dirty, but there really isn’t much of it :) Either right click to view source or click here

FCG : A Flex Code Generator

Posted by HCL - RIA Group in



Install FCG Beta for AIR 1.0 by clicking the following install badge :

This application requires the following be installed:

  1. Adobe® AIR™ Runtime
  2. FCG

Please click on each link in the order above to complete the installation process.

Overview / Features
How to
Release notes
Feedbacks


Overview / Features


FCG is an
AIR application, currently under development, which primary goal is to automatically provide the base code for your RemoteObject based Flex applications. Basically, it means that it reads some code from the server side, and creates a bunch of MXML and AS files to boost your productivity. Its goal is not to create a ready-to-use application, but to provide the tools you need to do so as quickly as possible.

FCG generates code using either the Cairngorm framework or the PureMVC framework. So FCG is both a Cairngorm generator and a PureMVC generator.

There are some differences between FCG and the other (mainly Cairngorm) generators:

  • It does not just create some packages and close-to-empty files : it can read your PHP, Java or C# code and then create the according AS and MXML files.
  • Contrary to some other generators, I chose not to add any personal class to the generated code. I think it should remain the developer's decision to use, say, a super class, for its Commands that could deal with some common issues. It should not be the generator's decision. Of course, one could argue that some of the code generated by FCG is too invasive, but I generally try to do things "by the book".
  • As an AIR application, it runs on your computer, so you don't need to publish anything on a server to make it work.
  • It is independent from any kind of server side technologies (though only PHP, Java and C# files are supported so far) and from any kind of remoting gateway. In fact, with FCG, you could use, say, an AMFPHP service, a WebORB for Java service, and a Fluorine service, in the same Flex project.
  • It allows you to keep control over the generated files. Many developers are a bit skeptical about code generators, and for a good reason : they're afraid to lose control over their code. Most of the time, they assume that the resulting code just "won't fit". Indeed, generators always have to take some decisions that will obviously not satisfy everyone.
    FCG allows you to keep control over the generated files in three ways:

    1. Options, such as defining some ValueObject properties as getter setters, selecting which Service method you want to implement, strongly type their arguments even if it comes from a not strongly typed language such as PHP. Note that C# and Java data types are automatically "mapped" to a default corresponding AS3 type.

    2. Templates : FCG is a Mixed Code Generator. It means that it uses templates you can modify to adapt it to your dirty habits ;)
    Note : you can find the templates directory at user/applicationdata/FCG/ASTemplates (Windows XP) or user/Library/preferences/FCG/ASTemplates (OSX)

    3. You can generate what you want, when you want, and where you want. This means that you absolutely don't have to use all the files that FCG generates for a project. For instance, you can use it to simply create ModelLocators or business delegates for your existing apps, or even just custom event subclasses, and not use anything else.

Now, what's wrong with FCG?

  • It's a beta version. This means that it has bugs, and some things may not work as expected.
  • It only parses PHP, Java and C# files, and the way it does it is really not that good. FCG makes heavy use of regexps, and I'm still pretty new to this topic. There is big room for improvement here.
  • I wish there were many more options to let the users have even better control over the generated files.
  • On the (crowded) Cairngorm code generation space, Steven Webster has announced that Adobe Consulting was working on a Eclipse Plugin which will probably better than FCG in just every aspect... at least we can hope so.
  • And finally, I think we can all agree to say that it's not the sexiest app out there, and its logo just sucks.


How to



Project set up

You first have to set up your project by setting your fully qualified main package name, and choosing your architecture framework. FCG starts by creating some base files :

  • MainView.mxml, which is supposed to be placed in your application root tag (whether it is mx:Application, mx:WindowedApplication or mx:Module)
  • (if using PureMVC) the ApplicationFacade and a StartUpCommand
  • (if using Cairngorm) the ModelLocator, the FrontController, and the ServiceLocator


Adding Value objects

When you add a ValueObject based on a PHP, Java or C# file, FCG generates an AS3 ValueObject. You can specify its attributes type (especially for PHP since it's not strongly typed) and ask it to create it as a getter setter. Optionally, you can generate an Event based on this Object, with constants representing the CRUD operations. If you use Cairngorm, this Event will be a CairngormEvent. If you use PureMVC, it will be a flash.events.Event.

You can also ask FCG to generate two basic views : a Form view (to let the users edit the ValueObject) and a List view (to display a list of these value objects). Since those views are independent from any framework, they dispatch events (the event we just talked about) using a their dispatchEvent() method, not Cairngorm's dispatch() method (neither do they send PureMVC's Notifications).

If you use Cairngorm, the ModelLoactor will be added two properties : an ArrayCollection and a current[Vo]:[VOClass]
property.

If you use PureMVC, a Proxy based on this object is created and, with each view, a Mediator whose job is to listen to its associated view and then send a Notification.

Adding Remote Services

When you add a PHP, Java or C# Remote Service, FCG generates a BusinessDelegate and one Command per Service method/operation. You can specify the methods parameters types, which, again, is especially useful for PHP with which, by default, the type is Object, and so is the default return type of the methods. Java and C# data types for method parameters and return values are automatically converted to a corresponding AS3 data type.

Back to Flex Builder

FCG does not deliver a ready-to-run application. You'll still have to code to get your application working. Here's what you generally do with the generated code (assuming that you've used all the default options):

  • 1. Add the MainView component to your application tag (Application, WindowedApplication or Module)
  • 2.Cairngorm

    Add to the Lists and Forms components the corresponding Model bindings and event dispatch. The List view has a "collection" property (type ArrayCollection) which is supposed to be bound to the [vo]Collection property of your ModelLocator. It disptaches a set[Vo] event when the user selects something in the Datagrid. The Form view has a current[Vo] property that is supposed to be bound to the current[Vo] property of your ModelLocator.

    Edit MainView.mxml to dispatch the first CairngormEvent.

    Edit the registered Commands to set the appropriate delegate methods parameters (if needed, you'll end up with an error if it is).

    Edit the registered Commands to update the Model in their result() methods.

  • 2* PureMVC

    Edit StartUpCommand to send the first Notification.

    Edit your RemoteProxy to update the corresponding Proxy in the result methods.

    Edit your mediators to call the remoteProxy when needed (or optionnally let them sendNotification and have a Command do the job).

You can check a small video preview here by clicking the image below.
The video was made with an early version of FCG, but there is no much difference, excepted that you can also use Java files and that you have more options.
(please excuse my english):




Release Notes


You can download the latest beta version here, but remember that you'll need to have
AIR 1.0 installed. Thanks to Rich Tretola, the application has the ability to auto-update, so that you don't have to wonder if you have the latest version installed.

Latest version is 0.9.6

Main new Features / bug fixes

General

  • New architecture to enable custom extensions (TBD)

Generation Layer

  • You can now choose to generate for code for Flex - not using any architecture framework at all
  • Templates keywords have been normalized (LC prefix refers to lower case on the first char, UP to upper case on the whole word)

UI

  • Auto-complete TextInputs for entering AS3 types
  • It's now possiblie to start a new project without having to close / open FCG
  • Help icons can be disabled/enabled
  • The file tree seems to have a better behavior (although it's still far from being perfect)
  • Application height has be optimized

Analysis layer

  • minor bug fixes

Download FCG for AIR 1.0



Introducing Cairngorm Creator

Posted by HCL - RIA Group in


Cairngorm Logo

After discovering all the benefits the Cairngorm micro architecture, I quickly found that creating all the classes and mxml files was quite tedious. Thus Cairngorm Creator was born. Cairngorm Creator is a Flex code generation application that enables developers to quickly define and create a Flex application skeleton based on the Cairngorm micro architecture.

    Current Features

  • User-defineable package name
  • User-defineable folder names
  • Custom build file
  • Save and Load structure definitions (XML)
  • Editable source XML
  • Preview Files
  • Downloadable Zip File

Cairngorm Screen
Cairngorm Screen 2

Flash, Flex & AIR: Presentation

Posted by HCL - RIA Group in


Flex Tutorial & Demo Link

Posted by HCL - RIA Group in

FLEX

Flex is a framework that helps you build dynamic, interactive rich Internet applications. Flex applications are delivered on the web via the Flash Player or to the desktop via Adobe AIR. You can build applications using the free Flex SDK or Flex Builder, an Eclipse based IDE.

Flex is available for Java developers , .NET developers , PHP developers, and ColdFusion developers.

Some use full Flex Tutorial Link

http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html

Flex Sample Application (Felx & Java & HSQL) using Avil framework:

http://sourceforge.net/project/showfiles.php?group_id=174131

Getting Start With

http://learn.adobe.com/wiki/display/Flex/Getting+Started

Flex For ASP.NET Developers

http://learn.adobe.com/wiki/display/Flex/Flex+and+ASP.NET

Flex For Java Developers

http://learn.adobe.com/wiki/display/Flex/Flex+and+Java

Flex For PHP Developers

http://learn.adobe.com/wiki/display/Flex/Flex+and+PHP

http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=7744&loc=en_US

And Some other related links:

http://flex.7wilds.com/

http://learn.adobe.com/wiki/display/Flex/Animated+overview

Flex With 3D

http://www.cornflex.org/?p=1

http://www.papervision3d.org/

Some Demo Web Site

http://flex.org/showcase/

http://examples.adobe.com/flex3/labs/networkmonitor/main.html - Network Monitor

http://www.oddcast.com/home/demos/tts/tts_example.php?sitepal - Text to Speech

http://hessian.caucho.com/ria/Words.swf

http://app.lightstreamer.com/FlexDemo/

http://examples.adobe.com/flex3/labs/mediawidget/index.html#

http://examples.adobe.com/flex2/inproduct/sdk/flexstore/flexstore.html

http://examples.adobe.com/flex3/labs/dashboard/main.html#

(Yahoo Maps Collaboration using Flex and BlazeDS)

http://www.jamesward.org/census/

Posted by : RIA Member