Cool! I'm not using Flex, but I really like your idea. It would be really powerful to have something like what you are proposing. Regarding your question about implementing this in Sculptor vs. UML2, I think that the Xtext DSL is much easier to work with than UML. UML is heavy and cumbersome, and I can model something much faster in Xtext than UML. With code generation, often it's kind of trial and error for the user (use a keyword, see what gets generated, no that's not what I meant, go back and change the model), so it's nice to be able to make changes and see results quickly. For a feature this powerful (and potentially complex), I think that Sculptor would be the right platform.
Thanks, Polly Ryan Gardner wrote: > > Sculptor looks like it does a good job of building a stack that I > like to use out of the box. (Spring, Hibernate, etc) - but for the > GUI layer I often build my stuff using Flex and I do remoting via > BlazeDS with Remote Objects. > > In Flex, when you do object remoting, you build an ActionScript VO on > the client side that mirrors a Java VO on the server side, and use > the VO's as parameters or results with your remote service calls. > Obviously, maintaining two sets of VOs for your entire model can be a > bit tedious. There are some code generators out there that start with > a Java object and will generate (more or less) an ActionScript object > - but I think it would be a lot easier to start from the top and have > something like Sculptor help in building the entire chain - leaving > just the view layer to be constructed. > > The FULL stack I like to use would be amazing to have generated - > which consists of this stuff for the client side: (this is in > addition to the existing Spring / Hibernate server-side stuff that > gets generated, and would tie into it) > > - PureMVC + Prana Framework for IoC and MVC. > - Generate a set of "Proxy" objects for the PureMVC (a proxy is a > repository, basically, but it isolates the View and the Controller > from knowing about where the model comes from - which is often a > remote service call... etc) > - Generate the VO's to support the proxy > - Generate business layer to call the remote services that are > created to call services on the server side > - Generate the notifications that are sent around the system to > indicate when things happen. (PureMVC relies upon using string > constants for a generic notification type, but if a code generator is > involved, using strongly typed notifications would be the ideal way > to go - PureMVC doesn't require them simply because they aren't 100% > necessary and they would take time to create, but if you have > somethign like a Sculptor cartridge generating them... you can get > all the benefits without the pain of creating them all by hand) > - Generate a Prana Config file to configure the system (Prana is > very similar to an XML-configured Spring IoC container - the syntax > is almost identical as it was based on Spring's syntax) > - Generate FlexUnit tests to test various pieces of the client side > system > - Generate the BlazeDS configuration to tie the Spring and BlazeDS > pieces together > > (Optional) - Generate a CRUD gui in Flex for the various pieces that > interacts with all of the other components. > > Because the model and the remote services are often shared amongst > different applications, it's common to split those out and have them > load in as a runtime shared library. Each runtime shared library > should be generated by its own maven artifact. > > I've not looked into Sculptor's internals a great deal (and the wiki > is down at the moment, so I can't right now). I like sculptor because > of the simple DSL that it has. I don't like the fact that all the > tools are focused on Eclipse - but I don't see any reason why I can't > use IntellIiJ in conjunction with it. (If I need to write my own > syntax hilighting piece for the DSL, that shouldn't be too hard) > > Would Sculptor be the easiest piece to start throwing these kind of > cartridges together for, our would the UML2 ones be a better fit? > > I think the first thing I would take a stab at creating would be the > simple value-object creation for the client-side objects. The rest of > it - although it would be very nice - is not as important to me to > have automated. > > I'm at a new job, so I'm not entirely sure how friendly my new bosses > are to me doing FOSS stuff on company time - so until I get approval > to start building this kind of a structure out it will have to be a > side project. Would anyone else be interested in this kind of tool? > More importantly... would anyone else be interested in helping to > work on this kind of tool chain? > > I'm connected in a couple of other flex open source communities - and > if things started rolling I could probably enlist the help of a > couple of other java / flex developers to help out. The end product > would be so powerful I don't think they could resist getting in on > the action... > > If a good GUI DSL gets defined, I can see how it would be possible to > create a very powerful toolchain that would help to create RIA's > using multiple end-user technologies - such as a rich AJAX client > alongside a Flex or AIR client. > > Ryan > > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > Fornax-developer mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/fornax-developer > > -- View this message in context: http://www.nabble.com/Writing-a-new-sculptor-cartridge-to-help-with-Flex-RIA-development---where-to-start--tp18345574s17564p18349564.html Sent from the Fornax-Platform mailing list archive at Nabble.com. ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ Fornax-developer mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fornax-developer
