introducing haxe

18
Introducing haXe Software Freedom Day HK 2011 Andy Li blog.onthewings.net

Upload: andy-li

Post on 27-Jun-2015

1.995 views

Category:

Technology


5 download

DESCRIPTION

Introducing haXe, the opensource multi-target language at Software Freedom Day 2011, Hong Kongalt url: https://bit.ly/sfdhk-haxe

TRANSCRIPT

Page 1: Introducing haXe

Introducing haXeSoftware Freedom Day HK 2011

Andy Liblog.onthewings.net

Page 2: Introducing haXe

what is haXe?

● opensource● programming language● compiler● multi-target! compiling to:

○ Flash(swf)○ AS3○ JS○ PHP○ C++○ Neko○ Java○ C# demo: HaXenstein

Page 3: Introducing haXe

haXe programming language

Test.hx

● ECMAScript-like○ similar to AS3/JS

● type system: strong + dynamic● OOP (and FP!)

Page 4: Introducing haXe

haXe programming language

Test.hx

● type inference● iterator● generic type

Page 6: Introducing haXe

haXe tools

● haXe compiler○ VERY fast○ code-completion API for IDE integration

● haxelib○ opensource library packaging tool○ eg. haxelib install project-name

Page 7: Introducing haXe

haXe libraries

Page 8: Introducing haXe

NME

http://www.haxenme.org/ haxelib install nme

● Neko Media Engine● Flash-API for C++/Neko target● desktop

○ Windows○ Mac○ Linux

● mobile○ iOS○ Android○ WebOS

Page 9: Introducing haXe

Jeash

http://jeash.com/ haxelib install jeash

● Flash-API for JS target● using HTML5 (canvas)

Page 10: Introducing haXe

hxOpenFrameworks

http://github.com/andyli/hxOpenFrameworks haxelib install hxOpenFrameworks

● openFramework binding for C++ target● for creative coding, eg. generative art, installation art● desktop only at the moment

○ Windows○ Mac○ Linux

Page 11: Introducing haXe

HxSL

● haXe Shader Language● using haXe macros & metadata● compiles to AGAL for Flash 11● probably compiles to GLSL/HLSL soon● HxSL Studio

Page 12: Introducing haXe

FAQ

Page 13: Introducing haXe

performance?

● Evaluating spritesheet animations on mobileNME(haXe/C++) vs Corona(Lua) vs Flash/Air(AS3)

● Multi-Language-BenchhaXe/C++ vs C++ vs Java

● AS3 vs haXe performancebenchmark with animated fractal

● More HTML5 & HaXe Speed TestshaXe/JS is faster than plain JS!?

Page 14: Introducing haXe

target platform libraries?

● Flash○ RobotLegs (RobotHaxe)○ GTween (GTweenHX)○ Actuate○ Flixel (Flixel-Haxe / HaxeFlixel)○ FlashPunk (HaxePunk)○ CasaLib (CasaHx)

● C++○ wxWidgets(waxe)

Page 15: Introducing haXe

target platform libraries?

● JS○ jQuery (both as 3rd party and core)○ Dojo Toolkit (bdog-dojo)○ Modernizr (haXe-modernizr)○ Node.js (bdog-node)○ Titanium (desktop / mobile)○ RaphaëlJS (raphaelExtern)

Page 17: Introducing haXe

community?

● mailing list○ top haXe devs

● Twitter○ #haxe

● blogs○ a list of them○ haXe roundup

Page 18: Introducing haXe

Question?