Special considerations for Windows Store apps
[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]
A few things to consider when creating a Windows Store app.
Supporting screen sizes
As you know, Windows 8 can be used on devices with a wide range of screen sizes: see the topic Supporting multiple resolutions for more info. However, Windows 8 also has the unique ability to display multiple apps on-screen at once: for example, your user might be using your app and the Mail app at the same time. This means that your app must be able to instantly respond to changes in view size.
There are two things to consider here: how will the design of your app change to accommodate a new view size, and how will your code detect and respond to these changes?
In Windows 8, the change in screen size was referred to as snap view, and your app could be changed from full-screen to either a narrow or a wide view. With Windows 8.1, there is more flexibility when the view is resized.
For example, if you are working on a game it's important to consider what will happen if the user uses have the screen for your game and have to deal with their emails. Should your game enter a pause mode? Or should it reformat the display to let the user keep playing? There is no definitive answer, as it depends on the nature of the game, but these are points you need to keep in mind.
- Designing your app with XAML: Orientation
- Designing your app with XAML: Resizing
- Guidelines for resizing windows to tall and narrow layouts
- Quickstart: Designing apps for different window sizes
Touch vs. keyboards and mice
If you are porting an app from iOS or Android, or creating an app hand-in-hand with Windows Phone, it can be easy to forget that many devices running Windows 8 lack a touch-screen, and many more can use a keyboard and mouse. It is therefore important to support as many input modes as possible, including the on-screen touch keyboard.
- Responding to user interaction (Windows Store apps using JavaScript and HTML)
- Responding to keyboard interactions (Windows Store apps)
- Guidelines for touch keyboard and handwriting panel (Windows Store apps)
Capabilities
When you are working in Visual Studio, don't forget to open your app's Package.appxmanifest file and confirm the list of capabilities you are planning on using. If you forget to set a capability such as Webcam support, your app will throw an exception when the camera API is used.
Selecting some capabilities, for example, Location, will require you to disclose this fact to your user and provide a privacy notice. If you don't folllow these rules you risk failing certification.
Design
Windows 8 introduced a striking new visual design, but that doesn't mean your app must look like rows of tiles in primary colors. The XAML and WinJS controls at your disposal can all be customized, and indeed you should customize them to fit and look and feel of any branding or design motif your app requires.
- Design inspiration
- App capability declarations (Windows Store apps)
- The Windows Store and app certification
- Laying out your UI (Windows Store apps)