ActionScript
ActionScript was de scripttaal of programmeertaal van Adobe Flash en Adobe Flex. Deze taal werd gebruikt om animaties of filmpjes interactief te maken. Er konden ook volledige spelletjes of geavanceerde applicaties mee worden gemaakt, waarbij er bijvoorbeeld interactie optreedt met de muis en het toetsenbord. ActionScript is een event-based taal, wat wil zeggen dat alle acties getriggerd worden door events (gebeurtenissen). InleidingEvent-driven of event-based programmingMen spreekt bij programmeren van event-based of event-driven programming wanneer de control flow van het programma bepaald wordt door acties, bijvoorbeeld het klikken met de muis, of door berichten van andere programma's/threads. ECMA-262ActionScript is gebaseerd op de ECMA-262 (European Computer Manufactureres Association) standaard. Deze standaard is internationaal de standaard voor JavaScript. In de 5e versie van Flash werd een nieuwe syntaxis geïntroduceerd die ervoor zorgde dat ActionScript ging lijken op JavaScript, wat de taal een stuk gemakkelijker (herkenbaarder) maakte voor webontwikkelaars. GeschiedenisActionscriptgeschiedenis2000-2003Flash 4 had een zeer beperkte programmeertaal, "Actions" genaamd. Deze werd verbeterd, en werd meteen de eerste echte versie van ActionScript. Het was ook meteen de eerste versie die invloeden had van JavaScript en de ECMA-262. Dit werd geïntroduceerd samen met Flash Player 5. ActionScript kon nu ook ontwikkeld worden in een gewone tekstverwerker, zoals kladblok, in plaats van acties te selecteren uit uitklapmenu's, zoals het geval was bij Actions. Met het uitkomen van Flash Player 6 werden er niet al te veel wijzigingen doorgevoerd. Er waren enkel kleine veranderingen zoals het toevoegen van de strikt gelijk operator (===) zodat het meer ECMA-262-conform was. Een belangrijk kenmerk van ActionScript 1.0 ten opzichte van latere versies is het gebruik van "loose typing", ofwel zwakke typering. Dit wil zeggen dat variabelen in de code eender welk soort data konden bevatten. 2003-2006ActionScript 2.0 was een grote verandering voor de taal. De taal werd in gebruik genomen in september 2003, samen met het uitbrengen van Flash Player 7. Hoewel de code al meer gericht was op het OOP (objectgeoriënteerd programmeren), werd de code nog altijd naar ActionScript 1.0-bytecode gecompileerd, zodat de code nog compatibel was met Flash Player 6. Met ActionScript 2.0 werd het ook mogelijk voor programmeurs om een vast datatype te binden aan een variabele. Zo kunnen type mismatch fouten gevonden worden tijdens het compileren. Een type mismatch is bijvoorbeeld het toewijzen van een string (stukje tekst) aan een variabele van het type Number. 2006-nuActionScript 3.0 werd geïntroduceerd in juni 2006. Het werd uitgebracht samen met Flash Player 9. AS 3.0 ging gepaard met een fundamentele herstructurering. Zo fundamenteel zelfs dat de nieuwe Flash player een volledig andere virtuele machine gebruikt. Flash player 9 gebruikt 2 virtuele machines (VM's): één VM voor AS 1.0- en AS 2.0-code, en één VM voor AS 3.0. Flash Player-geschiedenis
ActionscriptsyntaxisDatatypesHieronder staan enkele van de datatypes die beschikbaar zijn in ActionScript (AS 2.0 en AS 3.0). ActionScript 2-toplevel-datatypes:
Complexe datatypes in ActionScript 2 (vereisen meer geheugen en processorresources):
Primitieve datatypes in ActionScript 3:
Complexe datatypes in ActionScript 3:
Voorbeelden //Voorbeeld van een functie in ActionScript
//Declaratie van een functie die geen waarde retourneert (void)
public function zegHallo():void {
trace("Hello world");
}
//Voorbeeld van een functie in ActionScript
//Declaratie van een functie die de inputstring retourneert
public function retourneer(input:String):String {
return input;
}
//Voorbeeld van het declareren van verschillende types variabelen
var myString:String = new String();
myString = "Hello world";
var myString2:String = "Hello world2";
var myNumber:Number = 3021;
var myArray = new Array();
myArray[0] = "Hello"; //Array-indexering begint bij 0
myArray[1] = " ";
myArray[2] = "World";
BeveiligingDecompilerenEen project gemaakt in Flash moet altijd eerst gecompileerd worden vooraleer het uitgevoerd kan worden. Dit compileren zorgt ervoor dat de code wordt omgezet naar bytecode of machinetaal. Het project wordt zo samengevat in één bestand. Bij Flash is dit bijvoorbeeld een .swf-file (swiff-file uitgesproken). Er zijn echter programma's beschikbaar die een .swf-file terug kunnen omzetten naar hun originele broncode. Sommige programma's slagen hier vrij goed in, anderen zijn daar minder goed in. Dit decompileren houdt zekere risico's in. Zo moet er bijvoorbeeld geen vertrouwelijke informatie zoals wachtwoorden in de code opgeslagen worden aangezien deze gewoon gelezen kunnen worden. Maar er zijn nog problemen: het decompileren legt de broncode vrij. Dus als iemand een stuk code heeft geschreven dat eigenlijk niet bestemd is voor ieders ogen, dan kan dat een probleem vormen. Zo kunnen gebruikers bepaalde stukken in het programma gaan misbruiken of het onrechtmatig namaken. ObfuscatorsHet onrechtmatig vrijleggen van de broncode van een project kan zeer lastig zijn. Er zijn echter programma's op de markt die de broncode tijdens of na het compileren onleesbaar proberen te maken en proberen tegen te gaan dat andere programma's de code kunnen decompileren, of de-assembleren. Zie ookReferenties
Wikibooks heeft meer over dit onderwerp: ActionScript 3.0.
|