Yeti: AJAX: Eierlegende Wollmilchsau mit Blindenhunddiplom

Hallo ihr!

Normalerweise bin ich eher anti Hype, wenn mir ein Kommilitone was von Web 2.0 und Revolution erzählt schalte ich eher ab. Aber jetzt habe ich doch ein paar Seiten gesehen, auf denen AJAX ziemlich clever eingesetzt wird und würde es nun gerne für meine Webanwendungen nutzen.
Neben Problemen, die ich ohnehin schon immer über JavaScript gelöst habe, würde ich aber auch gerne - möglichst barrierefrei - neue Möglichkeiten nutzen.

Bin dabei auf zwei sehr interessante Frameworks gestoßen, zum einen Prototype (Client-seitig) und Atlas für ASP.NET.

Meine Frage ist, ob es für PHP oder ASP.NET ein Framework gibt, welches auch gleich eine <noscript>-Lösung mitliefert, wo ich also nicht zwei Versionen programmieren muss, bloß weil ich für JS-User einen Reload sparen will.

Oder macht es überhaupt keinen Sinn mehr, JavaScript _nicht_ vorauszusetzen? Schließlich weiß kaum jemand, wie man es überhaupt deaktiviert und an sich ist es ja auch kein Sicherheitsrisiko. Allerdings kenne ich nur zu gut die Mails von verärgerten Usern, die nicht navigieren konnten, weil der Designer zwei Frames auf einmal verändern wollte und keine Alternative geschaffen hat.

Also, gibt es die ELWMS für AJAX?
Anspruch:
1. Client-Framework, am besten automatisch erzeugter Code
2. Vorgefertigte "Controls", die AJAX nutzen
3. Bei den vorgefertigten Bausteinen eine <noscript>-Variante, oder zumindest die Möglichkeit, dies einfach umzusetzen
4. Serverseitig ist nicht sooo wichtig, wenn ich richtig informiert bin braucht man ja nur XML auszugeben, das der Client resp. das Client-Framework dann verstehen kann

Gruß,
Der Yeti

--
Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
Und bin so klug als wie zuvor!
sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
  1. Hi,

    Oder macht es überhaupt keinen Sinn mehr, JavaScript _nicht_ vorauszusetzen?

    Ajax funktioniert nur über die im Browser eingebaute JS Engine. Schau mal: http://rolfrost.de/cgi-bin/xmlhttpreq.cgi

    --roro

    1. Hi,

      okay, vielleicht muss ich weiter ausholen.
      Ich weiß schon, wie AJAX funktioniert (und wie/wann nicht). Meine Idee ist jetzt, anstatt bei jeder Lösung eigens wieder mit XMLHttpRequest und Konsorten rumzufummeln, ein Framework zu nutzen.
      Bin gerade bei meinem ersten größeren ASP.NET-Projekt und daher von den Controls ziemlich begeistert. Auch der Ansatz, die Webseite nicht aus HTML-Schnipseln zusammenzukleben sondern als Objekt zu behandeln und erst bei der Ausgabe dann in einem Rutsch (abhängig von Parametern) in HTML zu renden. Für mich als alten PHP-Hasen, der den Sprung von include() zu OO noch nicht geschafft hat, fast wie eine Erleuchtung.

      Meine Sorge dabei ist nun, wie sich der Einsatz von AJAX auf die Nutzer auswirken, die kein JavaScript benutzen können/wollen/dürfen.
      Naturgemäß könnten sie diese Funktionen zunächst nicht nutzen.
      Möglichkeiten:
      1. Keine "lebenswichtigen" Funktionen mit AJAX umsetzen (laaangweilig)
      2. Eine Alternative mit Postback zum Server schreiben "wie früher"

      Nun ist mein Gedankengang, dass die zweite Alternative doch auch irgendwie automatisiert umgesetzt werden kann. Im Idealfall nutze ich
      das Framework wie eine Black Box, z.B. mittels "new ELWMS.Suchfeld()", und der Rest (AJAX-Clientcode, Webservice auf dem Server, Alternativbehandlung für AJAX-lose Browser) wird automatisch gemacht.

      Die Frage ist, ob es so etwas schon gibt und ob es sich überhaupt lohnen würde.

      Hoffe, jetzt ist es etwas klarer.

      Gruß,
      Der Yeti

      --
      Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
      Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
      Und bin so klug als wie zuvor!
      sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
      1. Hallo Yeti,

        ich habe noch nicht mit Atlas und .NET 2.0 gearbeitet, aber AJAX Lösungen schon für Net 1.1 gebastelt.

        Guter Artikel:
        http://peterkellner.net/?p=1

        Auch der Ansatz, die Webseite nicht aus HTML-Schnipseln zusammenzukleben sondern als Objekt zu behandeln und erst bei der Ausgabe dann in einem Rutsch (abhängig von Parametern) in HTML zu renden. Für mich als alten PHP-Hasen, der den Sprung von include() zu OO noch nicht geschafft hat, fast wie eine Erleuchtung.

        Tja, mit .NET gehen einige Sachen wirklich sehr leicht von der Hand...;)

        Meine Sorge dabei ist nun, wie sich der Einsatz von AJAX auf die Nutzer auswirken, die kein JavaScript benutzen können/wollen/dürfen.
        Naturgemäß könnten sie diese Funktionen zunächst nicht nutzen.
        Möglichkeiten:

        1. Keine "lebenswichtigen" Funktionen mit AJAX umsetzen (laaangweilig)
        2. Eine Alternative mit Postback zum Server schreiben "wie früher"

        Imho beides - je nach Nutzen-Aufwand-Abschätzung.

        Nun ist mein Gedankengang, dass die zweite Alternative doch auch irgendwie automatisiert umgesetzt werden kann. Im Idealfall nutze ich
        das Framework wie eine Black Box, z.B. mittels "new ELWMS.Suchfeld()", und der Rest (AJAX-Clientcode, Webservice auf dem Server, Alternativbehandlung für AJAX-lose Browser) wird automatisch gemacht.

        Aber genau das kannst Du doch mit .NET machen. Du bastelst Dir eine Custom Control. Diese hat Properties, mit denen Du die Control "konfigurieren" kannst. Für die Control kannst Du von Basisklassen ableiten und deine eigene Alternative schreiben, falls Javascript nicht vorhanden ist. Und dann kannst Du sie praktisch als Blackbox nutzen...

        Bisher habe ich aber meist nur nicht "lebenswichtige" Funktionen mit AJAX umgesetzt.

        Falls Du dich mit .NET weiter auseinandersetzen willst, empfehle ich Dir http://www.glengamoi.com

        Gruß
        LeKuchen

        1. Hallo LeKuchen,

          danke für deine Anregungen! Werde mir das mal zu Gemüte führen.

          Gruß,
          Der Yeti

          --
          Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
          Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
          Und bin so klug als wie zuvor!
          sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
  2. Hallo

    Normalerweise bin ich eher anti Hype, wenn mir ein Kommilitone was von Web 2.0 und Revolution erzählt schalte ich ehe......»»

    Ist zwar keine Antwort aber wollte ich immer mal loswerden.
    Und deine Überschrift drängt sich da auf.

    Jahrelang nutze ich JS nur im adminstrativen Bereich, obwohl
    unzählige Möglichkeiten eben diesen (JETZT) so begerten Ajax
    Effekt im Frontend zu nutzen.

    Aber nachdem JS immer und überall verteufelt wurde wegen
    barrierefreiheit(besonders hier im Forum), ist es jetzt
    der Renner, WIE KANN DAS SEIN ?

    J.P.

    1. Hi,

      Jahrelang nutze ich JS nur im adminstrativen Bereich, obwohl
      unzählige Möglichkeiten eben diesen (JETZT) so begerten Ajax
      Effekt im Frontend zu nutzen.

      Aber nachdem JS immer und überall verteufelt wurde wegen
      barrierefreiheit(besonders hier im Forum), ist es jetzt
      der Renner, WIE KANN DAS SEIN ?

      Nun, ich denke hier muss man unterscheiden zwischen Web-Seiten und Web-Anwendungen (ja, ich weiß, zusammenschreiben...).
      Webseiten sollten nach Möglichkeit von jedem erreichbar sein. Wenn z.B. die Navigation _nur_ auf JavaScript (oder noch schlimmer: Flash!) vertraut, sperrt man automatisch diejenigen aus, die JS nicht haben oder abgeschaltet haben oder Flash nicht haben oder nicht installieren dürfen etc. pp.
      Bei einer Webanwendung kann man den Nutzerkreis meist enger fassen, die Anwender sind schon deswegen meistens persönlich bekannt, weil ohne Login nichts geht (entweder aus Sicherheits-/Berechtigungsgründen oder wegen Personalisierung). Da kann man dann auch schon mal IE 5+ o.ä. voraussetzen.

      Das Web 2.0 geht ja angeblich genau dort hin, nur noch aus Anwendungen zu bestehen (Blogs, Wikis und "der Rest" wenn man meinem Kommilitonen glauben darf). Die Browser werden immer mehr zu Fat Clients und nicht nur zu dummen Renderprogrammen.

      Trotzdem sollte man m.E. Anwender ohne den neusten Schnickschnack-Browser nicht per se aussperren. Daher die Suche nach dem perfekten AJAX-Framework. ;-)

      Der Yeti

      --
      Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
      Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
      Und bin so klug als wie zuvor!
      sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
    2. Hallo J.P..

      Aber nachdem JS immer und überall verteufelt wurde wegen
      barrierefreiheit(besonders hier im Forum), ist es jetzt
      der Renner, WIE KANN DAS SEIN ?

      Der Einsatz von JavaScript wird (zumindest von mir) nicht per se verteufelt. Wenn JS unaufdringlich eingesetzt wird und nur unterstützende Funktionen bereitstellt, ist der Einsatz völlig legitim. Wenn jedoch die Benutzung des jeweiligen Dokumentes oder gar der ganzen Site einzig und allein von der Aktivierung von JS abhängt, ist ein solcher Einsatz im offenen WWW mehr als zweifelhaft. Denn Fakt ist, dass dann Surfer, die JS nicht aktivieren können/wollen dann auf dem Trockenen sitzen und ihnen jeglicher Zugriff verwehrt wird.

      Im Intranet, wo aktiviertes JS einfach festgelegt werden kann, sieht die Sache natürlich anders aus. Aber auch hier sollte man es nicht übertreiben. (Siehe hierzu auch AJAX Mistakes. )

      Einen schönen Dienstag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. Hallo Ashura,

        Wenn jedoch die Benutzung [...] allein von der Aktivierung von JS abhängt, ist ein solcher Einsatz im offenen WWW mehr als zweifelhaft.

        Ich finde, mann muss da relativieren. Einmal ist es so, dass die Mehrzahl der 'hippen' Web-2.0-Seiten ohne JS nur halb so spassig oder gar tot sind. Offenbar hat die grosse Masse der Surfer damit kein Problem, ganz im Gegenteil. Und dann gibt es ja noch jede Menge Seiten, die nur relativ kurzfristig leben und auch nicht so superviel Inhalt haben, da ist man als Besucher fuer jede javascriptinduzierte Zuckung dankbar. Ich habe heute zum Beispiel eine Seite ausgeliefert fuer eine Pop-Festival im Herbst, da sind Spielereien geradezu ein Muss. Aber im Ernst wird da niemand fragen, ob so eine Seite auch ohne JS funktioniert.

        Gruß,

        Dieter