| Jon Rose’s Blog | | Enterprise Software Consultant Open Source / Java / Flex Flex Practice Director @ Gorilla Logic, Inc. InfoQ.com RIA Editor |
![]() |
Comments:
Jon Rose's Blog » Blog Archive » The Perfect Flex Application … | RantNet.com on June 15th, 2009 at 1:35 am #
[...] View original here: Jon Rose's Blog » Blog Archive » The Perfect Flex Application … [...]
Steven Brownlee on June 15th, 2009 at 8:41 am #
Hey Jon, I’m looking forward to reading more. Just a comment on one of your statements. “The cost of adoption and long-term ownership is too high…” I’ll state that I am not the biggest fan of Cairngorm. I actually prefer Mate, but have been forced to implement Cairngorm at my workplace. However, the adoption of the architecture was actually quite simple, and though I had to make some modifications to make it work how we need it to, there is not a “high volume of code required”. What hurdles have you had to jump over in the Cairngorm architecture (we’ve had a few ourselves)?
jonr on June 15th, 2009 at 8:47 am #
My specific concern with Cairngorm is the high volume of code that doesn’t provide any leverage. I believe there is a cost with adding extensive code that is not required to implement features demanded by the users or to address a specific risk to the project.
Peter Lorent on June 15th, 2009 at 11:04 am #
We are discussing frameworks too but have decided that the type of project must be part of the equasion.
Mark Lapasa on June 15th, 2009 at 8:38 pm #
I don’t really buy the high-cost of adoption for CG. IMO it’s a matter of developer consensus. If each stakeholder really adapts the CG mindset, the high-volume of code is a moot point. If fellow developers understand the whys and what of CG, they know where things belong in the framework, then there isn’t so much fuss because there is a common understanding. CG is amazing in that it delivers team-driven results fairly quickly. Even more so with code generators. The real cost of CG I believe is in the long run when you want to reuse some of the business logic captured in the CG Commands into another project. It has such a strong dependency on the CoreModelLocator that one would have to re-factor the logic to accommodate any model. This is usually an expensive afterthought in an agile environment where requirements don’t always present themselves up front.
Mark Lapasa on June 15th, 2009 at 8:43 pm #
The ease of rapidly development application features IS the leverage. It’s managing it when it gets unwieldy is when it becomes a nightmare.
Dave Cates on June 16th, 2009 at 10:54 am #
Great article and I also am looking forward to part 2
ash on June 18th, 2009 at 10:21 pm #
I’ve never used it, but here’s another MVC framework that may be worth checking out: http://hydramvc.com/
James Polanco on June 20th, 2009 at 12:19 am #
Jon, We have been using these tools for a while now on client and internal projects and continue to update and add functionality. For example, we have just added to the trunk build a history management extension for undo/redo support on the command system. What we are looking for is more insight from developers like yourself on both the approach we are taking and if the tools that are being developed are useful to more then just us. It would be amazing to have you and/or any of your readers take a look at the library and give us feedback, ask questions about how we are using it, etc. We love the library so far, but we also built it, so we are hardly objective. If you are interested we have licensed it under MIT and host it over at Google code, check it out when you get a chance: http://code.google.com/p/developmentarc-core/ Thanks again and I am looking forward to part two to see what you are looking for in a 3rd party solution.
Jon Rose’s Blog » Blog Archive » The Perfect Flex Application Framework (Part 2 of 2) on June 21st, 2009 at 7:16 pm #
[...] part one, I introduced some of the things that I believe convolute the Flex third party framework space – [...]
Jethro on June 22nd, 2009 at 4:37 am #
I have to say the Mark Lapasa’s comments hit the mark. CG, I would say reduces cost. It requires a low entry level of understanding and helps people locate code in larger more complex projects. The ‘extra code’ argument I feel is a little bit of a red-herring. We have a simple script to create boilerplate events and commands wired into the front controller, and I know many other developers who have their own too. Its not difficult or time-consuming. Still, a nice article
Shaun on June 22nd, 2009 at 8:53 am #
@ Jethro: I’m not sure I agree. Code Generators are great when you start a project, but all that boiler plate code is going to hinder/limit refactoring later on.
Reverend Dan on June 22nd, 2009 at 6:26 pm #
Man does this topic hit a sore point with me. Have been a developer since 1981 and have seen many frameworks, methodologies and languages go by the wayside (remember snobol?). I like to do my own thing and keep my ears open on what is going on, but when it comes to frameworks and generated code, I really have to do much to keep quiet, which for once (this time), I am not going to.
AB on June 26th, 2009 at 11:09 pm #
I agree with the sentiment above, for sure there are times when use of a framework is overkill. Good code goes a long way. However, it’s unlikely that you can put together an enterprise scale application, or work on a team of more than 2 or 3 people, without some pre decided structure. Design patterns are essential, and deciding what patterns to use, and where to use them, is a large part of what frameworks accomplish. A scalable, maintainable application requires pre-planning how the code is going to be oranized, the ways that differet duties will be segregated, how commuication will take place between components, etc. Just as we re-use design patterns, it makes sense to build on framework patterns that have already been thought through, implemented, discussed, improved, scaled, criticized, and revised. Given all that, use of ‘out of the box’ frameworks make sense, but the expectation that a framework will be perfect out of the box is a bit silly. I’m always amused by these sort of blogs and discussions, where frameworks are approached as if they must be accepted as a whole, or the idea that there could be a single framework to rule them all. Sure, if the code of the framework is compiled into a SWC it makes it harded to change what you needs changing. Still, any framework can be adapted as needed. Whatever you come up with as the perfect framework *for you* will be just that, perfect for you, most likely not perfect for any other project. As long as that is kept well in the foreground, fine with me. Discuss away. But keep in mind that 99% of us don’t share the criteria that make this perfect framework work for you. What would help us most will be detailed discussion of what are the good and bad qualities of all the available frameworks. We need to know in what situations they make sense, what parts might be a bad fit, alternative for the parts that are questionable, etc. An simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.
Edward Apostol on June 29th, 2009 at 12:26 pm #
“An simple inventory of the likes or dislikes of the author, while interesting on the surface, leaves a lot up to the reader, if one is to actually come away with knowledge on how to apply any given framework to their current situation.” I think it is ultimately up to the reader to make the best decision on frameworks. Really at the end of the day its a group of organized code that makes it easier to replicate the practice of making applications easier in the long run. Our firm uses Cairngorm, and we don’t believe it has a high overhead, and have used it for a number of tier one companies. It may be overkill for the “Hello World” application, but I think we realize that. If however you would build the same application and do some sort of performance metrics across different frameworks, that would be an interesting measure (although I expect the performance difference for code execution to be actually minimal, given these frameworks are probably fairly optimized to begin with” . Just my two cents. Edward Apostol
jonr on June 30th, 2009 at 8:32 am #
Edward, Thank you for the comment. I do think if you read both parts of the posts it communicates much more than “a simple inventory of likes or dislikes,” as it attempts to highlight where the gaps are in building a typical Flex application that one might want/need a third-party framework to fill. I believe this is an important point, as these tools should be used for a purpose (and at times are not). Since most frameworks do come with a cost, it is important that they play a clearly defined role in any project. Post a comment
|
|