Mobile Lua for iOS and Android with Ansca Corona

25,401 views

Published on

Slides from a talk on mobile development in Lua, at the May 2011 St. Louis Mobile Development group.

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
25,401
On SlideShare
0
From Embeds
0
Number of Embeds
20,153
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Mobile Lua for iOS and Android with Ansca Corona

    1. 1. Mobile Lua iOS and Android Appswith Ansca Corona (Lua) Kyle Cordes STL Mobile Dev May 2011 http://www.flickr.com/photos/mikebaird/4060342528/
    2. 2. About Kyle Cordes • Blah, Blah, Blah
    3. 3. AgendaWhy Lua?Lua on Mobile - Free/OpenAnsca Corona - Not FreeCode / Demo
    4. 4. Why Lua?6 Reasons 5 Reasons See my past talk for more details: http://kylecordes.com/2010/lua-strange-loop (The first reason from that is Lua’s sandbox, which is not relevant here.)
    5. 5. Small http://www.flickr.com/photos/kentigern/221409419/ http://www.flickr.com/photos/andrewscott/577706627/
    6. 6. Lua is SmallAs small as <100 KB (DLL/LIB)Easily runs on small devices or in small apps.http://probablyinteractive.com/2009/10/18/Setting-up-iPhone-Wax.html?
    7. 7. Simple http://www.flickr.com/photos/benmcleod/44336195/ http://www.flickr.com/photos/slightlywinded/66875782/
    8. 8. Lua is Simple• to use - well suited for small software• to learn - ~20 keywords, ~20 operators• to teach - plenty of non-developers use it
    9. 9. Flexible http://www.flickr.com/photos/wiccked/348866434/http://www.flickr.com/photos/wainwright/351684037/
    10. 10. Lua is Flexible• Dynamically typed• First-class functions• Easy interop• Written in super-clean C, ports to nearly any platform• Ample libraries off-the-shelf
    11. 11. Fasthttp://www.autoblog.com/photos/pagani-zonda-hh-0/http://www.flickr.com/photos/kentigern/223140455/
    12. 12. LuaJIT is in C++ / Java6 territory. http://luajit.org/Interpreted Lua is generally faster than Python, Ruby, Perl, and PHP. At the moment, mobileimplementations are non-JIT. http://bit.ly/8RLpoG
    13. 13. Momentum http://www.flickr.com/photos/us_army_rolling_along/3342500833/ http://www.flickr.com/photos/us_army_rolling_along/4509400870/ http://www.flickr.com/photos/carbonnyc/76463757/s
    14. 14. Lua in World of Warcraft• At least one external IDE• Several published books• Large community
    15. 15. Angry BirdsConfiguration, and possibly level definitions, are in Lua.
    16. 16. Wikipedia lists 110+games with Lua scripting (many on PCs, many on consoles, some on handhelds)
    17. 17. Mobile Lua - FreeiOS AndroidPhone Wax (UIKit) Android Scripting Environment Edit code onOthers? the device! Others?
    18. 18. Ansca Corona ($)Cross-Platform: Android and iOSCross-Platform: Develop on OSX or Windows2D-game-centric, but not game-onlyDocumentation, Tutorials, ExamplesLibrariesSupport Forum$349 per year per developer
    19. 19. Ansca Corona+ Some positives- Some negatives
    20. 20. Rapid DevelopmentLots of stories already, about apps developedin days or weeks....by people who could not do so with the+native tools.
    21. 21. Demonstrably Sufficient There have been a pile of apps (mostly games, mostly iOS) to see pretty significant success.+ (At least in terms of downloads/rank.)
    22. 22. Corona “IDE” Bring your own editor. Run in Corona’s emulator. Very limited tooling.- Occasionally build for deployment... ... which invokes xCode or Android SDK for you.
    23. 23. Libraries / InfrastructureCorona’s libraries are a bit rough; muchmaturing to be done.API design, parameter lists, and so on, seem abit ad hoc.-If you build something big, plan on wrappinga layer around it. Take my gripe with a grain of salt; the big story is that it works!
    24. 24. Cross-Platform? Many simple things pretty much work across platforms. Performance can be surprising. Some controls are different. Good enough for apps that don’t need native controls/feels; currently pretty weak for? those that do.
    25. 25. Corona on AndroidCorona support for Android has somelimitations:• Android v 2.2 or higher• ARMv7 only!- • SDK Emulator and many current phones are ARMv6• Some features don’t work yet
    26. 26. Worth Using, Buying?Yes, if you want to start working on an apprather than working on infrastructure.No, if you want to explore variousapproaches to layering scripting on top ofnative code.No, if you need to support the bottom halfof Android phones.
    27. 27. Code and Demo (For those of you reading the slides only: at this point we looked through the code for a coupleof Ansca’s demo apps, and passed around a phone.)
    28. 28. kylecordes.com http://www.flickr.com/photos/thetruthabout/

    ×