0

We're looking to develop an app for numerous platforms such as iOS, Windows 7, and Windows 8.

However Windows 8 is a really confusing platform! As you have:

  • Desktop apps
  • Desktop (fullscreen apps like games)
  • Modern apps

From what we can tell, there isn't actually any difference between a desktop and modern app other than the UI styling... as desktop apps ALSO work on touch screens!

Can anyone clarify what the actual difference is? It seems as though modern apps are just apps that run on Windows RT and Windows 8 and are downloaded from the Windows Store (although we've also seen Modern apps downloaded from just websites).

We're actually looking to use Adobe AIR to target the different platforms... but apparently AIR does not yet support Windows 8 (Modern)... but because AIR supports a fullscreen mode on the Desktop, what's to stop us making it looks like a Modern app?

5
  • I am not sure I understand the difference between "Desktop applications" and "desktop applications like games" both use the Win32 library instead of the Windows Runtime library in the case of Modern UI/Windows Store applications. Nothing is preventing you from making it look like a Modern UI application, but it won't be a Modern UI application, so it cannot distrubuted on the Windows Store. Windows 8 can run desktop applications just like Windows 7 can just do that. If you want a Modern UI/Windows Store version that would need to be seperate from your unified application.
    – Ramhound
    Aug 14, 2014 at 12:27
  • By the way Adobe AIR will never be able to be used to create a Modern UI application.
    – Ramhound
    Aug 14, 2014 at 12:29
  • Not interested in the Windows Store, but I want it to work on Windows 8 tablets. Is that possible?
    – Cameron
    Aug 14, 2014 at 12:37
  • And why will AIR not be able to create Modern UI app?
    – Cameron
    Aug 14, 2014 at 12:37
  • Adobe AIR applications will work on Windows 8 x86 tablets. Adobe AIR will likely never work on Windows RT ARM tablets.` A Modern UI application cannot implement any framework except the Windows Runtime library. Adobe AIR does not implement the Win32 library nor the Windows Runetime library
    – Ramhound
    Aug 14, 2014 at 12:41

1 Answer 1

1

Modern apps are built using WinRT API, while desktop software is built using Win32 API.

WinRT API is a reduced set of functions (i.e. prevent full filesystem access, gives limited inter-process communication features preventing add-ons and external modules being loaded, grant limited hardware access, etc) that can run natively on Windows 8/8.1 both on ARM and x86 CPU, so works either on Windows 8.x Pro and Windows 8.x RT machines - yes, the naming may be quite confusing.

The point in WinRT is that the Win32 level of access and customization (and inherent security considerations to mind of) is not always needed, i.e. if I program a casual game, or a Facebook wrapper, or a calculator I don't really need/want the full filesystem access and ability to interact with Windows shell (context menu, environment variables...) I would need for e.g. a file manager, nor the low level granular access to hardware I would need for a driver, nor the ability to load external 3rd party plugin as e.g. web browsers.

It is quite similar to Gadgets, but with better built-in security - however a real security assessment can/should be done only after it gains popularity in the wild: an heavy sandboxed / virtualized environment is certainly good from security perspective, but no silver bullet exists for security, think to all security issues that had in recent years Java/JVM and Flash (which where built ground up as sandboxed runtimes). The idea is good, but anyway needs to keep secured and updated as any other part of the system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .