InfoQ Homepage Presentations Mission: Impossible–Purely Declarative User Interface Modeling
Mission: Impossible–Purely Declarative User Interface Modeling
Summary
Achim Demelt discusses creating a UI using a completely declarative DSL called S4 without flow control, events or data binding.
Bio
Achim Demelt has been writing model-driven software and frameworks for 10+ years, based predominantly on the Java/EMF platform and Eclipse’s Xtend/Xpand/Xtext technologies. After many years working on the back-end side of applications, he now leads the UI DSL and framework development at Wilken GmbH, a maker of ERP software in Germany.
About the conference
The Code Generation conference is the leading event on the practical applications of Model-Driven Software Development (MDSD). It offers a high quality learning experience by combining discussions and debates with a diverse range of practical tutorials and workshops. It will also give you the opportunity to share experiences and knowledge with fellow developers.The conference is now in its 6th year and is known for providing a high-value learning experience. This reputation has been built up by attracting industry-recognised experts to share their experiences at the conference.
Community comments
And what does it solve?
by Adam Nemeth,
Nowadays writing the UI in a declarative is not a challenge
by Javier Paniza,
And what does it solve?
by Adam Nemeth,
Your message is awaiting moderation. Thank you for participating in the discussion.
If I'd have a boss who poses meaningless technical challenges to me, I'd quit on the spot.
It's possible to create a declarative UI: just use HTML and CSS3 without JavaScript. CSS3 even does away with the transitions.
But what on Earth would it solve for the users?
Computers are interactive. Users command computers to do stuff for them. This is the basis situation. An imperative language expresses these need rather well.
Sure, you can build a declarative page descriptor, that's even benefical (albeit the above mentioned two languages are well-suited for this task already), but interacions will be verb-based. "If this button is pressed, we expect you, dear computer,to do this".
Declarative languages are known to hard to work with: while I'm fluent both in XSLT and TypoScript (just two examples), I know that most programmers find them really hard to work with.
A good engineering product is one that solves needs perfectly for the users. The user of an API is the programmer, and what a programmer creates is used by the end-user. If the programmer has to do dances, or the end-user gets a software with bad ergonomics, you've failed to create a good engineering product.
The good reaction to such CTO requests is "you're an idiot, you either forget this sh.t right now or I'm outta here."
Nowadays writing the UI in a declarative is not a challenge
by Javier Paniza,
Your message is awaiting moderation. Thank you for participating in the discussion.
Today, any Java developer can write a business application with automatic UI generation using open source domain-driven frameworks, such as OpenXava. In fact, there is already a complete ERP without a line of User Interface code written with OpenXava.