Clickframes 0.9 (PR 1) Released


News: Clickframes 0.9 (PR 1) Released

  1. Clickframes 0.9 (PR 1) Released (6 messages)

    On June 30th we released Clickframes 0.9 (Preview Release 1) as open source at We've tried to build something for everybody: For Designers: User experience professionals use Clickframes to rapidly spec and prototype the interactivity of their designs, and to communicate the design to collaborators as well as project stakeholders. When the design has been refined, Clickframes facilitates communication with the developers who will implement the application. For Developers: You’ve heard of self-documenting code – Clickframes provides self-coding documentation. From a Clickframes XML spec, software developers can generate fully-functional, enterprise-class MVC code that’s easy to evolve as the project proceeds, and eliminates a lot of the tedious coding usually needed to get the app running and to provide minor changes in functionality. For Testers: With a Clickframes XML spec in hand, QA professionals can generate and customize automated test scripts to start the QA process as soon as development begins – and remain in sync with design changes as they occur. For Managers: Enhanced collaboration and communication between designers, developers, and testers saves time and money. Design issues get surfaced up front, meaning fewer change requests down the line. The Clickframes requirements model supports reliable estimates and helps minimize unpleasant surprises. And as a project advances, Clickframes makes it easy to integrate changes whenever necessary. Clickframes core features include: - An XML model for application interactivity requirements - Clickframes Interactive Previews – HTML renderings of application requirements for easy collaboration and review. - Auto-generation of application source code for three platforms: JEE with JBoss Seam, Tomcat with Spring Webflow, and PHP with CodeIgniter. The JEE plugins use Facelets for clean separation of views and business logic. - Round-trip code updates: update the requirements and regenerate as often as you want, even if you’ve made changes to the generated code. - Auto-generation of Selenium tests based on the requirements model - Visualizations of application structure via GraphWiz - Full Maven integration, allowing you to build and run your application in one command - Complete documentation at If you're curious about how this fits in with existing development practices, we've written a high-level explanation on our blog of how Clickframes fits into the development process. We're planning a 1.0 release for the end of the summer, which will include improvements to the code generators and some major extensions to the test automation process. But it's useful right now (no runtime libraries required), and we'd love your feedback. (But before you provide feedback - Clickframes XML requirements are designed to be independent of the underlying implementation model, and to allow non-programmers to build useful application models with little training. Therefore, we can't do everything with Java annotations. Please be understanding - we love annotations and would never, ever try to build an actual runtime framework that required XML configuration!)
  2. Clickframes is a meta-framework which can an "agile" layer to your application. Developers: even if you don't plan to use it immediately for development - you can still use the CLIP feature by writing appspec.xml for your application and using the CLIP generator.
  3. In the interest of full disclosure, I am a committer to this project. A nice aspect of clickframes is that it is a tool for generating code and documentation, not a web framework. The code it generates doesn't import any clickframes libraries, but instead creates industry-standard JSF code using Seam or Spring Web Flow. You can even override it to use pure HTML and Spring MVC. We're hoping to encourage community members to help extend our existing plugins and create new ones to generate code for other web frameworks. One of my complaints with Grails and Rails is that they force you to adopt their conventions and have very heavy vendor lock-in. For many of my projects, using Rails or Grails was too high of a risk for their known scalability shortcomings (especially when they weren't as mature as they are now). The outcome of working with clickframes is a generated Java application using popular open source web frameworks. There's no lock-in to the product. You can stop using it at any time. It's designed to remove the tedium of working with the frameworks you're already using, not replace them the way other popular code generation frameworks do.
  4. Re scalability: runs on grails and has done for quite some time.
  5. Scalability[ Go to top ]

    We're not suggesting that Grails shouldn't be used, or that any package shouldn't. Just saying that Clickframes doesn't, itself, lock you to one particular implementation approach. Grails works great for lots of applications - if you wanted, you could build a Clickframes grails generator and use it to maintain a Grails codebase.
  6. Re scalability: runs on grails and has done for quite some time.
    According to the grails community, it's now finally almost as scalable and responsive as a regular Java application. Before 1.0, the grails community was warning of a non-trivial performance penalty. While it was PROBABLY more than good enough for my needs, I didn't want to have this conversation: "Hello ${nameOfBoss}. There's this really great application framework that'll save us a lot of time if we master it. We'll have to all learn a brand new framework and we've been warned it may perform very poorly. Everyone who maintains it will have to learn it as well." My boss, like most bosses I have had was very risk-adverse and didn't want to mess around with technology that was still and could bite us down the road if the technology was as slow as some warned. Clickframes took the approach that we'll help you get your app running and you can stop using it at any time. The people who maintain your app will work with conventional Java as well as JPA, JSF, Seam, Spring, etc. If you used clickframes, you wouldn't be developing and deploying a clickframes application. You'd be using clickframes to speed development of a conventional JEE application. We've put a lot of work into making it generate code that follows modern best practices, is portable across containers, and is easy to modify and understand.
  7. Breaking news: The Testing Component of Clickframes -- generation of automated test scripts that remain in sync with design and development -- will be presented at expo:QA'09, an international conference on software quality and testing.