mmofacts.com

AJAX oder lieber Mr. Propper?

gepostet vor 18 Jahre, 7 Monate von weltenraum
Dass ein sauberer Programmierstil selbstverständlich sein sollte ist jedem Entwickler klar. Aber wird er sauberer mit AJAX? Es steht für Asynchronous Javascript and XML. Zentrales Element ist ein von Mirco$hit entwickelter propritärer Standard, das XMLHttpRequest()-Element. Es wird mittlerweile von vielen eingesetzt, z.B. von Google.

Ist es eine gute Technik? Oder wird Phishern wieder Tür und Tor geöffnet?

Leider habe ich hier im Forum keinen entsprechenden Thread gefunden. Desshalb eröffne ich das Thema hier neu.

de.wikipedia.org/wiki/AJAX
gepostet vor 18 Jahre, 7 Monate von Chojin
Hallo,

1. Sauberer Programmierstil ist nicht abhängig von den eingesetzten Techniken sondern von der Umsetzung. Warscheinlich meinst du saubereres Application Design und ja, das kann sich sowohl durch den Einsatz verschiedener zusätzlicher Layer wie Ajax, Templates oder Stored Procedures verbessern oder verschlechtern.

2. Der Standart XMLHttpRequest stammt tatsächlich von Microsoft und basiert im Internet Explorer noch auf einem ActiveXObject, was sich aber ändern wird, glaubt man den Gerüchten... Die Idee hinter dieser Technologie war so gefragt, dass sie sowohl in Firefox als auch in Opera (seit version 7.60beta) hinzugefügt wurde. Eine der ersten Entwicklergruppen die das XMLHttpRequest-Objekt im Einsatz beschrieben haben, war übrigens die Apple developer connection.

3. Phishing wird durch AJAX keinesfalls vereinfacht. Domainübergreifende Requests sind schlichtweg nicht möglich. Jedes (i)Frame birgt da 100fach mehr Gefahrenquellen. :roll:

Wie kommst du den bitte auf deine seltsamen Annahmen?

reg4rds
chojin
gepostet vor 18 Jahre, 7 Monate von TheUndeadable
Das XmlHttpRequest-Objekt wurde von MS entwickelt und dann von Mozilla,Apple und Opera als natives JS-Objekt übernommen. Im IE6 ist es tatsächlich als ActiveX-Objekt verfügbar.

Mit dem IE7 wird dieses Objekt auch nativ verfügbar sein, da der IE7 die Verwendung von ActiveX einschränken wird (Infos unter: http://blogs.msdn.com/ie )
gepostet vor 18 Jahre, 7 Monate von Krisch
Mich stört das J im AJAX, deswegen bin gegen die reine AJAX-Anwendung. Wenn man allerdings darauf achtet, dass die Seite auch ohne läuft, ist das eine super Sache.
gepostet vor 18 Jahre, 7 Monate von Mudder
Ich finde AJAX sehr gut, trotz des J's

Ich würde bei einem BG sogar weitergehen und die Spieler schlichtweg zu JS verdonnern..
Die Zeiten wo wirklich nur scheisse mit JS getrieben wurde sind vorbei und nun rumzulaufen und das als riesiges Sicherheitsmanko anzuprangern finde ich blödsinnig.. Dann soll man lieber rumlaufen und für Firewalls demonstrieren und Werbezettel verteilen, dass Banken keine Emails mit Pineingabe-Aufforderungen verschicken.

Der einzige Grund warum ich JS nicht mag sind die Browserindividuallitäten (besonders hierbei IE).. aber zur Seitengestallten bzw. zu komfortablerer Bedienung setze ich JS trotzdem ein (auch wenn man die Scripts immer für IE und den Rest schreiben muss)
gepostet vor 18 Jahre, 7 Monate von Krisch
Original von Mudder
Der einzige Grund warum ich JS nicht mag sind die Browserindividuallitäten
Das hab ich auch gemeint
gepostet vor 18 Jahre, 7 Monate von weltenraum
Der Grund warum ich diesen Beitrag gestartet habe ist die Überlegung, dass man mit AJAX ja jede Useraktion mitloggen kann. Wie lange er auf einer Seite verweilt, wo sein Mauszeiger zuerst hingeht, und ob der Banner auch ankommt.

Ich folgenden Artikel gefunden :
www.mrspeaker.webeisteddfod.com/2005/04/17/the-fonz-and-ajax/

Dass heisst der User ist dem Provider in gewisser Weise ausgeliefert. Spinnt man die Idee von XMLHttpRequest weiter, ist es möglich komplette Desktop-Anwendungen auf den Server zu legen (Stichwort Webservice). D.h. Microsoft wird dann in ein paar Jahren seine Software ausschließlich über das Internet anbieten. Ist das AJAX-Projekt nur eine Vorbereitung auf diese Vermarktungsstrategie? Schafft sich MS damit eventuell jetzt schon Vorteile? Das XMLHttpRequest-Objekt ist ja MS-propritär! Eventuell sind schon Patente am Laufen. Welche Gefahren entstehen also daraus?
Ich stehe dieser Technik mit gemischten Gefühlen gegenüber. Als Softwareanbieter/Entwickler bietet es mir ungeahnte Möglichkeiten und als User graut mir vor der Kontrolle und Abhängigkeit. Ok bei einem Browsergame ist diese Abhängigkeit nicht essentiell. Aber wenn ich mein Textverarbeitungsprogramm nicht mehr nutzen kann, weil ich die Erhöhung der Abo-Gebühr nicht für gerechtfertigt halte und der Provider die Nutzung sperrt, werde ich schon ein wenig nachdenklich.
gepostet vor 18 Jahre, 7 Monate von Kampfhoernchen
Inzwischen ist das Problem dank DOM ganz gut im Griff. IE 7 verarbeitet DOM-gerechtes JS vollkommen sauber. Opera auch. FF (zumindest mein 1.0.5) hat noch geringfügige Schwierigkeiten.
Den Rest hat Mudder ja schon gesagt.

Ich spiele bereits seit einigen Tagen mit AJAX herum, und bin sehr sehr positiv überrascht.

Ajax bzw. XMLHTTPRequest wurde nicht allein von Microsoft entwickelt, sondern von Microsoft in Zusammenarbeit mit W3C. Die programmtechnischen Möglichkeiten kann man jetzt noch gar nicht einschätzen. Ich persönlich glaube, dass AJAX ein weiterer wichtiger Schritt in Richtung ASP (Application Service Provider) ist. Google Mail hat es es vorgemacht. Eine Weboberfläche, die extrem schnell ist, und mir besser gefällt als alle Aussichten, Donnervögel usw.

Ich denke, dass auch Browsergames sehr gut von dieser Technologie profitieren können. Zumal man nicht unbedingt ASP braucht, sondern es auch sehr gut PHP-Ajax-Wrapper gibt (XAJAX (opensource) habe ich ausführlich getestet, und halte es trotz Beta-Status für einsatzfähig.

Der Programmierstiel kann mit oder ohne Ajax scheußlich sein, dass hängt vom Coder ab. Ich kenne auch genug Coder, die sauben Spaghetti-Code schreiben, den man besser versteht, als einige Objektorientierte Sachen, die Schlampig sind.
gepostet vor 18 Jahre, 7 Monate von TheUndeadable
Kurz zu weltenraums Weltverschwörung:

>Das XMLHttpRequest-Objekt ist ja MS-propritär! Eventuell sind schon Patente am Laufen. Welche Gefahren entstehen also daraus?

Wusstest du, dass MS auch Patente auf diverse CSS-Techniken hat, nutzt du nun auch kein CSS mehr? MS hat auch Patente auf diverse C++-Pattern. Es gibt garantiert auch MS-Patente, die PHP betreffen. Eine Gefahr von MS seh ich genausowenig, wie von jedem anderen amerikanischen Großkonzern. Wir müssen leider damit leben, dass kapitalistische Weltkonzerne versuchen ihre Macht weiter auszubauen. Durch die Nutzung von AJAX unterstützt du aber MS kein bisschen, daher sehe ich keinen Grund zur Besorgnis.

On-Topic:

Ich persönlich sehe AJAX als Zukunft der Webseiten. Erst mit AJAX ist es möglich ein intuitiveres Verhalten von Webseiten ohne andauernde Wartezeiten zu ermöglichen. Leider finde ich JavaScript noch etwas umständlich objektorientiert zu programmieren, dies müsste sich noch ändern, bevor ich meine vollen Kräfte darin aufgehen lassen werde.

>ist es möglich komplette Desktop-Anwendungen auf den Server zu legen (Stichwort Webservice).

Dies ist das Ziel von AJAX und wurde von MS schon seit Jahren propagiert (Beispiel: Outlook Web-Access, welcher mittlerweile auf allen Browsern läuft (nur weiß ich nicht, ob MS sich da verbessert hat, oder ob der Firefox einen Kompatibilitätslayer eingebunden hat)

Und die Einrichtung einer Abo-Gebühr ist auch ohne AJAX voll möglich (Beispiel DRM-Musik / Filme, dies lässt sich auch auf Applikationen übertragen)
gepostet vor 18 Jahre, 7 Monate von Chojin
So läuft der Hase also.

Du bist ein klein wenig paranoid oder? Die Sachen die du hier aufzählst sind alle schon (schrecklicher) Altag.

AJAX ist aus eben diesen Einsatzmöglichkeiten überhaupt erst entstanden: viele Softwarelösungen für Großunternehmen basieren auf eben dieser Technik (Siebel, Outlook Web access, Sharepoint...).
Das Klicks gelogt werden ist ebenfalls seit Erfindung der HTML-Werbemails absolute Realität.
Abo-lizenzen für Software gibt es ebenfalls seit Jahren. (Virenscanner etc.)

Es gibt aber auch immer alternativen. Das das Verfahren patentiert wird und dann nur noch im Internet Explorer genugtzt werden darf, halte ich für relativ unwarscheinlich, aber man weis ja nie... :roll:

reg4rds
chojin
gepostet vor 18 Jahre, 7 Monate von woodworker
Original von weltenraum

Dass heisst der User ist dem Provider in gewisser Weise ausgeliefert. Spinnt man die Idee von XMLHttpRequest weiter, ist es möglich komplette Desktop-Anwendungen auf den Server zu legen (Stichwort Webservice).


Ajax EMail: http://www.zimbra.com/demo/
Ajax "Word": http://www.writely.com/
Ajax "Excel": http://numsum.com/
Ajax "Office": http://www.goffice.com/
Ajax Kalender: http://www.kiko.com/
Ajax "PowerPoint": http://www.meyerweb.com/eric/tools/s5/
Ajax "PostIts": http://www.aypwip.org/webnote/


Quelle:
http://blogs.zdnet.com/web2explorer/index.php?p=20
http://slashdot.org/article.pl?sid=05/09/29/000223&tid=126
gepostet vor 18 Jahre, 7 Monate von Chojin
Woody du hast den thread getötet!
gepostet vor 18 Jahre, 7 Monate von weltenraum
Nein dumme Bemerkungen töten den Thread.

Man muss erstmal die Links alle verarbeiten.

Aber gewisse Einschränkungen werden auch immer wieder genannt:
Kein Zurück-Button
Kein Bookmark
Keine Suchmaschienenunterstützung
(wie bei Frames)

Für ein Browsergame sind diese Probleme wohl keine so dringende Punkte.
Ich denke aber auch dass diese Technik wohl schwerpunktmäßig in Browsergames auftauchen werden.

Hier noch ein Link auf heise.de
http://www.heise.de/ct/05/20/links/196.shtml
In der Ausgabe 20/2005 war ein Kurzer Artikel drin.
gepostet vor 18 Jahre, 7 Monate von schokofreak
Original von Krisch
Original von Mudder
Der einzige Grund warum ich JS nicht mag sind die Browserindividuallitäten
Das hab ich auch gemeint

Welche browserindividualitäten? Das halt ich für n gerücht, dass man für verschiedene browser verschiedenes JS schreiben muss...
gepostet vor 18 Jahre, 7 Monate von Kampfhoernchen
Dann versuch mal, die Mausposition ohne einen festzustellen und an ein Script mitzugeben

EDIT: So dass es auch im IE 5 und in Firefox 0.8 funzt.
gepostet vor 18 Jahre, 7 Monate von Chojin
schokofreak hat, so wie die Aussage war, schon recht.

Man muss keine verschiedenen Javascripts für verschiedene Browser schreiben. Man muss nur sehr weit ausholen und enorm viel in seinen Funktionen überprüfen und ergänzen um sicherzustellen, dass auch wirklich der älteste Browser checkt was man von ihm will.
(Mehraufwand ca. 80% der Entwicklungszeit)

reg4rds
chojin
gepostet vor 18 Jahre, 7 Monate von schokofreak
Wo ist das Problem mit dem Auslesen der Cursor- Position?
Skripte, welche in IE 6.0 Funktionieren, funktionieren bei mir immer auch auf der FF Version von vor 2 Jahren resp. auf IE 5.0 und Opera ab 7.0 (Opera 6.0 ists einfach nicht stabil).

Das einzige was FF & co nicht können sind die Extensions des IEs, welche aber im "reinen JavaScript" nicht vorhanden sind und nur CSS, JScript oder ähnliches betreffen.
Solange man nicht etwa Ajax nutzt.... und schön mit DOM laut Vorgabe arbeitet hat kein einziger Browser der letzten 3, 4 Jahre Probleme damit.
Die Inkompatibilitäten sind für mich seit dem Ende von Netscape vorbei...

Gruss
gepostet vor 18 Jahre, 7 Monate von Kallisti
Original von schokofreak
Wo ist das Problem mit dem Auslesen der Cursor- Position?
Skripte, welche in IE 6.0 Funktionieren, funktionieren bei mir immer auch auf der FF Version von vor 2 Jahren resp. auf IE 5.0 und Opera ab 7.0 (Opera 6.0 ists einfach nicht stabil).

Das einzige was FF & co nicht können sind die Extensions des IEs, welche aber im "reinen JavaScript" nicht vorhanden sind und nur CSS, JScript oder ähnliches betreffen.
Solange man nicht etwa Ajax nutzt.... und schön mit DOM laut Vorgabe arbeitet hat kein einziger Browser der letzten 3, 4 Jahre Probleme damit.
Die Inkompatibilitäten sind für mich seit dem Ende von Netscape vorbei...

Gruss


Dummerweise gab es vor 2 Jahren noch keinen Firefox, der sich uebrigens mit FX abkuerzt.

(Naja gut, es gab damals den Firebird ).

Inkompatiblitaeten gibt es schon... selbst ajax zu initialisieren funktioniert ja im ie anders, iirc.
gepostet vor 18 Jahre, 7 Monate von schokofreak
damals wars noch mozilla resp. n vorgänger davon.
Meine ersten Mozilla Gehversuche liegen noch in den Zeiten des MFC- Fensters (Sprich n Browser, welcher innerhalb von 1/10 sekunde lädt da eigentlich kein Browser).

Und wie gesagt, Ajax ist eine Ausnahme... und nebst CSS die einzige Quelle für Inkompatibilitäten.
Und da Ajax imho eh ein Kompromiss zwischen Funktionalität und DAU-Sicherheit ist, verwende ich es nicht. Es hat mehrere gravierender Design- Fehler im Ajax konzept... allerdings wäre ne saubere Losung wohl noch viel weniger akzeptiert, da wiederum nicht soo einfach zu bedienen.

M$ sah, dass sie beinahe die einzigen auf weiter flur waren, welche dynamisch nachladenden Content nutzen. Das relativ kompliziert ist. Deshalb wurde ajax gebaut; nicht um was neues zu bauen sondern um die Hürde zu reduzieren.

Gruss
gepostet vor 18 Jahre, 7 Monate von Kampfhoernchen
Ich rede nicht von Cursorposition, sondern von der MAUSposition. Und das funzt im IE + Safari anders als im FF / Opera.

Wobei der Opera 8.5 sogar beide unterstützt.
gepostet vor 18 Jahre, 7 Monate von schokofreak
Also bitte... das braucht einen 5-Zeiler und benötigt keine grossen Änderungen im Code.
Sprich: Das ganze benötigt keine wirkliche Änderung im Code - mal davon abgesehen dass dies sicher eine der am häufigst genutzten Operationen ist.
gepostet vor 18 Jahre, 7 Monate von Kampfhoernchen
5 Zeilen code sind 5 Zeilen code, die man nach deiner Angabe nicht brauchen dürfte.
gepostet vor 18 Jahre, 6 Monate von SirCotare
also ich arbeite gerade an ner planeten ansichtskarte basierend auf ajax. die sache gestaltet sich relativ aufwendig, funktioniert aber besser als alle anderen varianten die ich bis jetzt getestet habe. läuft auf FF, IE und Opera, soweit ich es mal gestestet hab. der einzige unterschied ist die initialisierung von ajax.

der vorteil meiner karte ist, dass man nicht alles reloaden muss, nur weil man die position auf der karte verändert, oder eine aktion ausführt. das geht sogar soweit, dass ich direkt beim überfahren eines landfeldes anzeigen lassen kann, ob eine aktion möglich ist, oder nicht. ausserdem werden nur dann daten vom server gehlt, wenn man sie braucht.

also ich kanns nur weiterempfehlen!

mfg, SirCotare
gepostet vor 18 Jahre, 6 Monate von Klaus
klingt sehr interessant

1. Wie sieht das mit dem scrollen aus? Hast du so ein weiches scrollen wie bei Google Maps hinbekommen?
2. Wie wird das denn mit der Session geregelt? die muss doch auch bei jeder Aktion überprüft werden?
3. Wenn du nix dagegen hast würde ich da gerne was von sehen.
gepostet vor 18 Jahre, 6 Monate von SirCotare
ad 1:

gescrollt wird feldweise, also ein klick auf den richtungspfeil verschiebet die ganze karte um ein feld in die jeweilige richtung. dabei holt sich ajax, die neuen felddaten


ad 2:

wei bei jedem seitenaufruf, wird überprüft ob der benutzer eingeloggt ist. dabei hab ich für jede session id einen eintrag in der datenbank. da werden auch eigegeben login informationen gespeichert.


ad 3:

in ein paar tagen, stell ich ne testversion online! n preview video gibts hier und screenshots hier
gepostet vor 18 Jahre, 6 Monate von Klaus
nicht schlecht was alles geht.
Ich empfehle dir das OpenSource zu machen. :lol:

Aber das war jetzt localhost, oder? Bei einer echten Internet-Verbindung geht das noch langsamer mit dem Nachladen der Daten.
gepostet vor 18 Jahre, 6 Monate von RedMax
Ich habe letztens eine frei scrollbare Karte programmiert (ähnlich wie Google maps) und die hat auf meinem lokalen Rechner auch wunderbar funktioniert und ich war wirklich stolz auf mich
Allerdings hat sie sich im Produktiveinsatz nicht bewährt. Bei einem Server, der sowieso schon eine relativ hohe last hast, werden die benötigten Teile zu langsam nachgeladen. Es entstehen immer Lücken in der Karte, die erst nach und nach gefüllt werden. Manchmal werden diese Lücken auch nie gefüllt.
Das alles war für die Spieler nicht tragbar und ich musste wieder die alte Karte nehmen. Ob die Fehler jetzt an meiner unzureichenden Programmierkunst oder an irgendwas anderem lagen weiss ich nicht.

Auf diese Diskussion antworten