Mac App and Win32 App: Open Beta

Mac App and Win32 App: Open Beta

At the beginning of this year, I outlined new platforms as a major theme for 2015. And a few months later, at GDC, we announced bringing Mac App and Win32 App support to the Corona platform. Since then, we’ve been conducting private betas with a small group of Corona developers.

Today, we are opening up the Mac App and Win32 App betas to everyone in the Corona community!

Download Corona daily build 2015.2687 (or later) to get started.

Building Desktop Apps

We’ve done a lot of work to make the experience of building desktop apps as smooth as possible.

By default, you can build apps directly from Corona Simulator, just like you would for iOS or Android. No interaction with Xcode or Visual Studio is needed.

You will see a new menu item under File => Build in the Corona Simulator which presents a new build dialog for desktop apps: on the Mac, you’ll be able to build Mac apps, and on Windows, you’ll be able to build Win32 apps.

Transitioning from Mobile to Desktop

When you target your project to a new platform, we’ve done a lot of heavy lifting for you.

If your mobile project is fully functional in the Corona Simulator, then your project should easily port over as a desktop app.

There are inevitably going to be a few things you’ll want to do: testing, tweaks (e.g. window size, behavior, and title) in build.settings, etc.

Depending on your app design/project, you’ll also want to think about issues like:

  • what’s appropriate on a desktop-sized screen such as window size, layout and orientation
  • whether your touch-based code needs tweaking to work with a mouse
  • how to handle plugins/services that aren’t available on desktop
  • etc.

Desktop Features

In terms of features supported, you should think of the desktop feature set as what’s available in the Corona Simulator itself. This is a subset of the features supported on iOS/Android.

For those of you interested in full control — accessing OS-specific features/services via native code, writing plugins, customizing things like menus, etc — you can create a truly native Xcode project (and coming later, a Visual Studio project) to fully customize your app via CoronaCards for OS X.

Examples

Some games port over really well. For example, these games from Fire Maple Games (left), FrozenGun (center) and Glitch Games (right) worked immediately as desktop games:

Lost City Main

Freeze Screenshot 1

ForeverLost

Resources

More detail about using Corona on desktop are available in our docs:

If you have more questions, please check out the forums:

 

walter
41 Comments
  • zed27
    Posted at 11:06h, 22 July

    Great !!!

  • Radu
    Posted at 11:57h, 22 July

    Wow !
    Amazing job, guys ! Congrats

  • Danny
    Posted at 11:57h, 22 July

    This is awesome!

    Congrats Corona team! Can’t wait to develop desktop apps using Corona.

  • lieo
    Posted at 12:32h, 22 July

    Nice job !
    Thank for your work.
    Good luck for next.

  • scott
    Posted at 12:55h, 22 July

    On Mac does this mean Game Center support is coming? Also what about corona viewer will it work with Mac and Pc?

    • Scott
      Posted at 13:01h, 22 July

      Whoops made two sorry, I didn’t think the first one made it.

  • Scott
    Posted at 12:59h, 22 July

    Will Game Center be supported by Mac and will there be a version of corona viewer for Mac and Pc? I know this was just added but I was just wondering if these kinds of plugins will be supported in the future.

    • Walter
      Posted at 16:07h, 22 July

      Right now, we’re focused on taking things from beta to 1.0 with the existing functionality that’s implemented.

      If you want to access OS-specific services like GameCenter, you can code that up in Xcode via CoronaCards for OS X (see link in post, end of the “Desktop Features” section).

      We don’t have plans for CoronaViewer, as Desktop app builds happen almost instantaneously. On Windows, there also the CoronaShell utility which effectively is the same thing as CoronaViewer.

      • Eetu
        Posted at 16:25h, 23 July

        What about monetisation features?

        I supposed that IAP or advertisement systems wont work yet with desktop versions, but is it possible to implement them via CoronaCards?

        • Rob Miracle
          Posted at 16:30h, 23 July

          You should be able to implement them via CoronaCards. One of the Engineers answered this question in the forums: https://forums.coronalabs.com/topic/58119-monetization-options/

          I highly recommend following the two beta forums to continue these discussions and stay up to date on changes as we bring these towards release.

  • needfx
    Posted at 14:55h, 22 July

    Awesome news !

    I can’t test it right now, but, is it possible to build a full screen app instead of a windowed ap ?

    Can’t wait to test it !

    • Michael Wallar
      Posted at 14:56h, 22 July

      Hi needfx,

      We do support full screen apps. You can minimize, resize, maximize, fullscreen, and update window title text (including localization support).

      Regards,
      Michael

  • KevPartner
    Posted at 01:41h, 23 July

    Am I right in thinking that the Windows apps created using Corona can’t be submitted to the Windows App Store? In other words, they’re not Windows Apps?

    • Joshua Quick
      Posted at 15:39h, 23 July

      Corona creates Win32 desktop apps, not Windows Universal apps (aka: Windows Store apps; aka: Metro apps). But the advantage of this is that Win32 apps are still the dominant Windows app because it’ll work on Windows 7 and older OS versions (note that Corona supports Windows XP SP3 and newer OS versions).

      Supposedly, Microsoft will support packaging Win32 apps as *.appx universal apps in the near future, which will allow it to be distributed via the Windows App Store. Microsoft’s project name for this technology is named “Project Centennial” and you can read up on it via the link below. Have a look at the “Classic Windows apps” section.
      https://dev.windows.com/en-us/uwp-bridges

  • alireza
    Posted at 06:00h, 23 July

    Great.
    native UI elements like text fields will work on windows?

    • Rob Miracle
      Posted at 15:02h, 23 July

      If it works in the Windows simulator today, it will work in the Win32 build. Native elements like textFields do not work in the Windows simulator, therefore they will not work in the Win32 builds.

  • Erich Grüttner D.
    Posted at 10:02h, 23 July

    That’s A-W-E-S-O-M-E
    Thank you Walter and Corona Team!!!

  • Jenny
    Posted at 15:26h, 23 July

    OMG – this is the BEST news we’ve had ALL YEAR LONG!!

  • Mustafa
    Posted at 15:34h, 23 July

    Great news, as always!

    Thanks a lot Corona staff ..

  • Adil
    Posted at 16:04h, 23 July

    This is great news!

    Any tutorials on how to optimize apps for PC and mac, such as binding actions to keyboard keys and dare I dream, usb gamepads?

    Keep up the good work guys,

  • Warren Williams
    Posted at 16:15h, 23 July

    This is great! I wonder what is supported as far as when you try to use your camera? It would be nice to have it use your webcam instead on your pc.

  • Warren Williams
    Posted at 16:46h, 23 July

    I just tested it with one of my apps and worked great. My only issue is the textbox controls. Since I cannot use them in my Windows simulator I cannot use them in the Windows compiled programs. I wish that could be resolved like they have it working in the Mac simulator.

  • Nicolas Michaud
    Posted at 16:48h, 23 July

    I have dowloaded the new version and try to build our tourism app.

    It always said : “You cannot do a build until all plugins for this Corona projets have been succcessfully downloaded” Would you like to try downloading your project plugins again ?

    Despite clicking yes, it does not work.

    Do you plan to support Flurry and Facebook plugins ?

    thank you
    Nick

  • Naffah Amin
    Posted at 17:02h, 23 July

    Does the Win32 apps have keyboard support because in case of a platformer game, you can only play the game through the keyboard or does the beta version supports only mouse clicks right now?

    • Rob Miracle
      Posted at 17:04h, 23 July

      Yes, they support keyboard events so you can implement spacebar to fire, ASDW to move etc.

      • Mario
        Posted at 17:24h, 23 July

        Oh spectacular!

  • Darren
    Posted at 17:20h, 23 July

    Cool milestone achieved. Any further action taken to port Corona games to web based? It’s all Corona developer dream to port all the games to web based so that without any download, user can experience the game with internet connection.

    • Rob Miracle
      Posted at 17:22h, 23 July

      We have to bring these two platforms out of beta first before we can tackle any other platforms.

  • Gager
    Posted at 20:33h, 23 July

    Support windows phone, plz!

  • Stunlabs
    Posted at 22:08h, 23 July

    Great job guys! Thanks for the effort! I’m so excited to test all this new stuff.

    As I asked in forum I would like to know whether there is a possibility like creating dialog boxes, alert boxes and the concept of ownership like in JavaFX for example?

  • endygwa
    Posted at 00:24h, 24 July

    Great, I hope the Fuse plugin is also going to be supported on these platforms 😛

  • Bteam
    Posted at 03:30h, 24 July

    Great job!
    This is a day to remember!

  • Martin (Quiz Master)
    Posted at 04:56h, 24 July

    Amazing work guys!
    I just built my app into Windows and it works straight off the bat, incredible!

  • Robin Jones
    Posted at 06:44h, 24 July

    This is very cool!

    Just managed to create an OS X version of my first app and I am a Corona newbie!

    Many thanks for a great product!!!!!

  • chris
    Posted at 15:44h, 02 August

    comes better and better !!!

    how about ADs?
    for now, google play and fuse plugins are not working

  • Mac + Win32 Desktop Apps for Corona SDK | StartAppsBlog
    Posted at 16:27h, 20 August

    […] they continue to deliver! About 2 week ago they formerly announced the open Beta for Mac App and Win32 App support starting with the Corona Daily […]

  • Adi
    Posted at 05:37h, 28 September

    I love this new option to develop for win32 app. But we need to get some out of the box support for native text otherwise its too cumbersome to circumvent.

  • Claudio
    Posted at 07:50h, 08 October

    Will you implement system.getinfo to know if the app is working on Mac or Windows?

    • Joshua Quick
      Posted at 11:01h, 23 October

      You can already do so now like this…

      if system.getInfo(“environment”) == “device” then
      — We’re not running on the simulator. Check the platform.
      local platformName = system.getInfo(“platformName”)
      if platformName == “Win” then
      — This is a Win32 desktop app.
      elseif platformName == “Mac OS X” then
      — This is an OS X desktop app.
      end
      end