Vortrag an der Uni Mainz über die Grundlagen der Frontendentwicklung. Wie sollte man fürs Frontend denken? Woran muss man denken? Womit muss man sich beschäftigen?
1. Am Ende ist doch alles
HTML
Aspekte der Frontendentwicklung
Jens Grochtdreis
2. Jens Grochtdreis
‣ Frontendentwickler
‣ 10 Jahre Agenturerfahrung
‣ 11 Jahre Arbeit im und fürs Web
‣ Gründer der Webkrauts
‣ Blogger
‣ Autor des PHPMagazins, PHPUser,
Webstandards-Magazins, T3N
‣ Fachliche Buchbetreuung bei Galileo, O'Reilly, MuT
11. Problemfeld: Entwickler
‣ Erschreckende Codedefizite laut Opera-Studie:
‣ 58,5% Webseiten ohne Überschriften-Elemente
‣ 7,1% mit Überschriften ohne logische
Reihenfolge
‣ 24,9% mit Bildern ohne alt-Attribute
‣ 4,13% der Testseiten validierten
http://www.einfach-fuer-alle.de/blog/id/2505/
12. Validität ist nicht alles
<form action="helpdesk.html" method="post" enctype="multipart/form-data" id="emailform">
<table class="webform_table">
<tr>
<td class="webform_label">Name des Meldenden / Ansprechpartners: *</td>
<td class="webform_field"><input type="text" name="InputField-1" value="" class="onlineform" /></td>
</tr>
<tr>
<td class="webform_label">Email:*</td>
<td class="webform_field"><input type="text" name="InputField-4" value="@khwe.de" class="onlineform" /></td>
</tr>
<tr>
<td class="webform_label_multi">Bitte geben Sie hier Ihre Meldung ein:*</td>
<td class="webform_field_multi"><textarea name="InputField-6" class="onlineform" rows="6" cols="20"></textarea></td>
</tr>
<tr>
<td> </td>
<td class="webform_button">Alle Eingabefelder, die mit einem Stern (*) versehen sind, sind Pflichtfelder.</td>
</tr>
<tr>
<td> </td>
<td class="webform_button"><input type="submit" value="Formular absenden" class="formbutton submitbutton" /></td>
</tr>
</table>
</form>
14. Das Internet ist komplex
‣ Wir nutzen sehr viele verschiedene Standards und
Technologien, um eine Website zu betreiben.
‣ (X)HTML, CSS, Javascript, DOM 1-3
‣ Flash, Flex, SWF
‣ PHP, ASP, Perl, Java
‣ MySQL, PostgreSQL
‣ XML, XSLT
‣ ...
15. Nicht vergessen!
‣ Das Internet ist ein neues Medium!
‣ junges Medium
‣ rasante Entwicklung
‣ spannend
‣ atemberaubend
‣ umwälzend
‣ in ständigem Wandel begriffen
16. Nicht vergessen!
‣ Das Internet bietet viele unterschiedliche Zugänge
zu Informationen
‣ Am Monitor lesen
‣ Ausdrucken
‣ Vorlesen lassen
‣ Formate sind anpassbar
‣ Inhalte lassen sich leicht rudimentär übersetzen
‣ Wir wissen nichts Definitives über das Zielsystem
17. Kontrollverlust - formal
‣ Wie können wir heute ins Internet gehen?
‣ PC, Notebook
‣ viele Betriebssysteme, Browser, Monitore
‣ Handy, PDA
‣ Spielkonsole
‣ TV
‣ Assistive Technologien
19. Flexibilität ist Stärke
Die Flexibilität des Internet ist seine Stärke.
Akzeptiert es! Macht Euch locker!
http://snipurl.com/2c1yl
20. Flexibilität ist wichtig
‣ Wir können nicht mehr sicher vorhersagen, wie
jemand unsere Seite sieht/liest.
‣ Deshalb: einen für möglichst viele gangbaren Weg
beschreiten
‣ Erst der Inhalt, dann das Layout!
‣ Der Inhalt ist das Wichtigste!
22. Wichtiger Hinweis
Zur Nutzung der Vodafone
Videothek benötigen Sie einen
Rechner mit Windows-
Betriebssystem in Verbindung
mit Internet Explorer ab Version
6 oder Firefox ab Version 3
http://videothek.vodafone.de/
24. Semantik
‣ Mit der Bedeutung der Inhalte beschäftigen
‣ Die Struktur erfassen und aufschreiben
‣ richtig:
<h2>Überschrift</h2>
‣ falsch:
<div class="headline">Überschrift</div>
‣ Eine semantisch ausgezeichnete Seite zeigt,
daß man sich Gedanken über seine Arbeit
gemacht hat.
25. Webseiten: mehr als nur
Dokumente
‣ Die Dokumentenanalogie ist alt.
‣ Ziel waren wissenschaftliche Texte.
‣ HTML5 ist der Versuch, der Realität gerecht
zu werden. Der erste Schritt!
‣ Es gibt immer mehr Applikationen.
‣ Es fehlen Bedienelemente
‣ Webseiten sind immer seltener
Dokumente
30. Überschriften
_ Überschriften sind eine Navigationsmöglichkeit für
Screenreader.
_ Wikis generieren aus den Textüberschriften eine
seiteninterne Navigation, ein Inhaltsverzeichnis.
31. Überschriften
‣ Webseiten sind immer seltener Dokumente
‣ Kann eine Webseite mehr als eine h1
vertragen?
‣ Nur eine h1? Warum?
‣ Wir vermeiden sonst Analogien zur
Printwelt
‣ Struktur für Sehende und Blinde anders?
‣ Reichen sechs Überschriftsebenen?
40. Eric Meyers Reset
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%;
vertical-align: baseline;background: transparent; }
body { line-height: 1;}
ol, ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none;}
/* remember to define focus styles! */
:focus { outline: 0;}
/* remember to highlight inserts somehow! */
ins { text-decoration: none;}
del { text-decoration: line-through;}
/* tables still need 'cellspacing="0"' in the markup */
table { border-collapse: collapse; border-spacing: 0;}
http://meyerweb.com/eric/tools/css/reset/index.html
41. Diverse Stylesheets
‣ HTML sieht nicht aus, sondern transportiert
Bedeutung und Struktur!
‣ Browser haben eigene Stylesheets
‣ Nutzer können eigene Stylesheets haben
42. _ Letztendliche Sicherheit über die Darstellung einer
Seite gibt es nicht. Man kann aber dafür sorgen, daß ein
Layout nicht allzu schnell "zerstört" wird.
43. Keine Tabellen? Doch!
‣ Tabellen sind für tabellarische Daten da!
‣ Für Layoutzwecke gibt es CSS!
‣ Eine Tabelle kann komplex werden und ist
mehr als nur <table>, <tr> und <td>
47. Bremsfaktor IE
‣ Der IE (bis Version 8) kann bedeutend
weniger als andere Browser.
‣ Der IE6 stirbt nicht!
‣ Der Fortschritt richtet sich nach dem
Langsamsten wegen dessen Verbreitung.
53. Übersetzer
‣ Der Nutzer sieht nur das Frontend.
‣ Die Technik dahinter (bspw. CMS)
interessiert den Konsumenten nicht.
‣ Entscheidungen aller anderen „Gewerke“
fließen in das Frontend mit ein.
‣ Hilfe zur Verständigung zwischen Grafik,
Beratung und Backend aus Eigeninteresse.
56. Layoutwünsche
‣ Nicht alle Layoutwünsche lassen sich einfach
lösen.
‣ Manche erkauft man sich mit
Einschränkungen
‣ Im Layout herrscht immernoch die
Printanalogie vor
‣ Die Möglichkeiten differieren zwischen
Browsern
66. Formularfelder
‣ Passworte werden NIE
angezeigt
‣ Runde Ecken kann man
mittels CSS3 hinzufügen
‣ Vorgegebener Text ist
Stolperfalle für Nutzer
und Entwickler
‣ Label haben ihren Sinn! Passwort
‣ Gerne sehr klein und
schwer bedienbar
70. Runde Ecken - The ThrashBox
http://www.vertexwerks.com/tests/sidebox/
71. Wartungshölle
‣ Für jede Farbe eine eigene Grafik (auch für
hover bei Links!)
‣ Runde Ecken auf Verläufen oder
Transparenzen sind ganz übel als Grafik
‣ Jede Änderung und Anpassung geschieht in
Photoshop/Fireworks
‣ Viele Requests
‣ Keine Skalierung
72. Runde Ecken für moderne
Browser
#twitter {
border-radius: 0.6em;
-moz-border-radius: 0.6em;
-webkit-border-radius: 0.6em;
}
.box1, .box2, .adressbox {
border: 2px solid #eee;
border-radius: 0.6em;
-moz-border-radius: 0.6em;
-webkit-border-radius: 0.6em;
}
/* Ohne die folgende Zeile ragen die Ecken der Überschrift aus der Box raus.
Der gleiche Radius darf es auch nicht sein, sonst entsteht eine Lücke.
Es scheint immer die Hälfte sein zu müssen.
*/
.box1 h3, .box2 h3 {
border-top-left-radius: 0.3em;
border-top-right-radius: 0.3em;
-moz-border-radius-topleft: 0.3em;
-moz-border-radius-topright: 0.3em;
-webkit-border-top-left-radius: 0.3em;
-webkit-border-top-right-radius: 0.3em;
}
78. Jens Grochtdreis
http://grochtdreis.de
http://twitter.com/Flocke
http://webkrauts.de
Diese Präsentation steht unter
der Creative Commons Lizenz
„Attribution-ShareAlike 2.0“
http://creativecommons.org/licenses/by-sa/2.0/de/