Design Patterns mit PHP5

In der Zend Developer Zone erscheint zur Zeit eine Serie von Artikeln zur Umsetzung von Design Patterns mit PHP5.

Aufbauend auf einer Einführung in das Thema, werden bis jetzt die drei Muster Observer (Beobachter), Composite (Kompositum) und Visitor (Besucher) vorgestellt. Schritt für Schritt von der Theorie über Klassenmodelle bis hin zu echten PHP-Beispielen stellt der Autor die Modelle detailliert vor. Zum Abschluß wird das Muster noch einmal diskutiert und seine Charaktersitiken werden dargelegt.

Piccy, ein AJAX Fotoalbum

Auch wenn die Seite japanisch ist und das Design gewöhnungsbedürftig, ist Piccy eine interessante kleine AJAX-Anwendung zur Darstellung von Fotos.

Oben werden Thumbnails angezeigt, klickt man auf eines, wird das eigentliche Bild in einer Box darunter dargestellt. Sowohl die Größe der Thumbnails als auch die des Bildes läßt sich per Slider stufenlos skalieren. Nett gemacht.

(via digg)

Back-Button und Bookmarks trotz AJAX

AJAX-Websites brechen in den meisten Fällen mit der gewohnten Navigation über die Browser-History, der “Zurück”-Knopf funktioniert nicht mehr, da sich die URL der Seite nicht ändert und diese auch nicht komplett nachgeladen wird. Auch Bookmarks lassen sich nur auf die Startseite der Anwendung setzen.

Mike Stenhouse hat auf “Content with Style” einen Fix beschrieben , mit dem trotz AJAX nicht auf diese klassischen Features verzichtet werden muß. Er stellt jedoch auch die Frage, ob man klassisches Browserverhalten überhaupt mit solch recht aufwendigen Hacks simulieren sollte.

As I was writing this it occurred to me that what I’ve been doing here is remarkably like the old Frames hacks from back in the day. Should we be trying so hard to duplicate traditional browser behaviour? If it’s important enough to put in the effort to duplicate it then should we really be breaking it in the first place? It’s a question that can only be answered on a project-by-project basis but it seems important enough to be worth asking…

AdvancedAJAX

AdvancedAJAX ist ein JavaScript-Objekt, das die Benutzung von XMLHttpRequest kapselt und vereinfacht. Es unterstützt das Senden von Anfragen an den Server, Fehlerbehandlung und HTML-Form-Unterstützung. Es darf sowohl für nicht-kommerzielle als auch für kommerzielle Projekte verwendet werden.

AdvancedAJAX is a JavaScript object allowing to use XMLHttpRequest object easier and speeding up development of AJAX based projects. It consists a bound of methods helping creating queries, error handling, usage with HTML forms as well as connection timeouts and reconnecting.

(via digg)

Thinking in Web2.0

In Anlehnung an Bruce Eckels Buch Thinking in Java hat Dion Hinchcliffe sechzehn Thesen aufgestellt, die bei Web 2.0-Projekten zu beachten sind. Und in den Kommentaren sind noch einige weitere dazugekommen.

Bereits in einem früheren Artikel hatte Hinchcliffe zehn Wege aufgezeigt, Vorteile aus Web 2.0 zu ziehen.

(via live.hackr)

Einmal HTML, 40 verschiedene CSS-Layouts

In der Layout Gala wird gezeigt, wie man aus dem gleichen, einfachen HTML-Markup nur mit Hilfe von CSS vierzig verschiedene Layouts machen kann. Die Demo-Webseite besteht aus fünf verschiedenen Bereichen (Kopf, Inhalt, Navigation, Extra, Fuß), die auf immer neue Weise angeordnet werden.

Zur Positionierung der Elemente werden floats und in den meisten Fällen negative Ränder verwendet und kommen ohne Hacks aus. Alle Layouts funktionieren in IE 5-7, Firefox 1.5, Opera 8.5 sowie Safari 2 und können entweder online betrachtet oder als Zip heruntergeladen werden.

(via CSS Beauty)

Im Auto durch San Francisco

Das ist jetzt kein Problem mehr und dazu noch kostengünstig. Dank der Preview von Microsofts local.live.com kann man nun neben der schon bekannten Satellitenbild-Sicht auch noch die aus einem durch die Stadt fahrenden Auto sehen. Ein Auto-Symbol auf der Karte zeigt, wo man sich gerade befindet und in welche Richtung man schaut. Außer Downtown San Francisco ist auch noch Seattle verfügbar.

Buch-Kritik: Foundations of AJAX

Craig Maloney hat eine Kritik zum Buch Foundations of AJAX von Ryan Asleson and Nathaniel T. Schutta, erschienen bei Apress, geschrieben.

Foundations of Ajax is a great starting point for developers wondering how they can incorporate Ajax into their own web-based projects. One minor gripe I had with this book was the examples looked pale in comparison with their real-world models, but design is hardly the focus of the book. Where Foundations of Ajax shines is it’s no-nonsense introduction, implementation, and expansion of the basics of Ajax programming, leaving the reader confidently ready to utilize the concepts within. The authors have seen the potential of Ajax, and competently convey their expertise and enthusiasm for this technology.

(via AJAX Magazine)

CSS Tutorial: CSS für Anfänger

enlightendesigns stellt ein Tutorial zur Verfügung, das eine Schritt-für-Schritt-Anleitung zur Erstellung einer Website mit CSS-Layout für alle bietet, die zwar eine Grundverständnis für CSS haben, jedoch noch nicht viel (oder keine) praktische Erfahrung damit sammeln konnten.

AJAX Tutorial: Programmieren ohne Framework

Rasmus Lerdorf ist kein großer Fan komplexer MVC-Frameworks bei der Programmierung von Webanwendungen. In einem Tutorial zeigt er statt dessen, wie man auch mit einfachen Mitteln (PHP, Yahoo! UI Library und JSON) eine Web2.0-Anwendung erstellen kann.

Many frameworks may look very appealing at first glance because they seem to reduce web application development to a couple of trivial steps leading to some code generation and often automatic schema detection, but these same shortcuts are likely to be your bottlenecks as well since they achieve this simplicity by sacrifizing flexibility and performance. Nothing is going to build your application for you, no matter what it promises. You are going to have to build it yourself. Instead of starting by fixing the mistakes in some foreign framework and refactoring all the things that don’t apply to your environment spend your time building a lean and reusable pattern that fits your requirements directly. In the end I think you will find that your homegrown small framework has saved you time and aggravation and you end up with a better product.

(via SitePoint’s PHP Blog)