28
Open Source Flash 101 'G' Gaurav Narain Saxena Akron Linux User Group January 7, 2010

Open Source Flash 2010

Embed Size (px)

DESCRIPTION

Photoshop is to Gimp, Illustrator is to Inkscape, Microsoft Office is to Open Office - since 2005, Open Source Flash refers to building knowledge/tools/programs for the Flash platform. Their main website is osflash.org and they serve as a wiki/forum/vehicle to generate awareness and contain useful resources. In the talk I hope to share history and knowledge of a few useful tools that can be used in/developed on linux. Example - compilers, development environments, etc.

Citation preview

Page 1: Open Source Flash 2010

Open Source Flash 101

'G' Gaurav Narain SaxenaAkron Linux User Group

January 7, 2010

Page 2: Open Source Flash 2010

Outline● Flash● ActionScript● Open Source Adobe● Open Source Flash● Salasaga● mtasc● swfmill● Swftools● References

Page 3: Open Source Flash 2010

Flash

● "Like television for internet users"● Written in C++● Allows you to:

– Annotate web page with:● Animation, adverts, other flash components● Navigation – RIA● Streams of video

● Proprietary

Page 4: Open Source Flash 2010

Flash

● Concepts– Timeline– Stage– Objects– Controls– etc.

Page 5: Open Source Flash 2010

Flash

Page 6: Open Source Flash 2010

ActionScript

● Javascript for HTML= ActionScript for Flash● Scripting language based on ECMAScript● Extension: .as● Main points:

– Cross platform– Manifested in flash and flex – platforms– Designed by Gary Grossman (1998)– Versions: AS3, AS2

Page 7: Open Source Flash 2010

ActionScript

Example (AS2): HelloWorld.as

class HelloWorld extends MovieClip

{

public function HelloWorld() {}

public function onLoad:Void{

var txtHello:TextField = this.createTextField(

“txtHello”,0,0,0,100,100); txtHello.text = “Hello, World!”;

}// displays 100x100 box with “Hello, World!” in it.

Page 8: Open Source Flash 2010

Open Source Adobe● Flex SDK

– Cross platform framework; provides compilers, libraries, debugger

● Adobe-Mozilla Tamarin – Open engine for ActionScript 3

● BladeDS– Server based Java remoting and web

messaging technology● Webkit

– Open source browser engine, OSX framework used on apple computers

Page 9: Open Source Flash 2010

Open Source Adobe● Text Layout Framework: Typography

Page 10: Open Source Flash 2010

Open Source Flash

● "Like sourceforge.net for open source flash enthusiasts"

● Collaboration – list: http://osflash.org/mailman/listinfo/– irc: irc://irc.freenode.org##swf

● Hosts and links to projects related to open source flash development

Page 11: Open Source Flash 2010

Open Source Flash

● History– May, 2005: Aral Balkan, Sonke Rohde,

Nicolas Cannasse (MTASC) “Eureka!”– June, 2005: Number of projects: 10– January, 2008: Number of projects: 120– Today: has many more project, a handful of

broken links – cool nonetheless

Page 12: Open Source Flash 2010

Open Source Flash● Source code used to be shared

– Binary .fla files

– ActionScript Classes● 2004: MTASC2 [MotionTwin ActionScript Compiler]released,

– kicked off Flash IDE Dev Projects● Swfmill, Axdt, AMES, FlashDevelop etc.

● Frameworks started appearing:

– Arp, Cairngorm, PureMVC● Developers:

– Started embracing these frameworks

– Worked in teams

– Build scalable solutions

– All this independent of Flash IDE or Flex

Page 13: Open Source Flash 2010

Open Source Flash

● OSFlash.org incubates all these projects collected under one roof

● Doesn't stop !● Exciting technologies for Flash Platform are created:

– Papervision 3D: 3D Library for Flash– Red5: Open Source server to handle audio, video,

and real-time shared objects– SWX: Native data format for Flash platform– Flex3, Flex SDK, Compilers

Page 14: Open Source Flash 2010

Open Source Flash

● Integrated Development Environment Alternatives

● Command line tools, compilers

● Eclipse Plugins● ActionScript libraries● Frameworks● Tweening, Animation and

Physics● Unit testing

● Utilities● Flash Applications● Servers and Remoting● Logging Tools● Debugging tools● Documentation Systems● Flash Players● SWF Readers

Page 15: Open Source Flash 2010

● Open Source IDE for creating flash based eLearning (alpha software)

● GPL, developed on Linux● What can you do:

– Create instructional videos– Get a feel for timeline and other Concepts

Page 17: Open Source Flash 2010

mtasc

● First ActionScript 2 Open Source Compiler● What you can do:

– Compile large .as classes in very short time– Generate .swf without flash – the tool itself!

● Superseded by haXe

Page 18: Open Source Flash 2010

mtasc

● Example:class Hello

{

static var app : Hello;

function Hello() {

_root.createTextField("tf",0,0,0,800,600); // creates a 'tf' TextField size 800x600 at pos 0,0

_root.tf.text = "Hello world !"; // write some text into it

}

static function main(mc) { // entry point

app = new Hello();

}

}

Page 19: Open Source Flash 2010

mtasc

● $ mtasc -swf hello.swf -main -header 800:600:20 hello.as

Page 20: Open Source Flash 2010

swfmill

● Xml2swf swf2xml processor (can import)● Generates asset libs for MTASC or haXe● Built around xslt● What you can do:

– Import images, fonts– Add components– Create movieclips– Place clips on the stage– Create text fields

Page 21: Open Source Flash 2010

swfmill

● Example.xml:<?xml version="1.0" encoding="iso-8859-1" ?>

<movie width="320" height="240" framerate="12">

<background color="#ffffff"/>

<frame>

<library>

<clip id="foo" import="library/foo.jpg"/>

</library>

</frame>

</movie>

Page 22: Open Source Flash 2010

swfmill● $ swfmill simple example.xml example.swf

Page 23: Open Source Flash 2010

swftools

● Collection of utilities to work with .swf's● Mostly on command line● Loves to have:

– Freetype libraries from freetype.org– Jpeg libraries from ijg.org

Page 24: Open Source Flash 2010

swftools

● What you can do:– Pdf2swf– Swfcombine– Swfstrings– Swfdump– Jpeg2swf– Png2swf– gif2swf

● What you can do:– Wav2swf– Avi2swf– Font2swf– Swfbbox– Swfc– Swfextract– as3compile

Page 25: Open Source Flash 2010

swftools

Pdf2swfexample

Page 26: Open Source Flash 2010

Take Home

● Flash has 99.99% market share – (nah, just kidding)

● Tools exist that facilitate usage of the flash platform which you can adopt for your application domain:

– Sciences– Programming– Sysadmin? (atleast the command line ones)

Page 27: Open Source Flash 2010

Questions?