Recs.
Updated
Corona SDK is a cross-platform framework for building games, general purpose apps, and business related apps for iOS, Android, Kindle, Windows Phone, macOS, Windows desktop, tvOS, and Android TV from a single Lua code base. Lua is a fast and easy-to-learn language.
SpecsUpdate
Pros
Pro Corona Simulator
Corona SDK ships with Corona Simulator, which runs your game/app directly on your PC/Mac and updates every time you make changes.
It provides immediate feedback to your actions, you can see your changes right on the screen, without necessity to make build to device. Getting instant feedback really boosts tenfold prototyping and development speed.
Pro Amazing learning curve
Corona does not throw photoshop-like madness full of buttons editor. You can go as fast as you want, learning and building game from ground up. Eventually, you'll learn how much corona is doing for you. But to start you don't have to master complex editor software. It's a great tool to learn to start game development if you want to learn how to program and make games. Your experience will be 100% transferable to any other Pro game engine.
Pro Live builds
Now with "Live Builds" you can see code changes in realtime on your device.
With the live build feature, once you have created a build and installed on a device, you get lightning fast turnaround times because any change on the code or data is updated to the devices running the game (within the local WiFi) immediately. So changes can be tested on the real hardware within a very few seconds.
What's even more impressive, this even works flawless with multiple devices running the game. You have to use it to learn how good of a feature this is while development and even more, while doing QA. Imagine fixing bugs and everyone of your QA team/friends/whoever helps to get your game done, has all changes on his device without doing anything but waiting 5 seconds - outstanding.
Pro Ability to call any native (C/C++/Obj-C/Java) library using Corona Enterprise (now free)
Cons
Con Debugger is only available as a specific extension for a non-free text editor (Sublime)
As all is so interactive, you can get by with using "print" as my sole debugging tool, and view results in the simulator's console. But a debugger with breakpoints and value inspection woudl be nice.
Con Editor sucks
It uses Sublime, with an extension for autocompletion and launching the emulator. The editor doesn't provide enough information about parameters or documentation when calling a method and when you use objects it's unaware of the properties each class has. All it does is kinda drop templates into your code. This is more like using Notepad++ compared to Visual Studio. Sublime has no idea what the variables represent.
Recommendations
Comments
Flagged Pros + Cons
Con Online compilation
To build your app with Corona you have to send it to them online to compile. Your source code never leaves your hard drive, it's some bitcode that goes up and back, and as long as you have an internet connection it's invisible. Even large games/apps are so fast you'd never guess any connection was being made. Hit run and your game runs. Period. Offline builds work fine with enterprise and Corona Cards as well.
Con Making a device build requires internet connection (No Longer True)
As of May 13th there is offline build support.
To build your app for the device (iOS/Android/AppleTV) Corona requires to fetch resources from online. This would include base application template and plugins. This allows not to perform local build or use Xcode or Android Studio to do a build. Even Large games/apps would build very fast with good internet connection.
Your code never leaves computed. Corona SDK would transfer some information to determine which plugins and pieces has to be transferred in order to make a final steps in build.
As a bonus - you get basically one button press to get from your Corona Simulator game to game on a device.
Pro Live builds - update builds running on a device automatically
With the live build feature, once you have created a build and installed on a device, you get lightning fast turnaround times because any change on the code or data is updated to the devices running the game (within the local WiFi) immediately. So changes can be tested on the real hardware within a very few seconds.
What's even more impressive, this even works flawless with multiple devices running the game. You have to use it to learn how good of a feature this is while development and even more, while doing QA. Imagine fixing bugs and everyone of your QA team/friends/whoever helps to get your game done, has all changes on his device without doing anything but waiting 5 seconds - outstanding.
Out of Date Pros + Cons
Con No Linux version (No longer true)
It's not totally cross-platform, because no Linux version is available.
There is a full Linux editor and build to Linux support.