1. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
x-platform
an example-based comparison of sdks
2. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
introduction
Simon-Lennert Raesch
Software Engineer / Research Assistant / Mobile Game Developer
raesch@uni-kassel.de
lennert@blackpants.de
Tobias Gries
Bachelor of Computer Science / Mobile Game Developer
gritob@web.de
3. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
agenda
introduction
why we are comparing
what we are comparing
how we are comparing
what were our results
conclusion and outlook
4. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
why we are comparing
5. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
why we are comparing
game dev course @ university of Kassel
students tend to simply use sdk based on
claimed features and language (i.e. java)
6. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
why we are comparing
mustache slider
ios & android
7. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
what we are comparing
corona sdk (2014.1262)
gideros (v2013.09.1)
openfl (Haxe 3.0.0 FlashDevelop 4.5.2.5)
related & popular:
unity3d
cocos2d-x
libgdx
...
8. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
how we are comparing
example-based approach
one game - three different frameworks
criteria:
speed: increasing complexity and measuring
influence on framerate
usability: tool support, tutorials/documentation,
access to hw (e.g. sensors, storage), features
the game
match-three-game (e.g. ccs, bejeweled) with a twist
10. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
what were our results
pros / cons per sdk
statistic(s)
deployment
code forks
11. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
corona sdk
pros
● meets all requirements
● best documentation
● easy start (own ide via sublime)
● plugins
● easy to use (lua)
● 800 loc
cons
● simulator vs. real device
12. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
gideros
cons
● least powerful
pros
● meets all requirements
● good documentation
● easy to use (lua and own ide)
● best performance
● gideros studio (instant deployment!)
● 840 loc
13. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
openfl
pros
● meets all requirements
● seems most powerful
● most platforms
supported
● haxe
cons
● documentation
● steep learning curve
● 1050 loc
15. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
deployment
via simulator (.ipa/.apk)
export projects (eclipse / xcode)
console (with cli adt/xcode)
16. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code forks
gideros: no code forks at all
corona: code fork for fonts
openfl: completely code forked sensor-access
17. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code examples
(background) image
animation
sound
sensors
persistent data
18. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - image
19. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - image
20. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - image
21. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - animation
22. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - animation
23. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - animation
24. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - sound
25. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - sound
26. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - sound
27. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - touch
28. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - touch
29. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - touch
30. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - persistent data
31. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - persistent data
32. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
code example - persistent data
34. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
look & feel
same same, not different
gideros, android and ios version side-by-side
35. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
conclusion
all equally easy to use
distinct speed advantage for gideros
ide support main driver for quick adaptation
know your requirements
still a lot of movement going on
36. Simon-Lennert Raesch, Software Engineering University of Kassel - Tobias Gries, University of Kassel
outlook
what to expect from
us at the next
droidcon