InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

OpenFlux Component Framework for Flex

Posted by Jon Rose on Jun 20, 2008

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Rich Client / Desktop ,
Java ,
Web 2.0 ,
Rich Internet Apps
Tags
Adobe ,
Flex ,
Flash
OpenFlux offers Flex developers an open source component framework based on the Model-View-Controller (MVC) Architecture. The library has a set of components that currently includes Buttons, Lists, and ScrollBars. The goal of OpenFlux is to make it easy to “dramatically” customize components within a Flex application, without fear of breaking other parts of the component

Ben Stucki, the project founder, describes the component model this way:
Each component in OpenFlux is comprised of three core parts which work together to define the API (Model), graphics (View), and behavior (Controller) of a component. At first glance I’m sure this seems like it may be overkill for creating a component, and it does add a little bit of complexity. However, there is a huge advantage in that you can very quickly and easily add entirely custom graphics and/or behavior to a component without having to worry about rewriting or breaking the existing pieces.
Project contributor, Ryan Campbell, discusses the differences between the standard Flex components and the OpenFlux components:
The general difference between an OpenFlux component and the current Flex components is that the logic is separated in to a MVC architecture. This allows you to easily swap out one part of a component while keeping the functionality of the others. A List component goes a step further and separates the layout logic so you can easily invent new ways to layout your list items.
In Ben Stucki’s post announcing the release earlier this year, he detailed the motivations for building OpenFlux:
The real purpose of OpenFlux is to be customized and used in your projects. Using a viewless component system means that you can create dramatically new and interesting components quickly and easily, without having to worry about breaking the other parts of the component. Ever spent days hacking away at the Accordian, TabNavigator, or List components? Me too, that’s why I built this. The answer isn’t to make everything protected, it’s to have a better component model!
If you are interested in learning more about OpenFlux, InsideRIA has a good post that walks through getting started with the framework. Also, theflexshow.com posted an audio interview earlier this year with Ben Stucki.
how does it compare to aswing by spambl spambl Posted
  1. Back to top

    how does it compare to aswing

    by spambl spambl

    aswing is a framework that let you code flex application in a similar way to swing
    it use of course MVC but also the same class names as swing (JTextField, JTree, JTable...) you can even skin your component with LookAndFeel class


    alpha1 of aswing was released in September 2005 !

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.