Alberto,

> I've been out of the flex world for 3 months and now Im 
> reading about something called Cairngorm?
> So what is Cairgorm exactly? What are the advantages of using 
> cairngorm vs not using it?

Cairngorm is a lightweight architecture, that offers a slightly
prescriptive means by which you can architect large Flex RIAs.

If you are just learning Flex, or if you are building simple/small
applications, then you may find that using a framework such as 
Cairngorm to be over-complication.  I'd certainly make sure you're
comfortable with Flex (MXML and AS2.0) before you start trying to
understand how to use Cairngorm and Flex together.

The motivations for Cairngorm are borrowed from much of the
work that has occured in Software Engineering of large-applications,
the concept of design patterns as recurring solutions to commonly
occuring problems, and of microarchitecture as a collaboration of
design patterns that work together to solve a higher-level 
architectural problem.

If you're working on massive RIAs (with lots of use-cases), or
working on RIA with large multi-disciplined development teams, 
you'll really start to reap the rewards of having *some* sort
of infrastructure.  Cairngorm is one such infrastructure, the
motivation for it coming from the fact that as we began to 
work with RIA (back in the Flash and ActionScript 1.0 days) we
realised that many of the recurring problems from developing
enterprise applications with J2EE, appeared and were relevant
to RIA development with ActionScript 1.0 and consequently 2.0.

That design problems present solutions to recurring problems,
is a technology independent phenomena - we decided that many
of the "Core J2EE Patterns" (do a google) were as relevant to
RIA development, and Cairngorm is a microarchitecture that
applies those best-practices and lessons learned from the 
old-school enterprise web application days, to the brave new
world of RIA.

There are some presentations that I have given about Cairngorm,
the introductory slides of which may help you understand the
motivations for the framework:

"Architecting Flex Applications"
http://mmse-emea.p51.breezecentral.com/p53418391/
 

> I have installed the cairgormStore sample and seems quite the 
> same thing as the flexstore one.

That's exactly the point; visually, the application is identical,
but the cairngorm store sample *implementation* is an example of
how you would architect and build an application with Cairngorm,
using a design that is familiar to most Flex developers.

In the weeks ahead, we'll be blogging a great deal over on
richinternetapps.com about the implementation of Cairngorm
Store.

But listen, the bottom line is this ... if you don't see the
need for an architectural framework, if you haven't experience
any problems that suggest you might need one, then you probably
don't need one.

If there is one other lesson that we can learn from J2EE, it's
that over time there will be more and more twists and spins,
Struts and Springs, and "the next great framework" will
appear.  More important than jumping from bandwagon to bandwagon,
is understanding the motivations that necessitate attention to
architecture, understanding - irrespective of technology - what
*is* good architecture and best-practice, having a solid 
understanding of your technology/medium so that you can make
decisions about implementing these best-practices, and then
deciding for yourself whether any of these frameworks out there
will make your life easier, and are congruent with your own
thoughts as to how you might build your application.

We build all of our RIA solutions upon Cairngorm.  We get
developers new to Flex productively architecting and building
complex Flex applications *quickly* by helping them understand
the Cairngorm framework, and in many cases, by suggesting to
them the ways in which they might go about solving common
problems ("when the user double clicks something in the
datagrid, how do I then make a Web Service call and update
2 different areas of the screen at once when the results 
come back", etc).

I hope the above, and all the links you find, are of use to
you, and if you have any specific questions, please don't
hesitate to ask.

Best wishes,

Steven

--
Steven Webster
Technical Director
iteration::two
 
This e-mail and any associated attachments transmitted with it may contain
confidential information and must not be copied, or disclosed, or used by
anyone other than the intended recipient(s). If you are not the intended
recipient(s) please destroy this e-mail, and any copies of it, immediately.
 
Please also note that while software systems have been used to try to ensure
that this e-mail has been swept for viruses, iteration::two do not accept
responsibility for any damage or loss caused in respect of any viruses
transmitted by the e-mail. Please ensure your own checks are carried out
before any attachments are opened.



 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to