Wer sich auch gerne in das Thema Multitouch auf Apple-Geräten einlesen möchte, dem seien folgende Links empfohlen:
In den obigen 4 Artikel (bzw. 6 Links) wird ausführlich, mit Codebeispielen, erklärt, wie man für das iPhone von Apple oder dem neuen Apple iPad Events erzeugt um Aktionen mehrerer Finger, dem so genannten Multitouch, entwickelt.
Dabei handelt es sich nicht um die üblichen Dreh- und Zoombewegungen, denn das sind eigentich nur Gesten und in der Entwicklung nicht unbedingt als Multitouch anzusehen. Multi kann mehr als 2, 3 oder 10 Finger sein.
Die ersten zwei Videos von Douglas Crockford über Javascript sind raus:
The Early Years
And Then There Was JavaScript
Drei weitere kommen nocht.
Heute habe ich kurz darüber nachgedacht, wie man in JavaScript eine serverseitige Push-Funktion implementieren kann.
Eine Möglichkeit wäre es, den Status ständig abzurufen, wie zum Beispiel mit folgendem Code:
function checkServer() {
new Ajax.Updater('server.php', {
method: 'get',
onSuccess: function(transport) {
if (parseInt(transport.responseText)) checkServer();
else doStuff(transport.responseText);
}
});
}
Die prototype-Library als Framework vorausgesetzt.
Dabei wird im obigen Quelltext solange das serverseitige Skript aufgerufen, bis es denn eine Lösung gibt, als Anwendungsfall kann man sich eine langwierige Datenbankoperation vorstellen, die sonst nichts, nicht mal ein HTML-Template, zurückgibt.
Denn wenn etwas kommt, ist der Prozess zu Ende.
Ein anderer Ansatz ist, vorausgesetzt man kann eine Session lange offen halten, dass man den Status der Übertragung überprüft und eben darauf reagiert.
Dies ist auf jeden Fall die elegantere Lösung die weniger Queries verursacht, aber wegen der langen Sessions etwas unsicherer, bei zum Beispiel schlechten Internetzugängen oder DSL Timeouts, ist, aber schöner funktioniert:
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.onreadystatechange = handleStateChange;
function handleStateChange() {
if (xmlHTTP.readyState == 3) {
alert(xmlHTTP.responseText);
}
}
xmlHTTP.open("POST", "/server.php", true);
xmlHTTP.send();
Oder fällt jemanden auf Anhieb eine bessere Möglichkeit ein, wenn man auf der Seite des Client nur einen Webbrowser mit JavaScript zur Verfügung hat?
Besserung ist wohl nicht zu erwarten, denn wie hier bei heise steht, wird am XMLHttpRequest nichts mehr verändert. Super.
Soeben konnte ich im Yuiblog erfreulicherweise diesen Veranstaltungshinweis lesen:
Crockford on JavaScript
Dabei spricht Douglas Crockford über die JavaScript-Architektur und vieles mehr.
Ich hoffe nur, dass die Vorträge als Mitschnitte verfügbar gemacht werden und ähnlich wie diese Videos veröffentlicht werden.
Zusammengefasst: Man kann Douglas Crockford in Sachen JavaScript unbedingt empfehlen, vor allem sein Buch “JavaScript – The Good Parts” kann sehr erleuchtend sein!