Upload
gaurav-saxena
View
3.294
Download
4
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
Open Source Flash 101
'G' Gaurav Narain SaxenaAkron Linux User Group
January 7, 2010
Outline● Flash● ActionScript● Open Source Adobe● Open Source Flash● Salasaga● mtasc● swfmill● Swftools● References
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
Flash
● Concepts– Timeline– Stage– Objects– Controls– etc.
Flash
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
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.
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
Open Source Adobe● Text Layout Framework: Typography
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
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
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
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
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
● 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
● Demo in Firefox (.swf) or here
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
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();
}
}
mtasc
● $ mtasc -swf hello.swf -main -header 800:600:20 hello.as
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
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>
swfmill● $ swfmill simple example.xml example.swf
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
swftools
● What you can do:– Pdf2swf– Swfcombine– Swfstrings– Swfdump– Jpeg2swf– Png2swf– gif2swf
● What you can do:– Wav2swf– Avi2swf– Font2swf– Swfbbox– Swfc– Swfextract– as3compile
swftools
Pdf2swfexample
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)
Questions?
References● osflash.org● Adobe flash● Open Source Adobe● salasaga.org● swfmill.org● mtasc.org● swftools.org● ActionScript Wiki● ActionScript 2 Language Reference