Soeben ist der dritte Artikel der DSL-Serie von Markus und mir bei der dotnetpro erschienen.
Abstract: Mehrspaltige Layouts für Webseiten sind komplex und stellen hohe Ansprüche an den Webprogrammierer. Warum nicht eine Sprache entwickeln, die solche Layouts vereinfacht? Mit Oslo M und dem ASP.NET MVC Framework lässt sich so eine Sprache realisieren.
Inhalt
Hauptsächlich dreht sich der Artikel um MGrammar, den Teil der Sprache Microsoft M (Teil von Microsoft Oslo) mit dem andere Sprachen definiert werden können. Zuerst wird die MGrammar (Arbeitstitel) anhand einer simplen “Hello, World”-Sprache erklärt.
Danach erstellen wir eine DSL zur Beschreibung mehrspaltiger Layouts und bringen diese mittels ASP.NET MVC und YAML ans laufen.
Das Beispiel im Artikel basiert auf der Oslo January CTP, der Quelltext für das Oslo May CTP kann aber bei mir angefragt werden.
Beispiel
Typisches dreispaltiges Portal-Layout.
* Die Berechnung der Restbreite stimmt hier nicht. Richtig wäre:
Rest = (75%* Gesamtbreite) –400px
Dies mag aber von CSS-Framework zu CSS-Framework variieren.
DSL zur Beschreibung
Die Syntaxhervorhebung ergibt sich aus der Grammatik und ein wenig Konfiguration.
wunderbare!