5 Replies Latest reply on Jul 24, 2007 3:44 PM by

    Cairngorm Code Generator included?

    masuland Level 1
      I wonder if FB3 will provide some
      Cairngorm Code Generation capabilities?

      Can't see any features on that at:

      http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+3+Planning

      What about integrating projects like this:

      http://blog.thinkingdigital.org/?page_id=4
      http://www.ericfeminella.com/blog/2007/01/04/introducing-cairngen/

      ???

      cheers,
      masu
        • 1. Re: Cairngorm Code Generator included?
          Hi Masu. That's the Flex SDK planning doc. The Flex Builder plans are at: http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+Builder+3+Planning

          As for Cairngorm, I believe Adobe consulting is working on a plugin, and as you note there are some pretty cool community projects out there too. For Flex Builder itself I think the best way to describe it is, we're starting with the fundamentals and working our way up.

          We're getting there though. This release we are rolling out some higher-level features for working with data and services, for example, that generate some code patterns that I'm pretty excited about. See the features for Web Service Introspection and Data Wizards. Not quite at the level of general application-wide architecture like Cairngorm, more like a really solid building blocks.

          Let me ask you something... What do you like about Cairngorm? What needs does it serve for you?
          • 2. Cairngorm Code Generator included?
            masuland Level 1
            Thanks for your post :)

            In general, what I like the most about the Cairngorm microarchitecture framework
            is the way how it seperats concerns (eg. mvc) and how it prescribes a pretty
            easy to grasp architecture for the program flow. One of the big advantages of the
            resulting explicitness of the framework is that it improves the descriptiveness and
            the communicationability of the program flow within a development team.

            But, of course, Cairngorm is not the only microarchitecture framework out there, see:

            - http://www.puremvc.org/
            - http://osflash.org/projects/arp

            Wouldn't it be nice to have a code generation API build into
            FlexBuilder so that these web frameworks could be easily
            integrated into?

            Furthermore, FlexBuilder should provide some simple
            answers to the posts of the following mailing lists:

            see 'flexcoders' - mailing list:
            Multiple Model Locators

            'cairngorm-devel' - mailing list:
            Cairngorm 2 and Modules: A Proposal
            Cairngorm support for Flex 2.0.1 modules?
            Cairngorm and large application module/package structure

            'cairngorm-documentation' - mailing list:
            Multiple Model Locators

            Many of these developers and those reading it
            are confused now, and Adobe consulting should
            be conscious about that!

            We need much more conventions and simple guide lines
            just like the Ruby on Rails web framework does, including
            the RadRails Plugin for Eclipse:

            http://www.aptana.com/download_rails_rdt.php !

            Cheers,
            Flex disciple masu ;)
            • 3. Cairngorm Code Generator included?
              VirtualProgrammer
              @ tlaneadobe

              Let me put things in perspective by pointing out that only a small group got initially excited about Ruby ... and then Rails came out ... and it put Ruby on the map. While Cairngorm did not do the same for Flex, the need still remains. What controls do for building of user interfaces, framworks do for building of overall applications.

              Out of box, both provide commonly used sets of wheels that then need not be re-invented each and every time. In some sense, even small UI controls can be looked at as being the smallest forms of frameworks for doing the narrow task that is done by such a control. Now, what if a whole Customer Information input form was one big and sophisticated control? Would that control be a control or a framework? Regardless, it would save tons of development time.

              If the question was framed in context of small dinky apps (: like most of those built with Java :) then the answer is "none". However, enterprise class applications are a totally different ball game. Even then, there are no more than half dozen to a dozen different types of applications, after which they all start looking like one of the base types. Are any of the master table maintenances or inquiries logically different than all the rest of them? Purchase Order modules certainly look quite similar to Sales Orders, etc, etc, etc.

              However, one of the biggest problems with frameworks is that folks tend to build them to be "all things to all people" and as a result they do not end up working as well across the whole spectrum as they could have if each one of several similar and complementary frameworks targeted and solved a narrower problem at hand. In the good old procedural days ;) was the concept of copying then editing a similar program not a poor-man's form of a framework ;?)

              P.S. Where can I apply at Adobe for an architect/evangelist position in this area ;?)
              • 4. Re: Cairngorm Code Generator included?
                masuland Level 1
                Here some further discussions at the 'flexcoders' - mailing list:

                Cairngorm - Why not multiple ModelLocators?
                Question for cairngorm mavens

                masu
                • 5. Re: Cairngorm Code Generator included?
                  masu, VP.. Thanks for your thoughts. Just wanted to say we're listening and do very much hear the need for more higher-level frameworks, blueprints and best practices from the community.

                  VP- Seriously, we have many open positions at Adobe. PM me your resume!! :-)

                  -Tom