Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Haxe17.04.2013 Florian Hofmann@_astrocreephttp://www.blackgoat.dehttp://www.playata.com
Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference
Type Inference / Strict Typedvar i;$type(i); // Unknown(0)i = 1;$type(i); // Inti = "test"; // Error: String should be Int
Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Gener...
Genericsclass SomeClass<T> {public arr:Array<T>;public function new() {arr = new Array();}}var instance = new SomeClass<Sp...
Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Gener...
Enumsenum Suit {Clubs;Diamonds;Hearts;Spades;}class Card {public var suit:Suit;...
Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Gener...
Macrosclass Test {macro public static function getBuildDate() {var date = Date.now().toString();return Context.makeExpr(da...
Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Gener...
Aufbau● Sprache für alle Plattformen gleich● Großes Paket an Standardbibliotheken (XML, Math, Crypto,Datastructures, usw.)...
ZielplattformenPlattformunabhängige Programmiersprache● Flash● Javascript● NekoVM● PHP● C++● (Java)● (C#)● (Objective-C)
Haxe Workflow - allgemein● Code in .hx Files● Build-Config in .hxml Files● Haxe Compiler (2.10 stable, 3.0RC)● kommandozei...
Haxe Workflow - Entwicklungsumgebung● Flashdevelop (nur Windows)● SublimeText2 (als Package)● IntelliJ Idea Ultimate● FDT ...
Haxe Workflow - GrafikKein definierter "Workflow". Hängt von der Zielplattform ab,prinzipiell kann jedes Tool benutzt werd...
Haxe Workflow - DebuggingFlashFlash Debugger notwendig, dann geht das mit jedemDebugger/ProfilerJavascriptGenerierung von ...
Ressourcen & Doku● API auf haxe.org/api● Hauptfeatures sind gut dokumentiert auf: haxe.org/doc
KostenCompiler selber ist kostenlos und als OpenSourceverfügbar!
Zukunftssicherheit● OpenSource● Aktive Community● Haxe Foundation als Basis
Schwächen● Keine eigene Zielplattform● Extrem schnelle Entwicklung● Mangelhafter MAC Support (IDE)● Aktuell keine plattfor...
Stärken● Keine eigene Zielplattform● Extrem schnelle Entwicklung● Open-Source● AS3 wie es sein sollte● haxelib (Libraryman...
haxelib● Kommandozeilentool zum Verwalten von Bibliotheken● haxelib install xy● haxelib remove xy● haxelib upgrade
NME"Native" Crossplatform● Web (Flash oder HTML5)● iOS● Android● Windows● MAC● BlackBerry● Air
NME im Vergleich zu "purem" HaxeNME stellt fast alle AS3 Pakete für sämtliche Zielplattformen zurVerfügung (z.B.: nme.disp...
NME WorkflowEigenes Paket an Kommandozeilentools● nme setup xy● nme test● nme buildEigenes Build-File-FormatDamit auch Zer...
NMEStärken● Auf jeder Plattform die gleiche API● KommandozeilentoolsSchwächen● Overhead● Kleiner Entwicklerstamm● Viele Fe...
Beispiele
BeispieleEvoland
BeispielePrezi
Genome2D● "Increased performance up to 400% in some cases but whatsmore at least 100% so basically everything I tried yet ...
LinksHaxehttp://haxe.orghttp://haxe.org/apihttp://haxe.org/dochttps://groups.google.com/forum/#!forum/haxelangNMEhttp://ww...
Haxe & NME
Haxe & NME
Upcoming SlideShare
Loading in …5
×

Haxe & NME

774 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Haxe & NME

  1. 1. Haxe17.04.2013 Florian Hofmann@_astrocreephttp://www.blackgoat.dehttp://www.playata.com
  2. 2. Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference
  3. 3. Type Inference / Strict Typedvar i;$type(i); // Unknown(0)i = 1;$type(i); // Inti = "test"; // Error: String should be Int
  4. 4. Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Generics
  5. 5. Genericsclass SomeClass<T> {public arr:Array<T>;public function new() {arr = new Array();}}var instance = new SomeClass<Sprite>();$type(instance.arr) // Array<flash.display.Sprite>
  6. 6. Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Generics● Inlining● Enums
  7. 7. Enumsenum Suit {Clubs;Diamonds;Hearts;Spades;}class Card {public var suit:Suit;...
  8. 8. Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Generics● Inlining● Enums● Macros
  9. 9. Macrosclass Test {macro public static function getBuildDate() {var date = Date.now().toString();return Context.makeExpr(date, Context.currentPos());}static function main() {trace(getBuildDate());}}
  10. 10. Haxe als Programmiersprache● Klassisch OO, ähnlich Java oder ActionScript3● Strict Typed / Type inference● Packages● Generics● Inlining● Enums● Macros● SPOD Macros● Unit Testing● Externs● usw.
  11. 11. Aufbau● Sprache für alle Plattformen gleich● Großes Paket an Standardbibliotheken (XML, Math, Crypto,Datastructures, usw.)● Plattformspezifische APIs (JS->DOM, AS->DisplayList usw.)
  12. 12. ZielplattformenPlattformunabhängige Programmiersprache● Flash● Javascript● NekoVM● PHP● C++● (Java)● (C#)● (Objective-C)
  13. 13. Haxe Workflow - allgemein● Code in .hx Files● Build-Config in .hxml Files● Haxe Compiler (2.10 stable, 3.0RC)● kommandozeilenlastig ;)
  14. 14. Haxe Workflow - Entwicklungsumgebung● Flashdevelop (nur Windows)● SublimeText2 (als Package)● IntelliJ Idea Ultimate● FDT ab V4
  15. 15. Haxe Workflow - GrafikKein definierter "Workflow". Hängt von der Zielplattform ab,prinzipiell kann jedes Tool benutzt werden.
  16. 16. Haxe Workflow - DebuggingFlashFlash Debugger notwendig, dann geht das mit jedemDebugger/ProfilerJavascriptGenerierung von SourcemapsC++HXCPP Debugger (z.B. mit IntelliJ)
  17. 17. Ressourcen & Doku● API auf haxe.org/api● Hauptfeatures sind gut dokumentiert auf: haxe.org/doc
  18. 18. KostenCompiler selber ist kostenlos und als OpenSourceverfügbar!
  19. 19. Zukunftssicherheit● OpenSource● Aktive Community● Haxe Foundation als Basis
  20. 20. Schwächen● Keine eigene Zielplattform● Extrem schnelle Entwicklung● Mangelhafter MAC Support (IDE)● Aktuell keine plattformunabhängige 3D-Engine
  21. 21. Stärken● Keine eigene Zielplattform● Extrem schnelle Entwicklung● Open-Source● AS3 wie es sein sollte● haxelib (Librarymanagement)
  22. 22. haxelib● Kommandozeilentool zum Verwalten von Bibliotheken● haxelib install xy● haxelib remove xy● haxelib upgrade
  23. 23. NME"Native" Crossplatform● Web (Flash oder HTML5)● iOS● Android● Windows● MAC● BlackBerry● Air
  24. 24. NME im Vergleich zu "purem" HaxeNME stellt fast alle AS3 Pakete für sämtliche Zielplattformen zurVerfügung (z.B.: nme.display.*)Im Vergleich zu Haxe muss nicht für jede Zielplattform individuellerCode zur grafischen Anzeige geschrieben werden.
  25. 25. NME WorkflowEigenes Paket an Kommandozeilentools● nme setup xy● nme test● nme buildEigenes Build-File-FormatDamit auch Zertifikate, ganze Ordner mit Assets etc. miteingebunden werden können.
  26. 26. NMEStärken● Auf jeder Plattform die gleiche API● KommandozeilentoolsSchwächen● Overhead● Kleiner Entwicklerstamm● Viele Features leider nur 90%
  27. 27. Beispiele
  28. 28. BeispieleEvoland
  29. 29. BeispielePrezi
  30. 30. Genome2D● "Increased performance up to 400% in some cases but whatsmore at least 100% so basically everything I tried yet wasatleast 2 times faster than the AS3 version"● "There are 4 targets at the moment that I am working on 2 flashtargets (bitmap/stage3D) and 2 JS targets (canvas/webgl).Thinking about C target as well but well see."http://forum.genome2d.com/viewtopic.php?f=4&t=19
  31. 31. LinksHaxehttp://haxe.orghttp://haxe.org/apihttp://haxe.org/dochttps://groups.google.com/forum/#!forum/haxelangNMEhttp://www.nme.io

×