Mehr von Jürgen Gutsch

Mehr von Jürgen Gutsch

Empfehlungen von Jürgen Gutsch

Blog-Empfehlungen von Jürgen Gutsch

Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Jürgen Gutsch

ASP.NET und mehr...

News

ASP.NET und dann war da noch was…

Ach ja. Es gab damals noch so was wie HTML, CSS und JavaScript, aber das ist ja heutzutage blöd, schließlich gibt es heutzutage ja coole ASP.NET Controls ;-)

Und noch ein Thema aus den Foren. :-)

Was ist ASP.NET, bzw. – in diesem Fall viel Wichtiger – was macht ASP.NET? Die Antwort ergibt sich eigentlich schon aus der Frage: Was macht ein Webbrowser? Ein ASP.NET Entwickler sollte eigentlich die Antworten kennen, oder?

O-Ton Peter Bucher:
Nachlesen:
ASP.NET Grundlagen Teil 1: Ein Blick hinter die Kulisse
ASP.NET Grundlagen Teil 2: Tschüss Statuslosigkeit

Warum wird dann aber versucht eine ASP.NET TextBox zu stylen?
asp:TextBox { font-weight:bold; }

Vielfach beobachte ich, dass einige ASP.NET Entwickler nicht wissen, was im Browser eigentlich ankommt. In dem Beitrag Webentwicklung: Unterschiede zwischen Client- und Server-Programmierung habe ich schon beschrieben, dass fälschlicherweise nicht immer zwischen Client und Server unterschieden wird. Ein ähnliches Problem haben wir auch hier.

ASP.NET ist eine Technologie mit der - anhand des .NET Frameworks – dynamische Webseiten entwickeln werden können. Also die Erstellung von dynamischen Webseiten. Im Grunde genommen mehr oder weniger das Gleiche wie bei klassischem ASP, PHP, JSP, etc.

Alle diese Technologien zur Erstellung von dynamischen Webseiten erzeugen HTML-Code. Ja, tatsächlich. Dieses alte blöde langweilige HTML Zeugs ;-) Nur Warum? Ganz einfach, weil alle Browser eines gemeinsam haben: nämlich das Anzeigen von Webseiten aus HTML-Code

Also man merke sich: Mit ASP.NET wird in der Regel HTML-Code erzeugt. WebControls werden zu HTML Elementen.

O-Ton Peter Bucher:
Zusätzlich generieren bestimmte Eigenschaften von Elementen auch JavaScript oder Inline-CSS

<asp:TextBox ID=”TextBox1” runat=”server” Text=”Hallo Welt” /> wird zu:
<input type=”text” id=”TextBox1” name=”TextBox1” value=”Hallo Welt” />

Eine DropDownList mit ListItems wird zu einem select-Tag mit option-Tags, ein GridView wird zu einer HTML Tabelle und so weiter…

War da nicht noch etwas?

Genau: CSS und JavaScript :-)

Auf JavaScript bin ich im Beitrag Webentwicklung: Unterschiede zwischen Client- und Server-Programmierung schon eingegangen. Was zu klären bleibt ist CSS.

Wer HTML kennt, der weiß das es am Client verarbeitet und angezeigt wird, der weis auch, dass deswegen CSS am Client interpretiert werden muss. Daraus folgt, wie oben bereits leicht angedeutet, dass das CSS auf HTML-Elemente angewendet werden muss und nicht auf WebControls. Denn der Browser kennt die WebControls nicht, sondern nur die entsprechenden HTML-Controls.

Richtig wäre also:
input { font-weight:bold; }

Ein kleines Fazit:

Ein ASP.NET-Entwickler ist immer ein Webentwickler und sollte somit immer zumindest grundlegende Kenntnisse in HTML, CSS und JavaScript haben und die Unterschiede zwischen Client- und Server-Programmierung kennen.

Fazit von Peter Bucher:

Die hohe Abstraktion von Elementen der Webentwicklung in ASP.NET führt dazu, dass auf einer zu hoher Ebene gedacht wird.
Hier sollte man sich selber am Kragen packen und tiefer blicken, in den generierten Code. Prototypen bauen die nur mit HTML / CSS / JavaScript funktionieren und das verstehen.

Leider macht es Microsoft schon seit langem sehr schlecht vor und preist unter anderem Klicki-Bunti Programmierung (Auf höchstem Level... negativ gesehen) als RAD (Rapid Application Developement) an.

Aussagen wie (80% Codeeinsparung) und 1000 Assistenten bringen mich nur zum Kopfschütteln.

Noch ein kleines Fazit:

Gibt man dem Peter ein Artikel zum kurz durchlesen wird gleich Teamwork draus ;-)

Posted: Donnerstag, 12. März 2009 15:36 von Jürgen Gutsch

Kommentare

Rene Drescher-Hackel sagte:

Hallo Jürgen,

einen sehr interessanten Beitrag hast da verfasst. Ich muss aber sagen, dass wir langsam immer mehr zu den Ursprüngen zurückkehren, dass heißt, so viel wie möglich mit klassischem HTML erstellen. ASP.NET Steuerelemente kommen nur noch zum Einsatz, wenn es von der Entwicklung nicht anders geht oder eine Zeitersparnis im Entwicklungsaufwand einher geht.

Das allein Grundlagen zum HTML / Javascript / Css ausreichen, mag ich allerdings bezweifeln. Ich denke, dass man mit "selfhtml" schon schlafen gehen sollte. ;-) Ohne dem geht es gar nicht - absolut nicht. Da hilft dann auch kein ASP.NET Klickibunti.

Leider beherzigen das zu wenige Entwickler, wie der tägliche Blick ins ASP.NET Zone Forum zeigt.

Viele Grüße

Rene

P.S.: Frag mal den Michael, wenn er bei euch ist, wieviele Serversteuerelemente er in seiner täglichen Arbeit einsetzt...

# März 31, 2009 19:26

Jürgen Gutsch sagte:

Hallo Rene,

vielen Dank für Deinen Kommentar. Ich bin zu 100% Deiner Meinung.

Dieser Beitrag sollte erstmal nur Aufzeigen, dass das Resultat immer HTML ist. Du weist ja selber aus dem Forum, dass sich einige sehr schwer tun, zu verstehen was sie letztendlich mit ASP.NET machen. In diesem Beitrag vertrete ich nicht ASP.NET Steuerelemente oder HTML, sondern möchte nur zeigen, dass Hinten immer das selbe herauskommt. ;-)

Aber ich ersetze mal das "... somit immer grundlegende Kenntnisse in HTML..." mit "... somit zumindest grundlegende Kenntnisse in HTML...". Einverstanden?

# März 31, 2009 19:50
Anonyme Kommentare sind nicht zugelassen