SlideShare a Scribd company logo
HaXe – An open source
flash workflow
HaXe
From haxe.org:
The idea behind haXe is to let the developer choose
the best platform to do a given job. In general, this is
not easy to do because every new platform comes with
its own programming language. What haXe provides to
you is :
● a standardized language with many good features
● a standard library (including Date, Xml, Math...) that
works the same on all platforms
● platform-specific libraries : the full APIs for a given
platform are accessible from haXe
Haxe
● Based on ECMA script and thus very
similar to ActionScript 3
● Different targets:
– SWF bytecode (Flash)
– ActionScript code (Flash)
– JavaScript
– PHP
– C++
– NekoVM
NekoVM
● Lightweight virtual machine
● Can be used for server side scripting
(mod_neko on Apache)
● Can be used to deploy native applications
on the client side (ScreenweaverHx and
hippoHx)
● Recently gained a experimental LLVM
implementation
HaXeLib
● Used to manage additional HaXe libraries
(similar to ruby gems)
● Easy installation of libraries
● Large number of libraries available
– Physics
– 3D Graphics
– MVC frameworks
– GUI frameworks
– Animation/Tweening
HaxeVideo
● Lightweight server for streaming video
over RTMP.
HaXe wrt. Flash
● Target all the different versions of Flash
(you could target Flash 7/8 and use
Gnash instead of Adobe Flash
Player/Plugin)
● More comparable to Flex rather than the
Flash IDE
● Currently optimizes code better that the
Flash and Flex compilers
● Can control PixelBender
The toolchain
● Make
● Swfmill
● FFMPEG
● HaXe compiler
● Flash debug player or browser plugin
Make
● GNU Make
● Simple bash-like configuration
● Ex.
all: menu.swf lib external
external: buildExternal
make -C external
menu.swf: src/*.hx resource.swf compile.hxml catalogue.xml
haxe compile.hxml
lib:
make -C lib
resource.swf: resource.swfml resources/samusic/*
swfmill simple resource.swfml resource.swf
clean:
rm -f resource.swf menu.swf resource2.swf menu2.swf *~
Swfmill
● Used to embed resources inside SWF files
– Images
– Audio
– Fonts
– Binary
Swfmill (Ex.)
<?xml version="1.0" encoding="iso-8859-1" ?>
<movie width="1024" height="768" framerate="24" version="9" >
<background color="#000000"/>
<font id="Comic" name="Comic" import="resources/comic.ttf" />
<font id="Arial" name="Arial" import="resources/arialn.ttf" />
<font id="Courier" name="Courier" import="resources/cour.ttf" />
<frame>
<library>
<clip id="Arrow" import="resources/arrow.png" />
<clip id="ProgressBar">
<clip id="ProgressOuter" import="res/progress_o.png"/>
<clip id="ProgressInner" import="res/progress_i.png"/>
</clip>
<clip id="play" import="resources/play.png" />
</library>
</frame>
</movie>
FFMPEG
● Used to encode video files to FLV
● Used H.264 codec
● ffmpeg -i filename.extension filename.flv
HaXe Compiler
● Use a text configuration file for compilation
● Ex.
-swf menu.swf
-swf-version 9
-swf-lib resource.swf
-resource catalogue.xml@catalogue
-cp src
-cp lib/src
-main Menu
HaXe Code
class Background extends flash.display.Sprite {}
class Comic extends flash.text.Font {}
class Menu
{
public var width(default,default) : Float;
public var height(default,none) : Float;
public static function main()
{
flash.Lib.current.addChild(new Background());
}
}
A practical example
Requirements:
A platform independent cover DVD with rich
multimedia content
● Photos
● Videos
● Audio
Why Flash?!
● Cross platform – Flash player available for
most platforms
● Familiarity for designers
● Support for Audio and Video codecs

More Related Content

PDF
Introducing haXe
PDF
Chromium: NaCl and Pepper API
PDF
Haxe Toolkit and Game Development
PDF
Open Source Flash 2010
PDF
Haxe Toolkit for cross-platform applications development
PDF
HaXe Demo
PDF
Cache in Chromium: Disk Cache
PPTX
Zephir - How to create PHP extension
Introducing haXe
Chromium: NaCl and Pepper API
Haxe Toolkit and Game Development
Open Source Flash 2010
Haxe Toolkit for cross-platform applications development
HaXe Demo
Cache in Chromium: Disk Cache
Zephir - How to create PHP extension

What's hot (20)

PDF
Front End Development Automation with Grunt
PDF
How to Use the Command Line to Increase Speed of Development
PPTX
20151229 wnmp & phalcon micro app - part I
PDF
Chapter 1
PDF
Eclipse 4
PDF
蔡学镛 Rebol漫谈
PPTX
Makefile for python projects
PPTX
WP-CLI Workshop at WordPress Meetup Cluj-Napoca
PDF
Automatic testing and quality assurance for WordPress plugins and themes
PDF
A New Approach Towards Web-based IDEs
PPTX
PHP in one presentation
PDF
Puppet Camp Ghent 2013
PDF
PBX on a non-specialized distro
PDF
Build a typo3 website in an hour
PDF
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
PPTX
Memcached B box presentation
PDF
Writing and Publishing Puppet Modules
PDF
Composer
PPTX
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
PPS
PHP - History, Introduction, Summary, Extensions and Frameworks
Front End Development Automation with Grunt
How to Use the Command Line to Increase Speed of Development
20151229 wnmp & phalcon micro app - part I
Chapter 1
Eclipse 4
蔡学镛 Rebol漫谈
Makefile for python projects
WP-CLI Workshop at WordPress Meetup Cluj-Napoca
Automatic testing and quality assurance for WordPress plugins and themes
A New Approach Towards Web-based IDEs
PHP in one presentation
Puppet Camp Ghent 2013
PBX on a non-specialized distro
Build a typo3 website in an hour
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
Memcached B box presentation
Writing and Publishing Puppet Modules
Composer
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
PHP - History, Introduction, Summary, Extensions and Frameworks
Ad

Similar to An open source flash workflow using HaXe (2009) (20)

PDF
Php Conference Brazil - Phalcon Giant Killer
PDF
Composer Helpdesk
PPT
Notes on PHP for BCA and MCA php_(2).ppt
PPTX
Hack and HHVM
PPT
a brief introduction to PHP and how to use it.
PPT
PDF
Introduction to PHP Introduction to PHP Introduction to PHP
PPT
Php hypertext pre-processor
PPTX
PHP Dependency Management with Composer
PDF
Module 4 Embedded Linux
PDF
Adobe AIR Programming to Desktop and Mobile
PDF
Glossary of terms
PPTX
Introduction to PHP.pptx
DOCX
unit1 part 1 sem4 php.docx
PPT
Chowdhury webtech
PPT
Chowdhury webtech
PPT
Chowdhury webtech
PPT
Chowdhury webtech
Php Conference Brazil - Phalcon Giant Killer
Composer Helpdesk
Notes on PHP for BCA and MCA php_(2).ppt
Hack and HHVM
a brief introduction to PHP and how to use it.
Introduction to PHP Introduction to PHP Introduction to PHP
Php hypertext pre-processor
PHP Dependency Management with Composer
Module 4 Embedded Linux
Adobe AIR Programming to Desktop and Mobile
Glossary of terms
Introduction to PHP.pptx
unit1 part 1 sem4 php.docx
Chowdhury webtech
Chowdhury webtech
Chowdhury webtech
Chowdhury webtech
Ad

Recently uploaded (20)

PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
top salesforce developer skills in 2025.pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Introduction to Artificial Intelligence
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
System and Network Administraation Chapter 3
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
L1 - Introduction to python Backend.pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Computer Software and OS of computer science of grade 11.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
top salesforce developer skills in 2025.pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Introduction to Artificial Intelligence
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
System and Network Administraation Chapter 3
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
L1 - Introduction to python Backend.pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 2 - PM Management and IT Context
Designing Intelligence for the Shop Floor.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Lecture 3: Operating Systems Introduction to Computer Hardware Systems

An open source flash workflow using HaXe (2009)

  • 1. HaXe – An open source flash workflow
  • 2. HaXe From haxe.org: The idea behind haXe is to let the developer choose the best platform to do a given job. In general, this is not easy to do because every new platform comes with its own programming language. What haXe provides to you is : ● a standardized language with many good features ● a standard library (including Date, Xml, Math...) that works the same on all platforms ● platform-specific libraries : the full APIs for a given platform are accessible from haXe
  • 3. Haxe ● Based on ECMA script and thus very similar to ActionScript 3 ● Different targets: – SWF bytecode (Flash) – ActionScript code (Flash) – JavaScript – PHP – C++ – NekoVM
  • 4. NekoVM ● Lightweight virtual machine ● Can be used for server side scripting (mod_neko on Apache) ● Can be used to deploy native applications on the client side (ScreenweaverHx and hippoHx) ● Recently gained a experimental LLVM implementation
  • 5. HaXeLib ● Used to manage additional HaXe libraries (similar to ruby gems) ● Easy installation of libraries ● Large number of libraries available – Physics – 3D Graphics – MVC frameworks – GUI frameworks – Animation/Tweening
  • 6. HaxeVideo ● Lightweight server for streaming video over RTMP.
  • 7. HaXe wrt. Flash ● Target all the different versions of Flash (you could target Flash 7/8 and use Gnash instead of Adobe Flash Player/Plugin) ● More comparable to Flex rather than the Flash IDE ● Currently optimizes code better that the Flash and Flex compilers ● Can control PixelBender
  • 8. The toolchain ● Make ● Swfmill ● FFMPEG ● HaXe compiler ● Flash debug player or browser plugin
  • 9. Make ● GNU Make ● Simple bash-like configuration ● Ex. all: menu.swf lib external external: buildExternal make -C external menu.swf: src/*.hx resource.swf compile.hxml catalogue.xml haxe compile.hxml lib: make -C lib resource.swf: resource.swfml resources/samusic/* swfmill simple resource.swfml resource.swf clean: rm -f resource.swf menu.swf resource2.swf menu2.swf *~
  • 10. Swfmill ● Used to embed resources inside SWF files – Images – Audio – Fonts – Binary
  • 11. Swfmill (Ex.) <?xml version="1.0" encoding="iso-8859-1" ?> <movie width="1024" height="768" framerate="24" version="9" > <background color="#000000"/> <font id="Comic" name="Comic" import="resources/comic.ttf" /> <font id="Arial" name="Arial" import="resources/arialn.ttf" /> <font id="Courier" name="Courier" import="resources/cour.ttf" /> <frame> <library> <clip id="Arrow" import="resources/arrow.png" /> <clip id="ProgressBar"> <clip id="ProgressOuter" import="res/progress_o.png"/> <clip id="ProgressInner" import="res/progress_i.png"/> </clip> <clip id="play" import="resources/play.png" /> </library> </frame> </movie>
  • 12. FFMPEG ● Used to encode video files to FLV ● Used H.264 codec ● ffmpeg -i filename.extension filename.flv
  • 13. HaXe Compiler ● Use a text configuration file for compilation ● Ex. -swf menu.swf -swf-version 9 -swf-lib resource.swf -resource catalogue.xml@catalogue -cp src -cp lib/src -main Menu
  • 14. HaXe Code class Background extends flash.display.Sprite {} class Comic extends flash.text.Font {} class Menu { public var width(default,default) : Float; public var height(default,none) : Float; public static function main() { flash.Lib.current.addChild(new Background()); } }
  • 15. A practical example Requirements: A platform independent cover DVD with rich multimedia content ● Photos ● Videos ● Audio
  • 16. Why Flash?! ● Cross platform – Flash player available for most platforms ● Familiarity for designers ● Support for Audio and Video codecs