Okt. 04 2008

YUI 2.6 veröffentlicht

Tag: YahooPatrick @ 10:55 am

Die Yahoo! User Interface-Entwicklergemeinschaft veröffentlichte vor 2 Tagen Version 2.6.0 ihrer Javascript-Bibliothek.

Version 2.6.0 beinhaltet mehr als 450 Fehlerbereinigungen, Verbesserungen und Optimierungen, 8 Komponenten haben das Betastadium verlassen und 2 neue sind hinzugekommen. Die Anzahl an funktionierenden Beispielen stieg gleichzeitig auf über 290.

Das neue YUI Carousel Control bietet einen Widget an, mit dem es möglich ist, horizontal und vertikal sanft zu scrollen. Carousel kann seinen Inhalt zum einen aus dem hinterlegten HTML-Code beziehen oder diesen direkt aus Javascript heraus erstellen

Natürlich kann auch das Nachladen von Content via XMLHttpRequest / Ajax mittels Connection Manager hierfür genutzt werden.

Die zweite Neuerung, das YUI Paginator Control, ist so neu gar nicht. Der Paginator wurde in Version 2.5, wir berichteten, bereits als Klasse von dataTable eingeführt. Nun ist Paginator eine eigenständige Komponente.

Das Paginator Control erzeugt eine Navigationsleiste, mit der man durch gestückelten Inhalt (Beispielsweise Kapitel oder Textblöcke) klicken kann.

Die Entwickler werben damit, dass dadurch die Menge an Quelltext pro Seite reduziert werden kann, indem die Anzahl der vollständig zuladenden Seitenaufrufe gesenkt wird.

Die folgenden Komponenten erhielten ein Update:

  • TreeView
  • Calendar
  • Rich Text Editor
  • Drag & Drop
  • Uploader
  • DateTable
  • AutoComplete
  • Container

Die aktuelle YUI 2.6 kann nun bei SourceForge heruntergeladen oder über den geupdateten YUI Configurator bezogen werden.

Carousel Control Paginator Control

Randnotiz:

Bis zur Veröffentlichung der angekündigten Version 3.0 des Yahoo! User Interface rechne ich mit noch mindestens einer Zwischenversion. Ein Erscheinenim März oder April des kommenden Jahres 2009 ist wohl realistisch.


Okt. 03 2008

Lebendiges Aquarium mit Dojo

Tag: DojoPatrick @ 5:48 pm

Blaine Ehrhart hat eine witzige Demonstration namens Fishtank geschrieben, die zeigen soll, wie leicht es ist, mit Dojo Animationen zu erstellen, die auf allen gängigen Browsern funktionieren.

Nur 200 Zeilen Code waren nötig, um diesem Javascript-Aquarium Leben einzuhauchen.

Das einzige, was Ehrhart verwendet hat, war die JS-Bibliothek Dojo Toolkit, das vor kurzem in der Vorabversion 1.2 RC1 erschien.

Viel Spaß beim virtuellen Fische beobachten.

Aquarium mit Dojo


Okt. 02 2008

Langerwartetes Prototype 1.6.0.3 erschienen

Tag: PrototypePatrick @ 10:57 pm

Ein dreiviertel Jahr nach Erscheinen des letzten Release veröffentlichten die Prototype-Entwickler die von Fehlern bereinigte Version 1.6.0.3, die von der Community bereits seit längerem herbeigesehnt wurde.

Die Javascript-Bibliothek erfuhr über 30 Bugfixes und 25 Verbesserungen im Vergleich zu 1.6.0.2 und ist dennoch abwärtskompatibel bis zu Version 1.6.

Zu den Neuerungen zählt die Unterstützung des Google Chrome-Browsers und der vom W3C eingeführten querySelector-API. So wird nun diese native API verwendet, wenn der Browser die API und den jeweiligen Selektor unterstützt.

Die nun aktuelle Version 1.6.0.3 ist ein Zwischenschritt zum nächsten Hauptrelease 1.6.1, an dem hart gearbeitet und gefeilt wird.

Die Entwickler äußerten sich nicht dazu, wann 1.6.1 fertiggestellt sein wird.

Das neue Prototype-Release kann man hier downloaden.


Sep. 30 2008

Die ultimative addEvent-Funktion

Tag: JavascriptPatrick @ 11:30 pm

Stephen Stchur veröffentlichte kürzlich in seinem Blog die „ultimate addEvent() function„.

Bereits seit mehreren Jahren beschäftigt sich Stchur mit Events und deren Umsetzungen in verschiedenen Browsern.

Mit der Erfahrung, die er sich in dieser Zeit aneignete, machte er sich nun ans Werk seine addEvent-Funktion zu überholen und zu optimieren.

Von den bisherigen Lösungen soll sich diese ultimative addEvent-Funktion durch folgende Punkte abheben:

  • funktioniert in allen gängigen Browsern
  • gewährleistet das korrekte Auslösen von Events (betrifft vor allem den IE)
  • zwingt den IE zum korrekten Umgang mit „this“ in within-Eventhandler-Funktionen
  • standardisiert die Event-Befehle in allen Browsern (kein vorangestelltes „on“ im IE mehr nötig)
  • führt die Events „mouseenter“ und „mouseleave“ für alle Nicht-IE-Browser ein
  • bietet die Möglichkeit über Plugins eigene Events zu definieren (zum Beispiel „mousewheel“ oder „DOMContentReady“)

Die komplette Javascript-Funktion steht hier zum Download zur Verfügung.


Sep. 29 2008

Qooxdoo 0.8 – Alles neu, besser und schneller

Tag: Ajax FrameworksPatrick @ 3:11 pm

Um das aus Deutschland stammende Ajax-Framework Qooxdoo, über das wir bereits berichteten, war es in den letzten Monaten still geworden. Vor einem Monat meldeten sich die Entwickler mit der grundlegend überarbeiteten Version 0.8 ihrer All-in-one-Bibliothek zurück.

Die Bereiche, die am meisten von der Überarbeitung provitieren, sind das „GUI Toolkit“ und das „developer tool chain“.

Der Code des GUI-Toolkit wurde für Qooxdoo 0.8 komplett umgeschrieben. Das Toolkit soll damit auf dem aktuellen Technik-Stand sein und Unterstützung für alle gängigen Browser (IE, Firefox, Safari, Opera) bieten.

Das GUI-Toolkit besitzt eine Schichtarchitektur: Über einer niedrigeren DOM-basierten Ebene (die auch als unabhängige Bibliothek genutzt werden kann), werden eine Vielzahl von Widgets und Layout-Managern eingebunden.

Entwicker von RIA- (Rich Internet Applications) Umsetzungen können kinderleicht eigene angepasste Widgets und Layouts erstellen. Das Bearbeiten der Themes von Widgets ist völlig unabhängig vom eigentlichen Widget-Code und erlaubt nun unbgegrenzte Gestaltungsmöglichkeiten wie abgerundete Rahmen, Farbverläufe und Schatten.

Das neue Qooxdoo kommt mit zwei neuen schicken Themes daher. Diese können auf einfache Weise angepasst werden – völlig ohne CSS-Kenntnisse.

Neben den interessanten Änderungen an dem GUI-Toolkit, wurde auch das „developer tool chain“ genannte Werkzeug gehörig aufgebohrt. Dieses integrierte Tool befreit den Web-Entwickler von lästigen und komplizierten Aufgaben und bietet zu gleich Hilfestellung während der Anwendungserstellung.

In der Vorgängerversion erfolgte der Entwicklungsprozess noch per Makefile und erforderte Windowsnutzer um Cygwin installieren und nutzen zu können, löste man sich nun in Qooxdoo 0.8 von diesen Voraussetzungen. Alles was jetzt noch benötigt wird, ist eine funktionierende Python-Installation, die auf jedem beliebigen Betriebssystem (einschließlich Windows) läuft und sich leicht konfigurieren lässt.

Weitere Höhepunkte der neuen Version von „Tool Chain“ sind:

  • Verknüpfen von Grafiken
  • Unterstützung einer Vielzahl von Sprachen
  • JSON-basierte Konfiguration
  • Testen einzelner Segmente
  • umfangereiche API-Dokumentation

Einen leichten Einstieg in Qooxdoo bietet das Online-Handbuch (englisch).


Sep. 25 2008

Google Developer Day 2008 in München

Tag: GoogleTobi @ 9:00 pm

Wie angekündigt, war ich in München, um am Google Developer Day 2008 im ICM auf dem Messegelände in München teilzunehmen. Pünktlich um 06:00 Uhr in der Frühe ging mein Flieger ab Dresden. Obwohl ich bereits 08:30 Uhr vor Ort war, konnte ich mich schon registrieren. Neben meinem Namensschild bekam ich einen lustigen USB Stick, auf dem sich Daten zum Event befinden.

Punkt 09:00 Uhr war dann Einlass. Bereits vor Beginn der Eröffnungsrede wurden wir Teilnehmer mit Getränken und kleinen Snacks verpflegt. Die Themen der Konferenz waren die Maps API, YouTube API, Visualization API, App Engine, Web Toolkit, OpenSocial, Android, Gears und nicht zu vergessen Google Chrome. Neben den Breakout Sessions gab es auch Codelabs, in denen man sich mit der Programmierung von Anwendungs-Szenarien auseinander gesetzt hat.

Ich selber habe bisher nur mit der Maps API und vereinzelt auch mit der Visualization API gearbeitet, deshalb beschloss ich das Maps Codelab zu besuchen. Interessant fand ich, dass man dank eines Plugins die Google Earth API mit der Maps API nutzen kann. Ebenso kann Streetview verwendet werden. Nach dem Codelab war dann auch schon Mittagspause. Während der Mittagspause gab es einen zusätzlichen Vortrag über den neuen Webbrowser Google Chrome und die V8 Engine.

Nach der Pause besuchte ich den äußerst interessanten Vortrag über die YouTube API. Mit dieser API kann man in der Tat ohne großen Aufwand seine eigene Video Community erstellen. Als nächstes wollte ich mich über die App Engine informieren. Das tat ich dann auch einige Minuten, bis ich mangels Interesse in einen anderen Konferenzraum zum Thema Android wechselte. Dort wurde die zum selben Zeitpunkt laufende Pressekonferenz in New York zum neuen Mobiltelefons „G1“ per Live Stream übertragen.

Danach war es auch schon 17:30 Uhr und Zeit für die Schlussrede. Diese wurde größtenteils von Chris DiBona geführt, der nochmal einige Features von Android OS, welches eine offene Entwicklungsumgebung bietet, zeigte.

Zum Abschluss des Tages standen die Google Mitarbeiter für Gespräche oder auch ein Spielchen am Kickertisch zur Verfügung.

ICM in München Google USB Stick Ansprache mit Chris DiBona Google Maps Codelab Synchronisation von Youtube API und Maps API

Update 26.09.2008:
Soeben bekam ich eine Mail von Google. Hier gibts ein Fotoalbum vom Developerday in München.


Sep. 25 2008

Eine einfache Javascriptbibliothek: Pi

Tag: Ajax Frameworks,AllgemeinesPatrick @ 8:11 pm

Pi ist eine leichtgewichtige Javascriptbibliothek, die für die Bedürfnisse von JS-Programmieren entworfen wurde.

Pi wurde zum einen entwickelt um eine nützliche Entwicklungsumgebung zu bieten, zum anderen um speziell die Unterschiede der verschiedenen Browser zu minimieren.

Die umfangreiche pi.element-Klasse ermöglicht es, komplexe Benutzerschnittstellen leicht und systematisch zu erstellen.

Die extend-Methode erlaubt das objektorientiertes Erzeugen und Erweitern von Klassen. Dazu steht ein Tutorial zur Verfügung.

Ajax-Anwendungen werden mittels pi.xhr-Klasse entwicklerfreundlich entwerfen.

Mit pi.get() lässt sich einfacher auf Elemente zugreifen. Zudem stellt pi.util.Element eine Menge Methoden zum intuitiven Manipulieren der DOM-Syntax zur Verfügung.

Mittels pi.env kann der Browser des Webpage-Besuchers abgefragt werden.

Als Beispielanwendungen, die auf Pi setzen, wären der Javascript-Debugger Firebug Lite und ein Realtime-Chat zu nennen. Wobei letzterer noch den Pi-Plugin Comet nutzt.


Sep. 23 2008

Webkit SFX schlägt zurück

Tag: TrendsPatrick @ 7:57 pm

Der Sommer diesen Jahres ist geprägt vom Wettstreit der Browserentwickler um die schnellste Javascript-Engine. Das Stichwort dabei lautet ganz klar „Virtual Engines“.

Nachdem erst Mozilla ankündigte in der 4. Firefox-Generation eine virtuelle JS-Engine einzusetzen, meldete sich prompt das Safari-Lager und stellte in Form des aktuelles WebKit-Browsers ihre SquirrelFish-Engine vor, die die Vorteile von „Virtual Engines“ eindrucksvoll demonstrierte und alle bisherigen JS-Verarbeiter in den Schatten stellte.

Inzwischen setzte der Internetriese Google mit dem hauseigenen Chrome-Browser zum Gegenschlag an. Die V8-Javascriptengine von Chrome beeindruckte in vielen Benchmarks und schien die Performancekrone inne zu haben.

Nun kontert WebKit erneut und stellt mit SquirrelFish Extreme (kurz SFX) eine nochmals ein gutes Stück schnellere Javascriptengine vor.

Im Vergleich zum Vorgänger wurde an 4 Bereichen sehr hart gearbeitet. Diese wären: weitere Bytecode-Optimierung, polymorphes Inline-Caching, ein schlanker, schneller und theardbasierter JIT (just in time)-Compiler und die neue Engine für reguläre Ausdrücke (regular expressions), die von der JIT-Infrastruktur gebraucht macht..

Die Benchmark-Ergebnisse sprechen für sich allein.

Der Wert gibt an, wie oft in einer Minute der Sunspider-Benchmarktest durchgeführt wurde.

JS-Engine Sunspider / Minute Zuwachsfaktor
WebKit 3.0 5,4
WebKit 3.1 18,8 ~ 3,5x
SquirrelFish 29,9 ~ 5,5x
SquirrelFish Extreme 63,6 ~ 11,8

Ich habe am heutigen Tag selbst einen kurzen Benchmark mit Dromeao durchgeführt um mir ein Bild der aktuellen Browserversionen in Sachen Performance machen können.

Browser Ergebnis (in ms) Unterschied (in ms)
Webkit R36766 4421,40
Chrome 0.2.152.1Beta 5489,20 +1067,80
WebKit R34380 6173,60 +1752,20
Safari 3.1.2 6836,00 +2414,60
Firefox 3.0.2 7910,40 +3489,00
Firefox 3.0.1 7928,40 +3407,00
Opera 9.6Beta (10433) 9049,00 +4627,60
Firefox 3.1Beta (TraceMonkey) wird nachgeholt

Übrigens:

Mozilla gab heut die Beta-Firefox Versionen 2.0.0.17 und 3.0.2 frei.


Sep. 22 2008

Dojo Toolkit in Version 1.2 RC1 erschienen

Tag: DojoPatrick @ 10:31 pm

Das Dojo-Entwicklerteam hat eine erste Releaseversion ihres Tookits der Version 1.2 veröffentlicht.

Reichlich Updates und neue Features finden sich in diesem Release:

  • mehr als 1000 Änderungen, Verbesserungen und Bugfixes im Vergleich zu Version 1.1.1
  • enorme Verbesserungen der Schnittstelle Dijit (einschließlich der attr()-Methode zum Abfragen und Ändern von Attributen) und eine Generalüberholung aller Widgets
  • neue und sehr verbesserte Dojo Grid-Funktion (inklusive viller dojo.data-Integration)
  • erweiterte Möglichkeiten zum Erstellen von Diagrammen, Tooltips, Animationen, Legenden und Ereignissen

Weiteren neue Features:

  • Multi-File-Uploader
  • weiterentwickelte Grafik-Widgets (Lightbox, Slideshow und so weiter)
  • schneller XML-Parser
  • schnellerer Weg um Google Analytics einzubinden
  • verbesserte Sicherheit (zum Beispiel für windowName und dojox.secure)
  • volle JSON-Unterstützung

Dies soll eine wirklich nur kleine Auswahl der Änderungen sein. Wer mehr darüber erfahren möchte, kann einen Blick in die Release Notes werfen.

Dojo 1.2 RC1 steht auf der entsprechenden Entwicklerseite zum Download zur Verfügung.


Sep. 19 2008

Pacman mit YUI umgesetzt

Tag: Spiele,YahooPatrick @ 7:56 pm

Kris, Betreiber des Blogs digitalinsane.com, stellte vor kurzem eine Yahoo! User Interface-Umsetzung des Spieleklassikers Pacman vor.

Wie Kris selbst eingesteht, ist das Spiel nicht perfekt, der Code noch optimierbar und enthält noch etliche Fehler. Dafür läuft das Game jedoch auf allen modernen Browsern und kommt dabei ohne Flash aus.

Die künstliche Intelligenz der vier Geister, die den Spieler erwischen wollen, ist ebenso noch nicht ausgereift. So kann es vorkommen, dass sie „davonlaufen“ sobald sie Pacman gefunden haben.

Gestartet wird das Spiel mit Drücken der Enter-Taste. Mittels Pfeilstasten bewegt man die Spielfigur von Level zu Level durch die Spielwelt.

Alle Freunde von Nostalgiespiele werden ihre Freude daran haben. Viel Spaß beim Spielen.

Pacman mit YUI umgesetzt


« Vorherige SeiteNächste Seite »