Archiv für die Kategorie „Programmierung“

Durch ein Video-Tutorial habe ich gesehen wie man mit reinem HTML und CSS in modernen Browsern ein PostIt bzw. einen angeklebten Zettel  designen kann.

Ich habe dann den Quellcode nachgeschrieben und auf meine Bedürfnisse angepasst. Der HTML-Code ist recht einfach.

Diesen Beitrag weiterlesen »

Gerade habe ich eine kleine JavaScript-Application geschrieben. Schon im Januar 2008 habe ich ein Tutorial veröffentlicht in dem ich erklärt habe, wie man mit PHP und AJAX ein Adressbuch verwirklicht. Nun habe ich diese Anwendung neu geschrieben und das permanente Speichern der Daten in den lokalen Speicher ausgelagert. So kann die Anwendung auch im Offline-Betrieb der Browsers betrieben werden.

weiter zur Demo bzw. zum Download

Gerade habe ich ein kleines Experiment mit den Möglichkeiten von HTML5 gemacht. Bis jetzt gibt es ja schon viele Online-Editoren, so genannte WYSIWYG-Editoren. Leider funktionieren viel nur mit iframes, ein Tag den ich persönlich nicht mag. Nach dem Lesen des HTML5-Buches von Peter Kröner erstellte ich mir einen kleinen eigenen Editor.

Durch das contenteditable-Attribute kann jeder Inhalt eines beliebige HTML-Tag von Benutzer geändert werden. Eine wunderbare Sache! So habe ich mit ein bisschen CSS für die Formatierung und JavaScript für das Ein- und Ausschalten eine ersten Entwurf eines Online-Editors geschaffen.

Hier geht es zur Demonstration und hier findet ihr den Download.

Auf der Adobe Developer Seite wurde 12 neue Tutorials für Flash CS4 hinterlegt, in den Möglichkeiten zur Animationserstellung erklärt wird.

Animation Learning Guide for Flash CS4 Professional | Adobe Developer Connection.

Da ich meinen Laptop gerade neu installiert habe, war ich seit langem mal wieder auf der Website von Skype. Dabei ist mir erst jetzt aufgefallen, das sie unter "use skype" eine tolle Animation haben. Erst dachte ich es wäre, wie üblich, mit Flash gemacht worden. Aber beim genaueren hinsehen, habe ich schnell festgestellt, dass das ganze komplett in JavaScript umgesetzt wurde.

Ein Kompliment an dieser Stelle von mir. Die Animation wird sehr schnell geladen, läuft flüssig ab und reagiert sogar leicht auf die Mausbewegungen. So wird bestimmt irgendwann einmal Flash komplett durch offene Standards ersetzt. Nicht das ich Flash nicht mag, aber hier findet man ein gutes Beispiel wie es Pluginfrei funktioniert.

In meinem letzten Artikel habe ich über die Probleme beim Import von externen CSS-Dateien berichtet. Nun habe ich eine vereinfachten Import gefunden, denn das Einbinden von bis zu 6 Dateien bläht nicht nur der Quellcode auf, sondern sieht auch irgendwie unübersichtlich aus.

Ich weiß, diese Idee ist nicht unbedingt die neuste, aber sie gefällt mir und deshalb schreibe ich darüber

Diesen Beitrag weiterlesen »

Gestern habe ich bei einem Projekt versucht über die @import-Regel in CSS externe Dateien nachzuladen und bin auf eine sehr interessant Problematik gestoßen.

Üblicherweise importieren ja fast alle Webentwickler und -designer ihre externen CSS-Dateien mit dem HTML eigenen Tag <link rel="stylesheet" href="path/to/file.css" type="text/css" />. Wenn man nur auch noch unterschiedliche Design für die verschiedenen Ausgabemedien einbinden möchte, erweitert man diesen Tag mit dem Attribute media="screen".

Um eine bessere Trennung im Design zu bekommen, benutze ich 2 CSS-Dateien. Eine für das Layout und eine für die Farben und die Typographie. Nun entsteht aber der unschöne Umstand, dass ich für jedes Ausgabemedium 2 externe Dateien einbinden muss. Wenn ich also für den Bildschirm, den Drucker und den mobilen Endgeräten jeweils ein Design entwerfen, so sind das insgesamt 6 externe CSS-Dateien, plus einer Normalisierungsdatei. All dies über den <link>-Tag zu machen, finde ich umständlich.

Schöner wäre es doch man könnte nur eine externe CSS-Datei einbinden und der Rest wird dann von ihr geladen. Dann sieht der Quellcode etwas aufgeräumter aus.

   1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
   2: <html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
   3: <head>
   4: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   5: <title>RE-Design - CSS - @import</title>
   6: <style type="text/css">
   7: /*<![CDATA[*/
   8:  
   9: @import url('style/import.css');
  10:  
  11: /*]]>*/
  12: </style>
  13: </head>

Wenn man nun in der CSS-Datei die restlichen Dateien lädt, wäre ja alles in Ordnung.

   1: @import url('normalization.css');
   2:  
   3: @import url('screen_layout.css') screen;
   4: @import url('screen_design.css') screen;
   5:  
   6: @import url('print_layout.css') print;
   7: @import url('print_design.css') print;
   8:  
   9: @import url('handheld_layout.css') handheld;
  10: @import url('handheld_design.css') handheld;

Doch leider macht an dieser Stelle der Internet Explorer uns wieder einmal einen Strich durch die Rechnung. Denn der ignoriert die @import-Regel wenn sie mit dem Zusatz der Medienausgabe belegt wird. In diesem Fall würde also nur die Normalisierungsdatei geladen.

Interessant ist auch, dass mein über alles geliebter Opera-Browser nur die screen-Erweiterung versteht und die anderen ignoriert, was bedeutet: er druckt das Screendesign aus.

Fazit

Mein Fazit zu diesem Experimentes ist, dass ich leider wieder zurück zum <link>-Tag gehen muss, um eine volle Unterstützung aller Browser zu haben. Eigentlich schade, denn es ist doch eigentlich eine einfache und bequeme Art zu arbeiten.

In meinem Adventskalender habe ich ein kleines Tutorial über die Erstellung eines Adressbuch per AJAX geschrieben. Leider waren aber die Demodateien nicht direkt benutzbar. Ich habe sie nun korrigiert und stelle sie euch hiermit zur Verfügung.

Bugfix:

  1. Ich habe eine SQL-Datei hinzugefügt, um die Datenbank schneller zu installieren. Jetzt muss nur noch in der include-Datei der Zugriff auf die Datenbank geregelt werden.
  2. Der init()-Methode des Adressbuches wird jetzt der Form-Container übergeben, so dass das Adressbuch flexibler auf das DOM reagieren kann.
  3. Die Literal-Namen wurden in eine einheitliche Schreibweise (RED_AdrBook, RED_AJAX) umbenannt.
  4. Eine update-Funktion für bestehende Datensätze wurde hinzugefügt.
  5. Eine Lösch-Funktion wurde hinzugefügt. Deswegen wurde ein delete.php-Script, welches einen Datensatz löscht, angelget.
  6. Die Anzahl der Datensätze und der aktuelle Datensatz wird nun im Interface angezeigt.

Nun ist es soweit, heute ist Weihnachten und das letzte Türchen hat sich geöffnet. Der letzte Teil meine Adressbuches steht noch aus und das möchte ich euch jetzt geben. Es ist der serverseitige Teil meine kleinen Weanwendung. Ich habe dazu eine mySQL-Datenbank angelegt und greife mit PHP auf den Datenbestand zu.

Diesen Beitrag weiterlesen »

Im dritten Teil meines Tutorials möchte ich euch zeigen wie ich per JavaScript eine Verbindung zum Server aufbaue und Daten zum Server schicke bzw. vom Server hole. Durch die Beschreibung in Teil 1 und Teil 2 meines Tutorials habe ich hoffentlich eine gute Basis geschaffen einen Schritt weiter zu gehen.

Diesen Beitrag weiterlesen »

Archive