Flash is opgebouwd als een soort tekenfilm. Per tijdseenheid bepaalt de ontwikkelaar wat de bezoeker te zien krijgt. Een tijdseenheid wordt een frame genoemd. Een belangrijke tijdseenheid heet een keyframe. Zij vormen de uiteindelijke basisstructuur van de applicatie of animatie.
Adobe Flash maakt gebruik van vectorafbeeldingen. Dit betekent dat plaatjes worden opgeslagen als punten met de daarbij behorende coördinaten. Afbeeldingen worden normaal gesproken opgeslagen als een bitmap, een collectie van pixels. Een voorbeeld: een rode driehoek wordt in Flash opgeslagen als "een gesloten polygoon, van lijn 1 naar kolom 55, van lijn 55 naar kolom 105 en van lijn 105 naar kolom 1, opgevuld met de kleur rood." Een vergelijkbare bitmap daarentegen wordt als volgt opgeslagen: "lijn 1, witte pixel, witte pixel, witte pixel, witte pixel, witte pixel ... rode pixel. Lijn 2; witte pixel, witte pixel, witte pixel, witte pixel, witte pixel ... rode pixel, rode pixel ..." De bitmapmanier van opslaan neemt aanzienlijk meer opslagruimte in beslag dan de vectormanier. Vectorbestanden zijn veel kleiner en kunnen daardoor veel sneller over het internet worden getransporteerd. Veel soorten afbeeldingen kunnen echter niet in vectorformaat worden opgeslagen, zoals foto's. Andere afbeeldingen zoals logo's, schema's en tekeningen zijn er juist wel uitermate voor geschikt.
Bitmaps hebben nog een ander minpunt ten opzichte van vectorafbeeldingen. Ze kunnen namelijk niet zonder problemen worden vergroot of verkleind. De afbeelding is voor één schermresolutie opgeslagen. Vergroten kan wel, maar dit gaat ten koste van de scherpte van de afbeelding. Vectorafbeeldingen daarentegen kunnen zonder problemen worden aangepast, omdat de coördinaten wiskundig worden herberekend met als gevolg dat vectorafbeeldingen op alle verschillende media hetzelfde worden getoond. Dit garandeert een uniforme presentatie van de gegevens. Het maakt niet uit aan welke resolutie de afbeelding moet worden aangepast, de scherpte blijft altijd 100 % behouden, doordat de afbeelding altijd opnieuw wordt getekend. Samen met de beperkte omvang van het bestand zorgt dit voor een aantal unieke eigenschappen van Flash.
Tegenwoordig beschikt Adobe Flash over een eigen programmeertaal: ActionScript, waarmee men volwaardige websites en applicaties kan ontwikkelen. In nieuwere versies van Flash, vanaf Flash MX, is het door de toevoeging van het LoadVars-object mogelijk gemaakt gemakkelijker te communiceren met MySQL en PHP, waardoor er een wereld opengegaan is voor het gebruiken van dynamische gegevens. Omdat een Actionscript uit tekst bestaat, kun je het ook inlezen vanuit een extern bestand met de extensie *.as. In Flash 8 is Actionscript aangepast, en Actionscript 2.0 is toegevoegd en in 2007 is, bij het verschijnen van Adobe Flash CS3, Actionscript 3 geïntroduceerd. Alle versies kunnen nog gebruikt worden.
Over gebruik van Flash op het internet zijn de meningen verdeeld. Sommigen vinden dat websites er beter op worden: meer interactief en vrolijker. Anderen, zij die hechten aan functionele websites zonder animaties, vinden Flash geen verbetering voor websites. Flash is niet beschikbaar voor alle besturingssystemen zoals Apples iOS, en dus kan een website onleesbaar zijn voor sommige bezoekers. Ook is de inhoud moeilijker toegankelijk voor blinden en slechtzienden dan een gewone website. Ten slotte kan men zich ergeren aan het gebruik van geluiden op een website en de langere laadtijd, hoewel tegenwoordig de snellere internetverbindingen bij thuisgebruikers dit laatste probleem ondervangen. Flash is volgens Adobe op 98 % van de computers geïnstalleerd[1] en is vooral zeer populair bij het aanbieden van video op internet.
Wegens het niet-vrije karakter van de officiële Flash Player van Adobe en het gebrek aan ondersteuning voor andere besturingssystemen dan Windows, Mac OS X en Linux op de IA-32-processorarchitectuur werden er twee opensource-Flashplayers ontwikkeld: door het GNU-project een vrije Flashplayer Gnash en de Flashplayer Swfdec. Hoewel deze Flashplayers open source zijn, is de implementatie echter slechter dan de officiële Flashplayer.
Flashbestanden maken gebruik van het SWF-formaat. "ShockWave Flash", "Flash movies" of "Flash applications" hebben een .swf-bestandsextensie en kunnen gebruikt worden in de vorm van een webpaginaplug-in, afgespeeld worden in een alleenstaande Flash Player, of opgenomen worden in een zelf uitvoerbare Projectorfilm (met de .exe-extensie in Microsoft Windows). Flash Videobestanden hebben de .flv-bestandsextensie en worden gebruikt ofwel binnen in een .swf-bestand of door een flv-player, zoals VLC, QuickTime en Windows Media Player. Het gebruik van vectorafbeeldingen gecombineerd met programmacode zorgt ervoor dat Flashbestanden kleiner worden (minder bandbreedte gebruiken) dan de overeenkomstige bitmaps of videoclips. Voor inhoud in een enkel formaat (zoals alleen maar tekst, video of audio) kunnen andere alternatieven gebruikt worden die meer prestaties bieden en minder CPU-vermogen gebruiken.
De meest voorkomende Flash Audio is MP3 of AAC (Advanced Audio Coding) maar het ondersteunt ook ADPCM-, Nellymoser- en Speex-audiocodecs. Flash heeft sample rates van 11, 22 of 44,1 kHz. Het ondersteunt geen 48kHz-audio, dat de standaard is voor tv en dvd.
In augustus 2007 kondigde Adobe aan dat met update 3 van Flash Player 9, Flash Video ook delen van de internationale standaard MPEG-4 zou ondersteunen. Flash Player zou ondersteuning krijgen voor video's gecomprimeerd in de formaten H.264 (MPEG-4 Part 10), ACC (MPEG-4 Part 3), F4V, MP4 (MPEG-4 Part 14), M4V, M4A, 3GP en MOV en voor de 3GPP Timed Text-specificaties (MPEG-4 Part 17), een standaard voor ondertitels. In het F4V-bestandsformaat zal het geen MPEG-4 Part 2 en H.263 ondersteunen. Adobe kondigde ook aan dat het niet meer gebruik zou maken van het FLV-formaat, maar in de plaats het standaard ISO-mediabestandsformaat (MPEG-4 Part 12) zou gebruiken ten gevolge van functionele beperkingen met de FLV-structuur bij het streamen van H.264. De definitieve versie van Flash Player die MPEG-4-standaarden ondersteunt kwam beschikbaar in de herfst van 2007.
Silverlight is ontwikkeld onder de codenaam Windows Presentation Foundation/Everywhere, en bevat een subset van het .NET Framework. Microsoft Silverlight is geschreven in C++ en C# en kan gezien worden als een concurrent voor Adobe Flash.
Microsoft Silverlight stelt de gebruiker in staat om vectoriële animaties te visualiseren, maar vooral om multimedia-inhoud, die audio en video integreert, te tonen in de webbrowser. Door middel van JavaScript kan men een Silverlight-applicatie in een website integreren.
Silverlight ondersteunt de volgende audioformaten: WMA en MP3.
Voor video ondersteunt het de formaten WMV en VC-1 (enkel het ASF-bestandsformaat).
Vanaf Silverlight 3 wordt ook het videoformaat H.264 en het audioformaat AAC ondersteund.
Silverlight maakt het mogelijk dynamische XML-inhoud te laden, deze kan gemanipuleerd worden door een DOM-interface. Dit is een techniek vergelijkbaar met de gebruikelijke AJAX-techniek. Silverlight heeft ook een downloader-object dat gebruikt kan worden om inhoud te downloaden zoals scripts, actieve media of andere data die nodig zijn voor de applicatie. Met versie 2.0 van Microsoft Silverlight kunnen Silverlight-applicaties geschreven worden in elke .NET-programmeertaal, maar ook in enkele dynamische programmeertalen zoals Ruby en Python.
Silverlight is een breed ontwikkelplatform om interactieve web-applicaties te ontwikkelen. Vaak wordt het alleen gebruikt als steaming-formaat voor video-streams. In Nederland maakt bijvoorbeeld de site van Uitzending Gemist van de Publieke Omroep gebruik van Silverlight, als alternatief voor Flash video. Als Silverlight gebruikt wordt als alternatief voor Flash video is het beschikbaar voor verschillende browsers en draait het zowel onder Windows, Linux en Apple MAC OS X.
Functionaliteiten die zijn toegevoegd aan Silverlight 4 en 5 zijn -vooralsnog- alleen ondersteund op Windows platforrmen, maar dit zijn functies die met name gebruikt worden voor complexe, inteactieve, applicaties - en dus niet als het platform gebruikt wordt als alternatief voor Flash Video.
Zoals gezegd is Silverlight een ontwikkel-platform. Plugins zijn beschikbaar voor verschillende browsers en verschillende besturingssystemen. In december 2011 werd versie 5 opgeleverd. Silverlight is onderdeel van het .NET platform van Microsoft. Applicaties ontwikkeld onder Silverlight kunnen in een webbrowser draaien (in browser), maar het is ook mogelijk om applicaties buiten een browser te draaien. Zeker voor applicaties die buiten de browser draaien zijn er veel opties om deze applicaties als trusted application te draaien op Windows en Windows Mobile systemen. Via group policy kan de applicatie toegang gegeven worden tot bestanden op de client zonder dat de eindgebruiker zelf rechten heeft om die bestanden te openenen[2]. Hoewel beschikbaar op non-Windows besturingssystemen is het geoptimaliseed voor gebruik onder Windows versies: zowel laptop/desktop OS zoals Windows 7 alsook voor mobiele systemen zoals Windows Mobile voor gebruik op telefoons of tablets. Ontwikkelaars kunnen met dit platform client/server applicaties maken voor gebruik in een intranet omgeving. Zelf gebruikt Microsoft het platform bijvoorbeeld voor haar Microsoft Office 365 diensten.