[Arp] Flex : ARP or Cairngorm ?

William Lambé wlambe at gmail.com
Thu Mar 23 05:31:27 PST 2006


Thank you for the answer. It seems that ARP is ready for Flex. But is it
reputable to make an application for next Thursday ? Maybe for this time, I
should use Cairngorm ? It is because I have some documentation on Cairngorm
with Flex, but not so much with Arp. (still don't see clearly)... Maybe you
have some good link to show me ?

Do someone on the mailing list use Cairngorm for Flex developpement,
especially for the Flex 2 Beta 2 ?

Thanks one more time, 

William.

PS : Of course, in the futur (near futur) I will use ARP3, because it is
really good, and I use it with Flash. So, why change my habits ? So Big
Thank to Aral, and all other developpers.

-----Message d'origine-----
De : Arp-bounces at ariaware.com [mailto:Arp-bounces at ariaware.com] De la part
de Keith Salisbury
Envoyé : jeudi 23 mars 2006 11:30
À : General List for Ariaware RIA Platform users and developers
Objet : Re: [Arp] Flex : ARP or Cairngorm ?

Hi William,

In short, yes Arp is ready for flex, but I think the best answer is
from the Arp founder himself:


On 1/7/06, Aral Balkan <aral at ariaware.com> wrote:

I mentioned that I had begun to think about Arp 3 in the OSFlash list. I
also fleshed out ideas and code for the next version of the framework
and wanted to share this with you for feedback, comments, etc. I've been
talking with Christophe about his work on extensions as well as Muse and
you will find elements of both in the plan below.

The most important goal, as always, is for Arp3 to simplify things even
further.

The plans below detail a system that will be as easy, if not easier to
use that Ruby on Rails for Flash/Flex/RIA development. I'm personally
really excited about its implications and look forward to your thoughts.

PS. Please note: None of the code below has been tested, it's a complete
brain-dump that I wrote into SePY.

/*

What is Arp?

Arp is a simple yet powerful structural framework for creating Rich
Internet Applications (RIAs) on the Flash Platform. Simplicity and DRY
(Don't Repeat Yourself) are Arp's core tenets. Arp aims to boost
developer productivity with code generation and introspection and
integration with major application servers and databases. Whenever
possible, Arp uses established Software Design Patterns. These include
core patterns such as Controller, Business Delegate and Value Object.
Arp favors convention over configuration -- this means that it uses
intelligent defaults and naming conventions whenever possible. The
ultimate aim is to bring the start-up time of a new RIA project close to
zero and encourage best practices, test-first development for RIAs on
the Flash Platform.

* * *

What's New in Arp 3?


Full-stack framework:

Creating and working with RIAs on the Flash Platform is now a piece of
cake with the integration of Ruby On Rails-type functionality.

Arp 3 supports cross-platform code generation developed in PHP [Using
Cake? CakeAMFPHP?], ActiveRecord-type database introspection, etc. for
quickly getting up and running with your RIAs. Server-side support for
the following languages is provided based on Flash Remoting:

 * PHP (AMFPHP)
 * J2EE (OpenAMF)
 * Ruby (on Rails)

ActiveRecord-style introspection is supported for the following databases:

 * MySQL
 * PostgreSQL


DRY:

One of the core tenets of Arp is simplicity. Arp is even simpler in its
third incarnation and has gone DRY (Don't Repeat Yourself). This means
that your ARP3 applications will have less code and thus lower risk.


Convention over configuration:

As part of DRY, Arp 3 favors convention over configuration. This was
also a cornerstone of Arp 2, but we take it further here with the
introduction of Requests.


Requests:

When a form in the view needs to make a request that will require
business logic to be executed, it creates a new Request instance. A
request is a special event. It bundles the necessary data for the
request to be carried along with the request itself and specifies
optional success and failure handlers to be notified.

The success and failure handlers *only* carry out view logic. Unlike Arp
2, no data handling, storages, update, etc. is done there.


Custom Controllers are now optional:

For most applications you will not need to create custom controllers for
your application or for external forms. The new, DRY Arp's base
controller class, along with the introduction of Requests will handle
all the hard work for you.


Explicit Commands are now optional:

The new base Controller class and Requests make the explicit declaration
of Commands redundant for most cases. Of course, if you would rather
implement explicit Commands (eg. to use as part of a Memento pattern to
implement Undo/Redo), you can.


Business Delegates are now a central part of the framework:

At the very basic implementation, a Business Delegate includes a
reference to a remote service to which Requests will be proxied.

If you would rather carry out business logic on the client side in
response to a request, just implement the necessary method in the
Business Delegate and it will get called in place of the remote service
(if any).

In the most advanced, you can use a map to specify multiple remote
services for methods and mix in local method implementations too.


Data Binding and the Model:

The model is updated from the Business Delegate and data bindings on the
View [based on Christophe's code] (along with custom formatter
functions, etc.) carry out view updates automatically.


External Forms:

Easy workflow for using external forms and registering them and their
controllers with the main application.


Shared Libraries:

Supports transparent use of shared libraries.


Integrated unit testing:

Arp 3 includes the open source ASUnit unit testing framework and
advocates test-first development.


Integrated logging:

Arp 3 includes the open source LuminicBox logger for logging.


IDE support:

Support and documentation for creating Arp 3 projects is provided for
the following IDEs:

 * Eclipse
 * FlashDevelop <-- Do we need anything special? (No?)
 * SePY <-- Do we need anything special? (No?)
 * Others????


Compatibility:

Works with Flash, Flex 1.5 and Flex 2, ActionScript 2 (AS2) *and*
ActionScript 3 (AS3). Use the same workflow regardless of which
technology you're using. Applications based on Arp 3 are very easy to
port between these technologies. (Note: Since Flex 2 and AS3 are
currently in Alpha, these features may change in the future in line with
Adobe's code changes in future alphas, betas and releases.)

*/



(for more info, search for Arp3 in the archives, and i also recommend
you log into the Arp svn repository and check out the latest trunk...

hth
Keith



On 3/22/06, William Lambé <wlambe at gmail.com> wrote:
>
>
>
> Hello Everybody,
>
>
>
> I have a question. I am using Flex (2.0 beta 2) now, and I would like to
use
> an architectural framework for my application. I found Cairngorm as
> something very useful, but I was wondering if we could better use ARP with
> Flex ?
>
>
>
> Someone has an idee ? What's the differences between the two (ARP and
> Cairngorm) ? Is ARP ready for Flex ?
>
>
>
> Thank you,
>
>
>
> William.
> _______________________________________________
> Arp mailing list
> Arp at ariaware.com
> http://ariaware.com/mailman/listinfo/arp_ariaware.com
>
>
>


--
keithsalisbury at gmail.com

_______________________________________________
Arp mailing list
Arp at ariaware.com
http://ariaware.com/mailman/listinfo/arp_ariaware.com




More information about the Arp mailing list