Beginning Mobile App Development with Corona/Solar2D


Beginning Mobile App Development with Corona
Brian G. Burton, Ed.D. 
Copyright: 2011, 2019, 2020

Publisher: Burton’s Media Group
Pages: 342 386 v.1.8.4 (2/2020)
Formats: eTextbook: $24.99 (ePub, mobi, pdf)
ISBN: 978-1-937336-02-8

File Type :

Desarrollo de Aplicaciones Móviles con Corona - Spanish translationPortuguese

Contact for more information or volume purchases.

Free updates for the life of the eBook!
Schools and bookstores should contact for volume pricing or review copy requests.

Corona SDK is now Solar2D and Open Source! You can use Beginning Mobile App Development to learn Solar2D.

 Download a Sample Chapter

 Download Code Samples & Resource Files


Corona SDK allows the mobile app and game developer to create for multiple platforms at the same time.  With the ability to develop for Apple iOS, Android, Windows Desktop, and Mac, you can turn your idea into the next best selling app! Create apps in less time for multiple markets and mobile devices without tedious rewriting.  Includes multiple app examples and how to make top-down and tower defense games!
Beginning Mobile App Development with Corona
is designed to be used as a textbook in college or advanced High School course.


Version 1.011 – Minor formatting improvements in ePub & mobi versions and typo fix. Replaced .strokeWidth for lines with .stroke in chapter 5.

Version 1.01-  Updated name change from Ansca Mobile to Corona Labs.  Removed references in chapter 14 to Papaya and Virtual Credits that have been depreciated in current version of Corona SDK. Minor corrections (no program changes) to fix typos.

Version 1.5 – MAJOR UPDATE: Updates to Pedagogy/andragogy & clarity improved throughout the textbook; Update to Widgets chapter to Widgets 2.0; Updates for API changes; Update to new Sprite API.
New Content: How to add Custom Fonts; New Chapter on System Events, GPS, Accelerometer, Compass, and other system tools; New example on working with JSON Files.

Version 1.6 – Updated to Graphics 2.0 (1/12/2014)
Version 1.61 – Minor update to ch. 5 & 17 for Graphics 2.0 (2/8/2014)
Version 1.7 – Update to chapter 7 (composer), update to ch. 16, and new chapter on Graphics 2.0 (9/2014)
Version 1.8 – Many small updates through-out the book.
Version 1.8.02 – Minor updates to structure and updating of external links.
Version 1.8.3 – Added additional tutorial on picker wheel widget
Version 1.8.4 – Minor update fixing a broken link


Chapter 1: Hello World: Setup and Get Going!

What this book is not
Getting Started
Corona: Some background
Software: Corona
Software: Android
Examples and Graphics
Software: iOS
Development Hardware: Corona
Development Hardware: Test Devices
Publishing Considerations
Android (Google)
iOS (Apple)
Programming in Corona: Lua
Programming in Corona: Editors
Configuring Corona
Programming in Corona: Hello World (V1.0)
Project 1.0: Hello World
Project Setup
Project 1.1: Hello World (v2.0)

Chapter 2:Buttons and Text

Know your Boundaries
Project 2: Button Fun
Project 2.1: Button Fun V2
Getting Fancy!
How Corona reads your main.lua file

Chapter 3: Animation, Alpha & Orientation

Project 3: Basic Animation
Now You See It, Now You Don’t
Project 3.1: Alpha Fun
Orientation change
Project 3.2: A New Orientation

Chapter 4:Fill in the Blanks

Project 4: Simple Calculator
Device Builds
Apple iOS
iOS Simulator Build
Apple iOS Device Build
Android OS Device Build

Chapter 5: All Things Graphic

Vector Graphics
Project 5: Vector Shapes.
Bitmap Graphics
Sprite Sheets
Project 5.1: Uniform Sprites
Project 5.3 Sprite Animation
Sprite Control Methods
Sprite Properties
Sprite Event Listeners
Other Uses of Image/Sprite Sheets

Chapter 6: User Interface

Dynamic Content Alignment
Dynamic Image Resolution
Adding Sound
Sound File Types
Timing Is Everything
Streams and Sounds
Project 6.0: Beat-box
config.lua file
build.settings file
Custom Fonts
Project 6.1 Custom Fonts

Chapter 7: Application Views

Hiding the Status Bar
Project 7: Group Movement
Modules and Packages
Project 7.1: External Library
External Libraries
Project 7.2: Creating a Splash Screen

Chapter 8: Phun with Physics

Turn on Physics
Body Types
Density, Friction, and Bounce
Body Shapes
Body Properties
Body Methods
Project 8: Using Force
Ground and Boundaries
Project 8.1: Playing with Gravity
Collision Detection
Common Methods and Properties for Joints
Project 8.2: Wrecking Ball
Trouble Shooting Physics

Chapter 9: Creating a Game with Corona

Game Design
Dragging Objects
Collision Detection
Take Your Best Shot
Reducing Overhead
Game Loop

Chapter 10: Star Explorer Continued

Configuring the App for Multiple Device
Splash Screen
Improving Performance
Varying Difficulty
Increasing Game Speed
A Little Variety

Chapter 11: Media Makes the World Go Round

Working with Sound
Basic Audio Controls
Duration Audio Controls
Volume Controls
Audio Channels
Sound File Types (Revisited)
Where did I put that file?
Multimedia API
Recording Audio
Project 11: Simple Audio Recorder
Video Playback
Project 11.1 X-Ray Camera

Chapter 12: File Storage & SQLite
File IO Considerations
Reading Data
Implicit vs. Explicit File Manipulation
Implicit Read
Explicit Read
Writing Data
Project 12: JSON Read & Write
LuaSQLite Commands
Project 12: Reading a SQLite Database
Project 12.1 Writing to a SQLite Database

Chapter 13: Waiting on Tables
Table vs. Table: Clearing up the Confusion
Tools for Tables
Project 13: Creating a Simple Table View
Project 13.1:  Table View From SQLite

Chapter 14: It’s Who you Know: Networking
Web Services
Project 14: Picture Download – Via Network Library
Project 14a: Picture Download – Via Socket Library
Tracking Network Status
Uploading to a Webserver
3-Tier Architecture
Post Example 1: Uploading Form Data
Post Example 2: Uploading Files or Images
Connecting to Proprietary Networks
Facebook Example
Advertising Networks
Game Services
Apple Game Center
Google Play Game Services
Project 14.1 Multi-User App

Chapter 15: Working with Widgets & Popups
Mock-ups and pre-design tools
Making Your Widgets Look Good
Project 15.0 widget.newButton Example
Project 15.1 widget.newPickerWheel Example|
Project 15.2 Loading a Picker Wheel from a SQLite Database
Project 15.3 Widget Slider & Progress View Example
Project 15.4 Widget.newTableView Example
Project 15.5 Widget Tab Bar Example
Removing Widgets
Web Popups
Web Popup Example

Chapter 16: Rotten Apple – a Tower Defense Game

Rotten Apples – Inspiration and Resources
Adding Sprite Animations
I Need a Map!
Two Roads Diverged
Space, The Final Frontier
Rat Race.
On Your Mark
Reducing Collisions
Collision Worksheet
Take the Shot – Taking Care of Collisions
Are We There Yet? – adding the clubhouse
Adding Towers: Dragging Towers to the Screen
What’s the Score?
Let’s Get this Game Going!
Level and Wave Control
Noises Off!
Suspense is Killing Me!  – adding suspend/resume/save options
It’s a Splash – add splash screen

Chapter 17: System Events & Tools

System Events
Project 17.0 Accelerometer
Project 17.1 Gyroscope
Project 17.2 GPS
Map Object
Map Address
Map Location
Project 17.3 Maps

Chapter 18: Graphics 2.0

Chapter 19: Additional Resources

Useful Websites
Free Isometric images
Sound effects

Appendix A: The Lua Language

Appendix B: Advanced Lua


  • syntaxtm says:

    Bought! Thanks god I took the week off. . .

  • bbbfun4me says:


    I purchased Mobile App Development with Corona: Getting Started on August 8, 2011. I originally downloaded the book in pdf format. Are updates available and how can I obtain the update?


  • bbbfun4me says:


    Jonathan Beebe of ANSCA published a Blog on “A Better Approach to External Modules”. This has been complete shock. Niels – “BTW, did you know that the Lua creators found out quickly that the module function was a bad idea, and have since deprecated it?” In light of this (or in the darkness with memory leaks), are you planning on covering the correct approach to external lua programs in this release of the book?

    Regards, David

  • Dr. Burton says:

    I hope to release an update to the early release in early October. I was on schedule to have the entire book completed several weeks ago until I had a severe allergic reaction to a wasp sting in early August. I am some what recovered now and am back to writing again. I have sent two chapters to my copy-editor. I will try to do a better job of keeping everyone up-to-date!
    I apologize for the delay!

  • Dr. Burton says:

    Yes! I am in the process of going through Jonathan’s blog post and making appropriate changes to the book. Thanks for the reminder. I will move it up on the priority list!

  • […] carefully combing through the curriculum I found that my Beginning Mobile App Development with Corona textbook, which was written for the college age, is very close to meeting the majority of […]

  • kaodev says:

    Hi Dr. Burton, I’m interested in purchasing this book but wanted to check first the difference between this book to the corona sdk reference docs? I have a tough time following the corona reference docs since I’m very new to programming so I thought I could get your insight before buying this. It says that this is intended as a textbook for advanced high school and college, though I’m way past that, I’m willing to give this a try… thanks.

  • Dr. Burton says:

    My goal in writing the book was to make the Corona SDK API’s more understandable and clear for those learning to develop mobile apps. Originally this project was started for my college class, but soon saw there was a demand for the book in the Corona community. I have tried to use my 20+ years of teaching experience to provide a graduated learning experience. If you are not happy with the book, let me know and I will try to help you through any sticking parts!

  • kaodev says:

    I was just reading the corona docs and really it’s informative in a way but just don’t know exactly where to start and really focus my attention to where it should be. One more thing, what’s the learning pattern or approach in your book? Like should I read it from page 1 to the last page or each chapter is independent in a way that I can jump from chapter to chapter? Are there more visual images included? The reason I asked cause I loose my focus when I read for more than a 15mins or so… yeah my hiccup… a hindrance to learning programming… but like I said earlier I am willing to try this and I’m doing it for myself and most of all for my daughter 🙂 Thanks much.

  • Dr. Burton says:

    I am a teacher first and foremost. I used the same methods I would use to teach a class in mobile app development in writing this book. I think you will find that through the first 4 or 5 chapters, the programs gradually become more sophisticated and complex. If you are a beginner, I think you would want to read from page 1 through the end of chapter 5. At that point you should be more of an intermediate developer and could begin to jump around in the book to the section that you found interesting.
    I tried to write each section with the knowledge that most people have about a 15 to 20 minute window to learn something. Hopefully your will find it appropriate for your learning style!

  • kaodev says:

    Thanks Dr. Burton… I just purchased your book… will let you know of my progress.

  • RVillareal says:

    Great book Dr. Burton. Do you have any examples to the assignments you give on the end of each chapter? It would really be a big help to have some examples so I can have something to compare my work with.

  • Dr. Burton says:

    I am in the process of pulling together good examples of finished assignments. I will keep you posted!

  • nrhjohn says:

    Please put me down as well for the Teacher portion of the examples, I have gone through the first two chapters and it is dredging up memories from long ago, which is pleasant, but it would be great to see an example to compare against. Nice book thus far, if you need anyone to take a peek at the docs in a beta form just let me know, I would be happy to do so.

  • Upcoming Event – First Corona SDK Meetup In Dallas - SDK Dallas says:

    […] help us kick things off Dr. Brian Burton, author of Beginning Mobile App Development with Corona will be joining us to help answer questions about the Corona SDK. Dr. Burton teaches a course on […]

  • Interview with Dr Brian Burton says:

    […] Today, Blue Bilby has an interview with Dr Brian Burton of Burton’s Media Group, author of the books Mobile App Development with Corona and Beginning Mobile App Development with Corona. […]

  • blakeleftwich says:

    I have chosen this textbook for one of my classes. How can I get a desk copy?

  • Dr. Burton says:

    I will send you an email with the information. Thank you for choosing my book!

  • blakeleftwich says:


  • Giuseppe says:

    Hi Dr.Burton

    my name is Giuseppe from Italy i have a question when i buy your Book, i receive, this in Digital Form i mean PDF EPUB i can download this directly?

    Best regards

    Giuseppe Di Lisa

  • Dr. Burton says:

    Yes, you will receive a download link via email that will allow you to immediately download the eBook.

  • Giuseppe says:

    Hi Dr.Burton thanks for your answers:)

    I bought your Book

    I try now to study this Book in English not my mother language, i read that you like to translate this Book in Italian, whr you think this is finished ?



  • says:

    Will this book be helpful for someone who used to program with Fortran, C, and UNIX script/shell languages? My daughter and I have designed some app games and want to program them ourselves…. Thanks!

  • Dr. Burton says:

    I believe it would, yes. However, if you want to use it for teaching your daughter programming, I would recommend the “Learning Mobile Application & Game Development with Corona” textbook. It is designed for teaching someone to program who is new to programming concepts. With “Beginning Mobile App Development with Corona” the focus is more on learning to use Corona and less on programming concepts.

  • Welcome to Burtons Media Group!Burton's Media Group | Burton's Media Group says:

    […] Beginning Mobile App Development with Corona […]

  • Corona Geek #46 - Using Particle Candy In Your Games « Corona Geek - Mobile Development Using Corona SDK says:

    […] sure to pick up Dr. Burton's book on "Learning Mobile Application & Game Development with Corona" before the discounted advanced pricing goes […]

  • […] sure to pick up Dr. Burton’s book on “Learning Mobile Application & Game Development with Corona” before the discounted advanced pricing goes […]

  • […] sure to pick up Dr. Burton’s book, “Learning Mobile Application & Game Development with Corona“, for more examples of how to work with databases and Corona […]

  • Raybrite says:

    Is the code in this book in a photo or typed out? I have another book in the Dummies series and it has a photo for the code. This is unreadable on my kindle and when I try to enlarge it the text does cannot be read.
    Thank you,
    Kenneth Coon

  • Dr. Burton says:

    It is typed out, not a photo. You can also download the example code from my website. The link is above, just above the Description of the textbook.

  • SuspectDevs says:

    What is the best way to update my copy? I have the PDF.

  • Dr. Burton says:

    Use the Book-Update link above (under the Books tab). This will allow you to get the most current version of the books.

  • Corona Geek #98 - Learning Mobile Application and Game Development with Corona SDK « Corona Geek - Mobile Development Using Corona SDK says:

    […] Beginning Mobile App Development with Corona […]

  • Corona Geek #99 - Discussing COPPA Compliance with AgeCheq « Corona Geek - Mobile Development Using Corona SDK says:

    […] Beginning Mobile App Development with Corona […]

  • Corona Geek #100 – SMS App Installs and Implementing AdMob V2 « Corona Geek - Mobile Development Using Corona SDK says:

    […] Beginning Mobile App Development with Corona […]

  • Corona Geek #101 – Multi-player Flappy Bird, Coronium Updates, and Community Questions « Corona Geek - Mobile Development Using Corona SDK says:

    […] Beginning Mobile App Development with Corona […]

  • Corona Geek #123 - Android TV Publishing, Native Text Input, and 2015 Goals - Corona Geek - Mobile Development Using Corona SDK says:

    […] Beginning Mobile App Development Using Corona SDK […]

  • Corona Geek #137 - App Development Consulting Tips and Community Questions - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #136 - Starting a New Memory Match Game Development Series - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #138 - Hanging with DigiTen Studios and App Development Consulting Tips - Part 2 - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #139 - Creating Grid Patterns in a Memory Matching Game - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #140 - Developing a Non-Game App and Memory Matching Game Logic - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #141 - Creating and Matching Puzzle Pieces - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

  • […] Learn Corona SDK from Dr. Brian Burton […]

  • Corona Geek #142 - Ichi Game Mechanics, Bumpers, and One Touch Input - Corona Geek - Mobile Development Using Corona SDK says:

    […] Learn Corona SDK from Dr. Brian Burton […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Copyright © 2010-2021 Burtons Media Group All rights reserved.
This site is using the Desk Mess Mirrored theme, v2.5, from