27 September 2016
What have Corona’s engineers accomplished lately?
While we like to frequently update you on what we’ve been working on, sometimes it’s hard to keep up with the changes. Some updates have earned blog announcements, while others simply made it into build release notes. This post is a summary of what the Corona team has accomplished over the past six months, often as a direct result of features you requested.
Over the last six months, there has been a lot of activity in plugin development. We now offer 20 monetization plugins aimed at making your development efforts pay off. This is a big improvement from the days when there were just a few options for earning ad revenue from your apps.
That said, it hasn’t been all about developing ad provider plugins. The Corona Marketplace is rapidly growing and so are the number of plugins that add important new features to Corona. These include:
- Google Play Games Services: This plugin is big… 1800 votes over 8 feature requests big! If it’s a feature in the Android version of the Google Play Games Services SDK, we implemented it — and we are steadily working on completing iOS support as well.
- Amazon In-App Purchases: We completely upgraded this popular plugin to work with Amazon’s new “version 2” purchasing system.
- Steamworks: For those building desktop games, the Steam store is a great place to publish to. Apps in this marketplace have to be approved by the community, so adding leaderboards, achievements, and more help convince people to hit the Yes button.
- On-Demand Resources: tvOS requires as small of an application bundle as you can manage. This plugin lets you use content that can be downloaded from outside of the app bundle.
- UTF-8: The Lua string library that Corona uses isn’t fully UTF-8 compliant, but you can include this plugin and use it to properly manipulate strings consisting of single-byte and multi-byte Unicode characters.
- Flurry Analytics / Tenjin: We updated the popular Flurry analytics plugin, along with Google Analytics. In addition, we released the Tenjin plugin which handles both attribution and analytics.
- HockeyApp: This plugin ties into the HockeyApp beta test site, allowing you to update and offer pre-release app versions to your testers. This plugin also has the ability to catch crashes and report them.
Our list of core, Simulator, and Corona Enterprise features is also significant and represents our continued commitment to improving the Corona you know and love!
- Multi-dex support: Google has a limit of 65K symbols in a given application. With our large offering of plugins, some developers were hitting that limit. Multi-dex support solves this issue.
- Meshes: One of the best things to come out of our graphics.newTexture() and related APIs is the ability to build meshes that applications like Spine can use for animation.
- External bitmaps: While this is initially something of interest to Enterprise and plugin developers, it could herald in some really amazing features in the future. External bitmaps allow native developers to access bitmaps on the C side and manipulate them, returning the result to Corona as a texture. Some ideas tossed around include SVG rendering to a texture, using ImageMagick to manipulate images, and other interesting functionality.
- Preferences: Previously, if you wanted to save app settings, you had to use a database or a file and manage updates yourself. On tvOS, there is no reliable storage for these kinds of files, so we added the ability to set and get preferences (and delete them) in a safe, cross-platform manner.
- Android Studio support: Since we previously used ANT to build Android Apps, Corona Enterprise for Android customers had to become skilled at working from the command line. Now you can use Google’s official IDE for Enterprise development, similar to how Apple developers use Xcode.
- system.canOpenURL(): This frequently-requested API is now available on all platforms.
- Lua Sockets 3.0: This major upgrade to our socket-based networking library now supports IPv6 networks, which are required by iOS. It also fixed several bugs in the system.
- LuaSec 0.6: Used by OpenSSL and others, this version fixes known security issues. This was primarily added to support a Google requirement change, but improved security benefits everybody!
- Simulator support for Android back button: We have had this on Windows for some time, but it was recently added to the macOS version of the Corona Simulator. You will find it under the Hardware menu if you are running an Android skin.
- ScrollView/TableView mouse support: On desktop systems, it is only natural to want to use a mouse’s scroll wheel to scroll a widget ScrollView or TableView. That is now possible.
- native.showPopup(“appStore”) for tvOS: This call displays the “Ratings and Reviews” screen. We now also support it on tvOS.
- network.request(): For a long time, we only supported the four main HTTP verbs:
DELETE. Now Corona is future-proof, supporting all current HTTP verbs and any new ones that may be added later.
- Corona Simulator: The Simulator now supports high-resolution displays (i.e. “Retina”) on both macOS and Windows. We also made dozens of various improvements to the Simulator’s console and build dialogs.
That is quite a list of accomplishments and it doesn’t even include all of the bug fixes, platform-required updates, and general maintenance that the engineering team has performed.
While our the engineers have been busy making Corona’s products better for you, the infrastructure team has pushed onward too. While it’s hard to make a numbered list, we have seen some pretty amazing changes with regards to your access, including:
- The Corona Ads dashboard continues to be improved, making it even easier for you to provision Corona Ads and see how your apps are doing.
- The Corona Marketplace received a major overhaul during the summer. While you have probably already noticed the improved design, the more exciting part is the considerable work that went into the back end. Most noteworthy is that the new system paves the way for paid community-made plugins and other assets!
- We have started making improvements to the Corona Developer Portal with a cleaner, more refined design. This will make it easier for you to get account information, download updates, manage your password, etc. We are beginning with a new design for the main developer landing page, and we will be rolling out other updates in the future.
- Behind the scenes, we continue to improve the app build process. Essentially, we are making better use of our content delivery network to speed up build times, and both hardware and software upgrades have made everything more stable.
So as you can see, a lot has happened over the last six months and we are continually pushing forward with regular updates to make your Corona experience even better. Keep your eye on the blog for announcements as we roll onward!