start | find | index | login or register | edit
2003-11-30
by earl, 5767 days ago
als erster shameless self plug heute ein kurzer blick auf eXtensible, ein projekt das fuer einen guten teil meiner "reife- und diplompruefung" verantwortlich war. durchgefuehrt in den jahren 2000/2001 mit den allerersten betas des .NET frameworks und 4 wackeren mitstreitern und einer nicht minder wackeren mitstreiterin, hatte es folgendes zum inhalt:

"Dynamic user-interface generation for form-based data acquisition. One project result is a .NET WinForms component that builds user-interfaces and provides context-sensitive help, data validation and dynamic form inter-action. Those user-interfaces are completely specified in an XML-dialect."

XML war "damals" noch ein wenig neuer, juenger (XML 1.0 ist von 1998, die 2nd ed dazu aus dem Jahre 2000) und der XML hype hatte seinen gipfel noch nicht erreicht. trotzdem war die idee mit XML user interfaces zu beschreiben schon damals nicht neu. neben XUL gab es auch ein projekt eines consortiums, der name ist mir entfallen.

heute ist vor allem im XAML kontext der blick auf eXtensible immer wieder lustig :) den luxus von layout managern konnten uns rein zeitlich fuer eXtensible nicht leisten aber vor allem ein andre design decision ist interessant: unser layouting XML-dialekt war im prinzip ein simples "reflection script", i.e. in der layout description beschriebenes fuehrte mehr oder weniger direkt ueber reflection zur erstellung und configuration der WinForms (UI) objekte. und obwohl XAML das natuerlich wesentlich eleganter und effizienter macht, tut es im prinzip das selbe, naemlich eine deklarative syntaktische variante zur imperativen UI erstellung mit .NET.

damit das nicht ganz so trocken ist, hab von einem damals produzierten beispielformulars einen teil einer layout beschreibung extrahiert. raw xml ist hier (syntax colored hier). gerendert schaut das ganze dann ca. so aus.

die XML definition der Font property ist im prinzip aequivalent zu

page.Font = new System.Drawing.Font( "Verdana", 9.0 );.

genauso wie bei XAML mag fraglich sein, wo denn der vorteil hier fuer den entwickler liegt? und genauso wie bei XAML ist die imho am ehesten richtige antwort: "bessere tools werden moeglich ..." - wie so oft bei XML dialekten, war eXtensible's XML und wird auch XAML nunmal nicht fuer menschliche autoren konzipiert.

if anyone needs some debian startscripts for helma, don't look any further, here is help ;) and yes, this is today's second shameless self plug.

"In the time of the old Internet, I would not have to explain what I am about to, because everyone understood it. But in recent communications I have begun to see a dramatic distortion of perception among some of the users of my programs, and I therefore must clearly explain what a free program is, and what it is not." [via motz]
powered by vanilla
echo earlZstrainYat|tr ZY @.
earl.strain.at • esa3 • online for 6768 days • c'est un vanilla site