.nils: Was ich schon immer mal fragen wollte...

<gruss class="herzlich">Hallo,</gruss> <vorwort target="puristen" style="tonfall:beschwichtigend;">Technologien wie Javascript und Flash sind sowieso nicht die reine Lehre, weil Leute damit blöde Dinge anstellen. Texte hingegen sind super, weil Leute in der Regel intelligente Sachen schreiben. Und Texte können deinen Computer nicht zum Absturz bringen, wenn sie nicht gerade 30 Gigabyte groß sind oder aus Mails von Susi, Jenna oder Ralph stammen.</vorwort> <eigentlichertext>Ich hab eine Frage zu Flash und Javascript: Mir fällt (auf WinXP) bei Flash im Unterschied zu Javascript auf, das es _wesentlich_ konstanter abläuft. Beispiel: Ein Button, der sich sinnvollerweise bewegt, wenn man drüberfährt. Wenn das mit Flash erstellt wurde, verläuft die Bewegung (scheinbar) immer absolut gleichmäßig. Wenn das in Javascript implementiert ist, gibt es immer mal wieder Ruckeln, für Sekundenbruchteile, selbst wenn die Bewegung pregeloadet wird (z.B. beim Laden der Seite in zwei Arrays die einzelnen x und y-Werte geschrieben werden). Oder: Dinge die eine exakte zeitliche Synchronisation verlangen, z.B. zwischen bewegten Bildern und Sound. Kann ich mit Javascript vergessen. Das geht nur mit Flash (Oder mit Java plus fünf Minuten Ladezeit). Es scheint mir so, als liefe Flash irgendwie unabhängig von der Prozessorauslastung, während Javascript jedesmal fragen muß, darf ich? Hast ein wenig Ram für mich? Außerdem lädt Flash scheinbar viel schneller als Java-applets (Und "fehlerfrei funzen" ist auch nicht gerade ein Attribut, das nach meinen Erfahrungen auf Java zutrifft, _GANZ_ zu schweigen von Usability). Mich interessiert, woran das liegt. Ich vermute, das in Flash alles vorgeladen wird und das irgendwie sehr schnell, aber macht das so einen großen Unterschied? Liegt das eventuell (nicht) an Microsofts Streitigkeiten mit Sun und dem schändlichen Unterdrücken von frei nutzbaren Programmiersprachen wie Javascript? Wie sieht das bei MacOS aus? Wie unter dem guten Linux? Gruß, Nils p.s. Ist sowas schon mal jemandem beim W3C aufgefallen? Vermutlich eher nicht. Die können nur spezifizieren und rumdiskutieren, har har, rumpauschalisier... </eigentlichertext>
  1. Mir fällt (auf WinXP) bei Flash im Unterschied zu Javascript auf, das es _wesentlich_ konstanter abläuft.

    Du vergleichst Äpfel mit Birnen.

    Beispiel: Ein Button, der sich sinnvollerweise bewegt, wenn man drüberfährt.
    Wenn das mit Flash erstellt wurde, verläuft die Bewegung (scheinbar) immer absolut gleichmäßig. Wenn das in Javascript implementiert ist, gibt es immer mal wieder Ruckeln, für Sekundenbruchteile, selbst wenn die Bewegung pregeloadet wird (z.B. beim Laden der Seite in zwei Arrays die einzelnen x und y-Werte geschrieben werden).

    Dann machst du irgendwas falsch, oder dein Browser ist kaputt.

    Oder: Dinge die eine exakte zeitliche Synchronisation verlangen, z.B. zwischen bewegten Bildern und Sound. Kann ich mit Javascript vergessen. Das geht nur mit Flash (Oder mit Java plus fünf Minuten Ladezeit).

    Das ist eine der stärken von Flash, stimmt. JS kann keinen Sound abspielen (es sei denn es gibt ein passendes Plugin mit JS API) und Java ist wieder eine andere Baustelle, du kannst damit wesentlich mehr Dinge als mit Flash machen.

    Es scheint mir so, als liefe Flash irgendwie unabhängig von der Prozessorauslastung, während Javascript jedesmal fragen muß, darf ich? Hast ein wenig Ram für mich?

    Nein, JS läuft innerhalb des Browsers und wird dort mit allen möglichen Aktionen synchronisiert, während Flash, wie du schon bemerktest, unabhängig vom Browser seine Aktionen vollführen kann.

    Außerdem lädt Flash scheinbar viel schneller als Java-applets (Und "fehlerfrei funzen" ist auch nicht gerade ein Attribut, das nach meinen Erfahrungen auf Java zutrifft, _GANZ_ zu schweigen von Usability).

    Du vergleichst Äpfel mit Birnen.

    Mich interessiert, woran das liegt. Ich vermute, das in Flash alles vorgeladen wird und das irgendwie sehr schnell, aber macht das so einen großen Unterschied? Liegt das eventuell (nicht) an Microsofts Streitigkeiten mit Sun und dem schändlichen Unterdrücken von frei nutzbaren Programmiersprachen wie Javascript? Wie sieht das bei MacOS aus? Wie unter dem guten Linux?

    Nein, es liegt einfach daran, dass Flash einzig und allein dazu dient, aktive Inhalte in Form von Animationen oder Tönen wiederzugeben. Während Java eine Laufzeitumgebung ist, um Betriebsystem unabhängig Anwendungen zu entwickeln. Es gibt durchaus Tests die Aussagen, dass Java eine sehr schnelle Programmiersprache ist. Und Javascript wird in jedem Browser anders umgesetzt, da hängt es in erster Linie von den Programmierkünsten der Hersteller ab.

    Ist sowas schon mal jemandem beim W3C aufgefallen? Vermutlich eher nicht. Die können nur spezifizieren und rumdiskutieren, har har, rumpauschalisier...

    Aldi kann auch nichts dafür, die können auch nur Billige Produkte verkaufen anstatt mal Javascript schneller zu machen.

    Struppi.

    -- Javascript ist toll (Perl auch!)
    1. Hallo,

      Du vergleichst Äpfel mit Birnen.
      Du vergleichst Äpfel mit Birnen.

      Ok, Ok. Aber wo ist sie nun, die open-source-Alternative dazu?

      (...) es liegt einfach daran, dass Flash einzig und allein dazu dient, aktive Inhalte in Form von Animationen oder Tönen wiederzugeben.(...)

      Gibt es denn keine vergleichbare, freie Technologie?

      Gruß, Nils

      1. Moin,

        Ok, Ok. Aber wo ist sie nun, die open-source-Alternative dazu?

        Nun, es gibt SVGs - die aber noch nicht von jedem Browser (IE) noch nicht unterstützt werden, und zur Performance im Vergleich zu Flash kann ich auch nichts sagen.

        Gibt es denn keine vergleichbare, freie Technologie?

        Ich will nicht soweit gehen, zu behaupten "was nix kost, taugt nix".
        Nur eins muss man sich klar machen: Macromedia (bzw. inzwischen Adobe) verdienen ihr Geld unter anderem eben genau DAMIT - eine Entwicklungsplattform zu bauen für schnelle, performante Multimedia-Inhalte im Netz.
        Wenn Flash-ähnlicher Content genauso schnell, einfach usw. mit kostenlosen Mitteln erstellbar wäre, wer würde dann noch Flash MX und Konsorten kaufen?
        Ich will nicht wissen, wieviel Geld in die Entwicklung von Flash gesteckt wurde und wird. Da muss ja dann auch was rauskommen, was zumindest halbwegs vernünftig ist.

        Ein weiterer Punkt ist: Nach wie vor wird bei Multimedia-Anwendungen sehr viel auf Flash gesetzt. Der DHTML-Hype Ende der 90er hat das etwas geändert, aber nicht viel. Flash ist das was die Leute kennen, mit dem sie umgehen können, also macht man's in Flash.
        So lange also niemand schreit "DHTML ist zu langsam" - wieso schneller machen?

        Es gibt schon Ansätze, auch JavaScript performanter zu gestalten und es wird auch besser - vergleiche mal die DHTML-Fähigkeiten von Netscape 6.0 und Mozilla Firefox 1.5 und Dir werden ganz erhebliche Performance-Sprünge auffallen, von behobenen Renderbugs u.ä. mal ganz  abgesehen.
        Nur eine alte Gewohnheit (Flash) abzulegen dauert eben seine Zeit ;)

        Gruß,
        Jörg

  2. Hoi,

    keine wirkliche Antwort von mir, aber "pregeloadet"? Warum nicht einfach preloaded oder im Voraus geladen, statt dieses *mehr* als nur grausam aussehnden Wortungeheuers?

    Ansonsten hat Struppi ja schon gut geantwortet :)

    Gruß Ben

  3. Ich grüsse den Cosmos,

    _GANZ_ zu schweigen von Usability).

    Seit wann hat Usability was mit der verwendeteten Programiersprache zu tun? Das liegt doch nur am Programmierer.

    Möge das "Self" mit euch sein

    --
    Ich bin keine Signatur, ich fülle nur diesen leeren Platz mit sinnlosen Worten