Christian Pfeil - New Media Blog

Inhalt

Suche

Neuste Bilder

Persönlich

Diskussionen

Archiv

Täglich

RSS-Feeds

Silverlight vs. Flash – ein Vergleich TEIL 2

Microsoft® enthüllt Silverlight. Der Flash Killer?

Seit seiner Veröffentlichung, ist Silverlight in aller Munde. Ist die Konkurrenz aus dem Hause Microsoft wirklich eine Gefahr für Adobe Flash? Welche Technologie ist eigentlich besser? Im zweiten Teil der Reihe Silverlight vs. Flash – ein Vergleich geht es um Fakten. Ein direkter Vergleich soll klären welche Technologie wirklich besser ist…

In der ersten Tabelle werden die Vorteile von Flash gegenüber Silverlight näher beleuchtet. Die zweite Tabelle weiter unten, zeigt wo Silverlight die Nase vorne hat. Wer Vor- und Nachteile ergänzen möchte, kann sich gerne bei mir melden.

Vorteile von Flash gegenüber Silverlight 1.0 / 1.1

Microsoft Silverlight 1.0 / 1.1 Adobe Flash
Silverlight kann nicht unter Linux eingesetzt werden, sondern setzt entweder Windows oder ein MAC Betriebssystem vorraus (Es gibt allerdings eine von Hackern produzierte Kopie von Silverlight für Linux). Flash läuft auf nahezu jedem Betriebsystem, sowie auf einigen DVD-Playern, Handys und anderen portablen Endgeräten.
Silverlight nutzt das WPF für Animationen. Animationen sind nicht nur zeit- und framebasierend. Start- und Endbedingungen einer Animation lassen sich flexibel bestimmen. Animationen sind frame- oder skriptbasiert.
Silverlight arbeitet ausschließlich mit WMV (Windows Media Video). Flash (FP9) spielt Videos im FLV, MPEG-4, 3GP und QuickTime Format ab.
Keine Unterstützung für grundlegende UI-Komponenten wie Buttons, Checkboxen, List Komponenten etc. Eventuell wird dies in einer zukünftigen Version noch ergänzt. Flash verfügt über viele grundlegende UI-Komponenten die zur Entwicklung herangezogen werden können.
Silverlight 1.0 unterstützt viele Bildformate (z.B. BMP oder GIF) nicht. Nur das JPG- und PNG-Format werden unterstützt. Unterstützt nahezu alle gängigen Bildformate und erlaubt sogar den Import von Photoshop Dateien (mit Ebenen).
Die Verarbeitung (Manipulation) von Sound ist nicht möglich. Mit einigen Formaten ist nicht nur das Abspielen von Sound möglich, sondern auch die Analyse und Manipulation (FP9).
Socket Programmierung ist nicht möglich. Socketverbindungen sind mit Flash möglich und finden z.B. bei Chats oder Spielen Anwendung.
Silverlight beherrscht weder Pixelbasierte-Operationen noch Bitmap-Effekte. Bitmap-Pixel-Operationen, Bitmap-Filter (Farbmatrix-, Convolution- Filter), Bitmap- Effekte (Weichzeichnung, Schliff, Glühen und Schlagschatten) sind mit Flash möglich.
Es besteht keine Unterstützung für Webcams oder Mikrofone. Webcams und Mikrofone können in Flash genutzt und ankommende Signale mit Hilfe des Flash Media Servers aufgezeichnet werden.
Eine integrierte Datei Upload- und Download Funktionalität ist nicht vorhanden. Flash kann Uploads und Downloads problems starten und kontrollieren.
Die Performance beider Produkte ist nahezu identisch. Silverlight nutzt jedoch XAML als beschreibende Sprache in einer unkompirmierten Form. Daher ist z.B. eine Komponente in Silverlight 15-20 Mal größer als eine vergleichbare Komponente in Flash. Die Größe von Flash Komponenten ist wesentlich geringer.
Beim Deployment eines Silverlight Projektes muss die (1) XAML Datei, (2) eine .DLL beim Einsatz von C#, (3) Silverlight.js, (4) die eigene JavaScript Datei, (5) und sonstige Assets wie Bilder, Videos und Sounds jeweils separat an den Client ausgeliefert werden. Flash packt alle Dateien in eine einzige SWF Datei. Eventuell können Assets in ein SWF Archiv ausgelagert und zur Laufzeit genutzt werden.
Silverlight kann momentan noch nicht als eigenständige Desktop Applikation eingesetzt werden. Flash kann als EXE Datei ausgeführt werden. Dank Zusatzprodukten wie Adobe AIR oder ZINC kann Flash sogar als Desktop Applikation (mit einer erweiterten API die sogar lokale Datenbanken und Dateioperationen erlaubt) genutzt werden.
Silverlight muss sich auf dem Markt erst durchsetzen, das Plugin muss zunächst seine Verbreitung finden (Es ist wahrscheinlich das Microsoft das Plugin mit einem der nächsten Windows Updates auf die Rechner von Millionen Nutzern ausliefert). Flash befindet sich seit Jahren auf dem Markt. Die Verbreitung und die Akzeptanz der Technologie ist extrem hoch.



Vorteile von Silverlight 1.0 / 1.1 gegenüber Flash

Microsoft Silverlight 1.0 / 1.1 Adobe Flash
Silverlight nutzt XAML. XAML ist XML. Daher sind die Verarbeitungsmöglichjeiten nahezu unbegrenzt, bzw. Anbieter von Produkten die an Silvelight anknüpfen haben eine simple Schnittstelle. Flash speichert z.B. Formen als Binärdaten ab. Ein offenes, beschreibendes, Format ist nicht vorhanden. Um das Format erzeugen zu können, sind teure Produkte von Drittanbietern notwendig (z.B. Turbine SDK).
Das Debbuging ist wesentlich einfacher. Der Debugger liefert mehr Informationen und ist umfangreicher Das Handling mit dem Flash Debugger ist eher mühsam.
True Type Schriftarten können direkt eingebunden werden. Das sog. Silverlight Downloader Object, stellt diese Schriften auf clientseitig bereit. Die Arbeit mit Schriften ist noch sehr trickreich mit Flash.
Für die Entwicklung von Silverlight stehen mehrere Programmiersprachen zur Verfügung: VB.NET, C# und JavaScript. Action Script ist die einzige Programmiersprache mit der sich Flash erzeugen lässt.
XAML ist eine deklarative Programmiersprache. Action Script ist eine imperative, d.h. befehlsorientierte, Programmiersprache.
Microsoft bietet einen kostenlosen 4GB großen Hosting Account für Streaming. Der Service Silverlight Streaming erlaubt bei einer Datenrate von 700 kbps nahezu DVD Qualität. Adobe bietet keine solchen kostenlosen Services an.
Unterstützung für mobile Endgeräte: Windows Mobile unterstützt nicht nur Silverlight Applikationen sondern auch das Streaming von Medien mit Silverlight. Flash benötigt das Flash Lite Plugin um auf mobilen Endgeräten eingesetzt zu werden. Jedoch ist die Entwicklung von Flash Lite Applikationen kostenintesiv und das Plugin nicht sehr weit verbreitet.
Silverlight unterstützt hardwarebasierte Encoding Lösungen. Flash unterstützt dies nicht.
XAML eignet sich hervorragend für SEO. Flash bietet keine zufriedenstellende Lösung für SEO. Selbst die Auslagerung der Daten mit XML (unter Nutzung von XSLT als Fallback), bietet keine befriedigende Lösung für SEO.
Silverlight bietet eine durchgehende End-to-end Server- und Applikations- Plattform. Flash hat nicht solch eine Lösung.
Die Lizenz für einen Media Server ist deutlich günstiger gegenüber Flash. Die Lizenz für einen Media Server ist deutlich teurer gegenüber Silverlight.


Fazit:

Der direkte Vergleich beider Technologien ergibt Vorzüge auf beiden Seiten. Ein Silverlight Projekt zu entwicklen wird dank des perfekten und großzügigen Frameworks in Zukunft leicher von der Hand gehen als ein vergleichbares Flash Projekt. Das stärkste Argument für Silverlight ist mit Sicherheit neben XAML die Integration auf mobilen Endgeräten. Obwohl Flash immer noch das Image des framebasierten Animationsprogramms anhängt, hat sich die Technologie spätestens mit Action Script 3 auf der Rangliste der ernsthaften Programmiersprachen weit nach oben gekämpft.

Mit Adobes Ankündigung das der Flash Players (Version 9) zukünftig auch HD-Video und mehr Formate als nur FLV untersützt, hat Adobe die Konkurrenz in Sachen Video weit hinter sich gelassen.

Welche Technologie gewinnt denn nun das Duell? Noch ist nichts entschieden, die Anbieter kämpfen derzeit um den Markt sehr zu Freude der Entwickler.

7 Reaktionen zu “Silverlight vs. Flash – ein Vergleich TEIL 2”

  1. codefux

    Vielen Dank für diesen Beitrag. Sehr schöner Vergleich der beiden Technologien. Bin demnächst bei Microsoft zu Gast für eine Einführungsschulung von Silberlicht.

  2. Christian

    Danke! Vielleicht kannst du nach deiner Schulung diese Liste um Pro’s und/oder Kontra’s ergänzen? Würde mich freuen.

    Grüße Christian

  3. Steffen Ritter (Microsoft)

    – Die Kontaktseite funktioniert nicht, daher als Kommentar –

    Hi Christian,

    ich habe Deinen Artikel bzw. Vergleich zu Silverlight entdeckt und wollte Dir ein paar Anmerkungen schicken. Aber auf jeden Fall gut geschrieben und fair recherchiert. Klasse!

    Silverlight kann nicht unter Linux eingesetzt werden, sondern setzt entweder Windows oder ein MAC Betriebssystem vorraus (Es gibt allerdings eine von Hackern produzierte Kopie von Silverlight für Linux).

    …die inzwischen offiziell von Microsoft unterstützt wird und gemeinsam von Microsoft und Novell entwickelt wird. Also „cross-platform“ heisst jetzt tatsächlich „cross-platform“

    Silverlight nutzt das WPF für Animationen. Animationen sind nicht nur zeit- und framebasierend. Start- und Endbedingungen einer Animation lassen sich flexibel bestimmen

    Das ist so nicht ganz richtig. WPF wird auf dem Windows-Desktop (Vista/XP mit .Net 3.0 verwendet). Silverlight ist quasi WPF für das Web – aber nicht WPF. Aber die Prinzipien und XAML sind größtenteils identisch, so dass ein nahezu identischer Workflow (und API) für Desktop-Entwicklung und Web-Entwicklung besteht. Zu den Animationen – warum steht das unter Nachteil? Echte zeitbasierte Animationen sind ein Riesenvorteil gegenüber Framebasierten Animationen, da ich jetzt endlich Sicherheit habe, wie schnell eine Animation ausgeführt wird. Anders als bei framebasierten Animationen wo es normalerweise von der Rechnerperformance abhängt und ich nur hoffen kann, dass das Timing ungefähr stimmen wird.

    Silverlight arbeitet ausschließlich mit WMV (Windows Media Video).

    Silverlight unterstützt Windows Media Audio und Video (WMA, WMV7–9) sowie VC-1 (HD-Video) und MP3-Audio. Weitere Formate werden möglicherweise je nach Anwenderfeedback verfügbar sein (dass wir das mit dem Feedback wirklich ernst meinen, sieht man ja an der Unterstützung für Linux). Da Silverlight eine „leichtgewichtige“, plattformübergreifende Technologie ist, verfügt das Produkt lediglich über die gängigsten Codecs, die für Web-Playback erforderlich sind. Zu VC1: Das Videoformat VC-1 ist ein Industriestandard, der von der Society of Motion Picture and Television Engineers (SMPTE) anerkannt ist und in HD-DVD und Blu-Ray Disc–zertifizierter Elektronik, Hardware und Werkzeugen integriert ist. Silverlight unterstützt die 720p HD-Qualität und hat damit in punkto Performance wesentliche Vorteile gegenüber anderen Lösungen…

    Keine Unterstützung für grundlegende UI-Komponenten wie Buttons, Checkboxen, List Komponenten etc. Eventuell wird dies in einer zukünftigen Version noch ergänzt.

    Kommen spätestens in 1.1. Drittanbieter werkeln ebenfalls bereits an tollen Controls. Z.B.
    http://www.telerik.com/demos/aspnet/silverlight/…
    http://labs.infragistics.com/silverlight/
    http://community.netikatech.com/demos/silverlight/quicktour/

    Silverlight muss sich auf dem Markt erst durchsetzen, das Plugin muss zunächst seine Verbreitung finden (Es ist wahrscheinlich das Microsoft das Plugin mit einem der nächsten Windows Updates auf die Rechner von Millionen Nutzern ausliefert).

    Uhhh – Wilde Spekulationen. Wir werden ganz sicher keine „bösen“ Zwangsinstallationen machen, sondern arbeiten stattdessen mit hochkarätigen Partnern an Angeboten, für die Anwender bereit sind, die ca. 20 sekündige Installation durchzuführen.
    Z.B. BBC, CBS, Fox Movies, Netflix…

    http://mlb.mlb.com/media/video.jsp
    http://www.wwe.com/inside/silverlight/launch/

    Sorry, deutsche Showcases kann ich leider erst in Kürze nennen.
    Grüße,
    Steffen

    Steffen Ritter | Designer Marketing Manager
    Developer Platform & Strategy Group | Microsoft Deutschland GmbH

  4. TexturenLand.de Blog » Blog Archiv » Silvrgame: Spieleentwicklung mit Silverlight

    […] Dazu möchte ich noch eine Seite zeigen die recht gut paar Vor- und Nachteile von Silverlight vs. Flash darstellt: http://www.christianpfeil.com/silverlight-vs-flash-ein-kurzer-vergleich/ http://www.christianpfeil.com/silverlight-vs-flash-ein-vergleich-teil-2/ […]

  5. Christian

    Hallo Herr Ritter,

    vielen Dank für Ihr tolles Feedback. Ich werde meinen Artikel in mindestens in zwei Punkten aktualisieren müssen.

    Wäre als deutsches Showcase nicht ein großes Onlinemagazin à la Spiegel.de denkbar?

    Das das Plugin doch irgendwann einem Servicepack beiliegt halte ich aber für sehr wahrscheinlich.

    Grüße Christian Pfeil

  6. Harkai

    Novell arbeitet an einer offizellen Linux Silverlight Version.

  7. McNoise

    “Die Arbeit mit Schriften ist noch sehr trickreich mit Flash.”

    was ist daran trickreich? … flash unterstützt sämtlich auf dem system befindlichen schriftarten verschiedener formate - jene können problemlos mit ein paar klicks ins SWF integriert werden usw. … sofern Silverlight nur TrueType unterstützt ist Flash klar im vorteil.

Einen Kommentar schreiben

Trackbacks