20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 101<br />

reitgestellten Funktionen aufbauen [BEng00, HeEz01] sowie einfachen, aber teils „durchaus raffinierten“<br />

Server-Skripten, die insbesondere auf Basis formulargesteuerter Web-Eingaben schlichte, aber dennoch beeindruckende<br />

Flash-Filme zu „dynamisieren“ vermögen [ToKe00, Wilk02], hat in der OpenSource-Szene<br />

insbesondere das Ming-Projekt 1 weitere Verbreitung erlangt, welches neben dem Hauptmodul PHP mittlerweile<br />

nahezu sämtliche Server-Sprachen (Perl, C ++ , Python) unterstützt und sich auch in Multimedia-<br />

Agenturen großer Beliebtheit erfreut.<br />

4.5.3.3.2.2 Java spricht SWF<br />

Wachsende Bedeutung kommt im Rahmen der „automatischen Flash-Generierung“ jedoch auch der in<br />

weiten Teilen der Server-Welt Einzug haltenden Programmiersprache Java [s.3.5.3] zu: Da insbesondere<br />

aufgrund der Plattformunabhängigkeit und im Gegensatz zu C ++ auch höheren Sicherheit eine Entscheidung<br />

„eher zugunsten von Java als von C ++ ausfällt“ [Star01], erscheint eine direkte Portierung des Macromedia-<br />

SDKs in diesem Zusammenhang natürlich äußerst reizvoll: Über das so genannte Java Native Interface, 2 so<br />

zumindest der Vorschlag von Benjamin Stark und Ralf Kunze von der Universität Osnabrück [vgl.<br />

Kunz00, Star01], ließen sich etwa die Schnittstelle zischen C ++ -Bibliothek und Java einmalig über die Methodenköpfe<br />

(headers) definieren. Über einen einfachen Aufruf direkt aus der Java-Umgebung heraus könnte<br />

auf diesem Wege die gesamte Funktionalität des SDKs, das ja ursprünglich nur in C ++ vorlag, auch im<br />

Rahmen einer Java-betriebenen Serverlösung nutzbar gemacht werden. Der von Kunze und Stark im gleichen<br />

Zug angekündigte, vollständig Java-basierte Flash-Generator [vgl. Star01:47] wurde jedoch bedauerlicherweise<br />

nie veröffentlicht.<br />

4.5.3.3.2.3 <strong>XML</strong> als Schnittstelle<br />

Deutlich weiter vorangeschritten sind an dieser Stelle indes die ebenfalls Java-basierten Flash-Lösungen JavaSWF2<br />

[Main00] sowie Saxess Wave [vgl. Dabb01, Star01:46ff], die sich jedoch über die von Seiten der<br />

Programmiersprache bereitgestellten Möglichkeiten hinaus noch im Zwischenschritt der Funktionalität von<br />

<strong>XML</strong> [s.5.1] bedienen: So ist im Rahmen beider Frameworks sowohl die Umwandlung binärer Flash-<br />

Dateien ein <strong>XML</strong>-konformes Text-Pendant, als auch im Umkehrschritt die Erzeugung animierter Flash-<br />

Filme auf Basis eines zuvor formulierten <strong>XML</strong>-Dokumentes oder aber direkt aus der Java-Logik heraus möglich.<br />

Zur Verdeutlichung des letzteren Falles kann an dieser Stelle etwa ein triviales „Hello-World“-Beispiel<br />

herangezogen werden, das (nach Referenzierung einer externen Flash-Datei, die bereits die eingebettete<br />

Schriftart enthält) die zweizeilige Nachricht „Hallo Welt“ im Flash-Player ausgibt:<br />

public class HelloWorld<br />

{<br />

public static void main( String[] args ) throws Exception<br />

{<br />

FontDefinition fontdef = FontLoader.loadFont("VerdanaFont.swf");<br />

Movie movie = new Movie();<br />

Frame frame = movie.appendFrame();<br />

Text text = new Text(null);<br />

Font font = new Font(fontdef);<br />

text.row(font.chars("Hello", 25), new Color(0,0,255),0,0,true,true);<br />

text.row(font.chars("World!",25), new Color(255,0,255),0,0,false,false);<br />

frame.placeSymbol(text, 200, 200);<br />

movie.write(args[0]);<br />

}<br />

}<br />

Listing 4.5.3.3.2: HalloWelt-Beispiel unter Verwendung des JavaSWF2-Frameworks [Main00]<br />

1 Anm: Nicht zu verwechseln mit MNG (ebenfalls “Ming” ausgesprochen): In diesem Falle stammt der Name aus der Comic-Welt:<br />

„Ming“ hieß der Erzrivale des Comic-Helden Flash Gordon.<br />

2 vgl. Beth Stearns: “Java Native Interface,” Sun Microsystems: http://java.sun.com/docs/books/tutorial/native1.1 [10.2.03]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!