Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

What tools similar to GWT's UIBinder exist in other languages? By this I mean a system where you can define your UI layout in a markup language (preferably html+css) and attach the functionality to the layout using the code. I'm most interested in anything for python, but answers in other languages would interest me as well.

I'm interested because the benefits of having a non-programmer work directly on the layout without needing to touch the code and adjust a bunch of UI toolkit method calls is very productive.

I'm aware of Flex for flash, but is there anything else out there?

What search terms might I use to find such frameworks? I've looked around but I haven't found anything concrete.

Edit: I'm not only interested in web frameworks, but desktop applications as well.

Edit2: My question appears to be close to a duplicate of http://stackoverflow.com/questions/2962874/what-are-the-open-source-alternatives-to-wpf-xaml

share|improve this question
2  
Are you looking for something beyond standard HTML forms? 'Cos they do exactly what you've described here. I've heard that python can handle them, too. As for iterating through layout-designer tools... there have been hundreds, going back to at least the early 1970s. So, you might want to be more specific somehow. –  mjfgates Jun 12 '12 at 0:39
    
@mjfgates: Yes, to a degree. For webapps it's useful to write the client side in a programming language so that things run in the browser instead of doing 100% of the work server side and making calls via forms. Desktop software also isn't a great model for that since you'd have to bundle an http server and browser in your software. –  Daenyth Jun 12 '12 at 14:04
add comment

3 Answers

In the .NET world, it is common to use a markup-based language for GUI design (e.g. XAML in WPF), with "code-behind" to handle functionality.

If you use unobtrusive techniques, even common HTML/Javascript can follow a very similar pattern. Querying frameworks like jQuery are optimized to help you attach javascript handlers to markup elements based on specific selectors. Since you mention GWT, you may be interested in GwtQuery, which aims to bring targeted, optimized jQuery functionality to projects written in GWT.

share|improve this answer
add comment

WPF (and all other XAML-based systems) do separation of UI and logic thanks to DataBinding (more like property synchronization) and templating. This resulted in pattern called MVVM that depends of DataBinding and Commands.

This allows two things:

  • Efficient UnitTesting of UI logic without being dependent on the UI framework itself
  • Ability to have different people working on different aspects of the UI. Eg. separation of design and logic

The advantages are many. Main one allows both designer and developer to work on same use case at the same time. Before it was either designer creating the UI before developer or other way around. Second is that XAML in general is much more suited for designers than code. There is even separate tooling for XAML development (Expression Blend) that works on same solution and project files as Visual Studio. This allows designers to work on the application itself instead of creating "mockups" and then leaving it to programmers to put design into applications.

share|improve this answer
add comment

Adobe Flex can deal with that. If you are running under Air then you can call C style dlls from your Flex code if you need to.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.