ich möchte mich mit einer kleinen Diskussionrunde einbringen, da ich aufgrund meiner Erfahrung in einer kleinen Softwareschmiede und dem Studiums in angewandter Informatik momentan mit der Frage beschäftige:
Was wäre wenn die Webentwicklung zunehmends an die Softwareentwicklung angelehnt wäre?
In genaueren Grundzügen würde ich die darstellende Oberfläche eines Browsers gerne zusammenfügen.
Die darstellende Schicht setzt sich zusammen aus meistens HTML und PHP, um das Ganze etwas dynamischer wirken zu lassen.
Was wäre, wenn man dies nun zusammenführt, sprich für PHP Klassen vordefiniert, deren Anzeige im Browser normaler HTML-Code ist, jedoch rein mittels PHP geschrieben ist? Angelehnt an eine Entwicklung wie z.B. mit Java.
Wie sieht dort die Entwicklung einer GUI aus?
JButton btn = new JButton("Hallo Welt");
Umgeändert in die Browserwelt, wären wir hier bei einem
<input type="button" value="Hallo Welt" />
<button>Hallo Welt</button>
Wieso nicht auch hier den Ansatz wagen: Ich erstelle ein PHP-Framework mit solchen teils vordefinierten Klassen á la new Button("Text") und kann anhand derer ihre Attribute festlegen, Minimum-Größe, Minimum-Breite usw.
Klar, eine Komponente allein macht eine Seite nicht genial.
Wie sähe dies im Verbund aus?
<div style="float:left; min-width:500px">
<input type="button" value="Test" />
<div style="float:left:">
<span>Testetikierung</span>
</div>
<div style="float:left">
<img src="gadsg.jpg" />
</div>
<div style="float:none">
Blablub
</div>
</div>
In Java wiederum sähe solch ein Komponentenverbund anders aus. Hierbei werden die einzelnen Komponenten einfach in einen Layoutmanagergepackt:
JPanel pane = new JPanel();
JButton btn = new JButton();
BorderLayout layout = new BorderLayout();
pane.setLayout(layout);
pane.add(btn, BorderLayout.TOP);
Ich weiß, solch eine objektorientierte Vorgehensweise zur Webentwicklung klingt übertrieben, kann aber auch starke Erleichterungen mit sich bringen, wenn es in Richtung Webentwicklung geht.
Was haltet ihr von solch einem "Framework", rein zur Entwicklung von einer GUI abgesehen von der Arbeit, die dahinter steckt? Fändet ihr so etwas sinnvoll?