Monthly Archives: February 2013

Developing Apps for Microsoft Surface, Windows 8, Windows RT and Windows Phone 8

Recently, at one of the conference i presented at Microsoft Technology center, i was asked the following questions.

  • Is .NET dead? What is .NET Client profile?
  • Is Windows 8 compatible with my current Windows app?
  • Can I build Windows 8 Metro apps in .NET?
  • Can I build apps for both Windows 8 and Windows Phone?

The following table summarizes the latest devices and their operating systems as well as the development technologies along with other useful information (for developers)

image

Well, here are some of the answers and commonly used Windows 8 terminology.

  • Windows Phone 8 now shares a common core with Windows 8. This means you can expect to write apps for one and easily port it to the other, with UI retooling of course. Developers targeting both should use C#/VB + XAML for apps, and C++/D3D for games. Portable class library definitely helps when developing for both the platforms.
  • The term “Metro Apps” now called “Microsoft Design Language” denotes apps that can be purchased in the official Windows App Store and that are built on top of the WinRT runtime, using either C# + XAML, or WinJS + HTML5. Even though Windows Phone features a Metro user interface (and the original one at that), the term Metro Apps does NOT apply to Windows Phone 7.5 apps.
  • The term “Metro Games” denotes apps that can be purchased in the official Windows App Store and that are built on top of the WinRT runtime, using Direct3D (D3D) and C++. Windows RT & Windows 8 Metro games cannot be built in XNA.
  • XNA can still be used to create Windows Phone 7.5, 7.8 and 8.0 games, and sold in the marketplace. You will not need to keep Visual Studio 2010 since Visual Studio 2012 and the Windows Phone 8.0 SDK will still support new development in XNA.
  • WinRT is the new native Runtime for Windows RT and the Metro side of Windows 8. It completely replaces .NET and Win32. Let me make this clear: If you look under the covers of WinRT, there is no .NET and no Win32, all you’ll find is the Windows Kernel. Since the only dev platform supported by Windows RT is WinRT, that means you cannot use .NET to build apps for Windows RT (or for the Metro side of Windows 8). Read this post on Paul Thurrott’s Windows Supersite for a more in-depth explanation.
  • WinRT is not based on .NET but you can use a subset of .NET from WinRT. Microsoft provides a subset of managed types called the .NET APIs for Metro style apps which enables .NET Framework developers to create Metro style apps within a familiar programming framework. Note that porting some .NET apps to WinRT could be trivial while others could be hard, based on which namespaces & classes you use. Check this section of the Metro style development documentation for more details.
  • Side-loading implicates installing non-certified applications using external media, thus bypassing the official Microsoft Windows App Store, whether it originates from a CD/DVD, USB key or web download. Note that developers can always side-load their own apps in a developer-unlocked device.
  • Xbox LIVE games are always platform specific. Microsoft Surface and Windows Phone both feature Xbox LIVE enabled games but this does NOT mean it runs the same Xbox LIVE Arcade games as the Xbox 360.
  • 2D game development can also be done using the same platform as apps. For example, on Windows Phone, 2D games can be built in Silverlight and do not require XNA.
  • Confused about version numbers for Windows Phone? Read my blog post that demystifies it all here.
  • Windows 8 can also be installed on any PC running Windows 7 today, and will also come pre-loaded on future generations of OEM (Dell, HP, Lenovo, Toshiba, etc.) computers, laptops, notebooks, Ultrabooks, Netbooks and tablets. The first column applies to all these other Windows 8 computers as well.
  • Windows RT will also be available on third-party tablet devices offered by Microsoft’s OEM partners (Samsung, Toshiba, Lenovo, etc.) Windows RT cannot be installed manually by a consumer, it must be licensed and pre-loaded by the OEM manufacturing the tablet.

  • 101 Questions and Answers About Windows 8

    1. What tools and information do I need to develop Windows 8 Store applications?

    a. Windows 8 – Download free version here

    b. Visual Studio 2012 Express – Download free version here

    c. Windows Phone – Download free version here

    d. Windows Server 2012 – Download free version here (Optional)

    e. Microsoft Virtual Academy – Register here

    2. How to develop a Windows Phone 8 app in 30 days?

    Register at http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200134727

    3. For a Mac user, where can I get the free tools to build Windows Store apps for Windows 8?

    Install Windows 8 and the dev tools on your Mac.

    4. How to start planning now for a cloud-based backend service—user authentication, push notifications, and structured data?

    Sign up for the Windows Azure 90-day Free Trial and receive 10 free Mobile Services running on shared instances.

    5. Get the samples and get started!? Download the design assets—PSD assets include templates, common controls, and common components—and the sample apps pack.

    6. Where to find Windows 8 Sessions and Keynotes — //BUILD Conference Site

    7. Download the Bits — Windows Dev Center

    8. PDF Manual — Windows Developer Preview Guide

    9. Code Examples — MSDN “Metro Style” app examples (or get them all together in a Single ZIP)

    10. What Devices will Run It? — List of Devices in Microsoft’s Test Lab

    11. How to Install on My Machine without Losing Everything even if I don’t have Dual-Format DVDs or 8 GB Memory Sticks Handy — Installing Windows 8 Developer Preview as a Bootable VHD

    12. What About Silver light? — It’s still here, with a diagram from Microsoft to prove it

    13. Chat about Windows 8 or Cry for Help — MSDN Forums for Windows 8

    14. What is WinRT? — Introduction to WinRT and WinRT demystified

    15. Touch Input — Quickstart: Touch Input

    16. Comfort Guide to Controls for Silverlight and WPF Developers — Controls List (for Xaml)

    17. How do I Convert Silverlight to WinRT/Metro? — Blog Series on WinRT vs. Silverlight

    18. But is Xaml REALLY There? — Yes, It Is

    19. The New Architecture — Windows 8 WinRT Capabilities (Tip: Lean forward to make it look flat)

    20. Platform and Tools Architecture — Windows 8 Platform and Tools (Tip: this time lean sideways)

    21. Can I Borrow Someone’s Opinion? — Sure thing: Yours Truly, Michael Crump, Engadget, Wired

    22. Create a bootable USB? jerrynixon.com

    23. Setup boot to VHD? jerrynixon.com

    24. Get an Azure account? http://aka.ms/w8cloud

    25. Get Windows 8? http://aka.ms/w8download

    26. Get Visual Studio 2012? http://aka.ms/w8tools

    27. Get Windows Live SDK? http://aka.ms/w8live

    28. Get Windows 8 Samples? http://aka.ms/w8samples

    29. Get Multilingual Toolkit? http://aka.ms/w8language

    30. Get Advertising SDK? http://aka.ms/w8ads

    31. Get Design Assets? http://aka.ms/w8design

    32. Register your App? http://aka.ms/w8reg

    33. Join 30 to Launch? http://aka.ms/w8launch

    34. View the online labs? http://aka.ms/w8vlabs

    35. Does Windows 8 run Windows 7 software? Yes

    36. Does Windows 8 support .Net 4.0? Yes

    37. Does WinRT replace the .Net framework? No

    38. Can users re-enable the start button in Windows 8? No

    39. Can enterprises disable Microsoft Design Style on their Windows 8 desktops? No

    40. Will Microsoft Design Style be part of the server version of Windows? Yes

    41. Do developers need two apps in the Windows 8 store to support ARM? No

    42. Can apps have a hidden URL in the Windows 8 store? No

    43. What is the revenue split with Microsoft for the Store? 80/20

    44. Do developers need a developer account in order publish an app? Yes

    45. Can developers use payment systems other than Microsoft? Yes

    46. Is HTML5 and JavaScript (JS) supported in Microsoft Design Style development? Yes

    47. What is the HTML rendering engine in HTML-based Microsoft Design Style apps? IE10

    48. Is IE10 Microsoft Design Style the same engine as IE10 desktop? Yes

    49. Can desktop applications create live tiles? No

    50. Can desktop applications use WinRT? Yes

    51. Can desktop HTTP end point be accessed by Microsoft Design Style apps? No

    52. Can Microsoft Design Style applications access a local SQL server? No

    53. Do Microsoft Design Style applications have a local database solution? Yes, Sqlite

    54. Can Microsoft Design Style applications access the internet while the pc is in standby? Yes

    55. Can Microsoft Design Style applications access SkyDrive? Yes

    56. Can Microsoft Design Style applications iterate through the user’s hard drive? No

    57. Is there a Microsoft Design Style version of windows file explorer? No, see above

    58. Can Microsoft Design Style applications detect other Microsoft Design Style apps? No

    59. Can more than one Microsoft Design Style application run at one time? Yes, two

    60. Can push notifications execute client code? No

    61. Are there background tasks in Microsoft Design Style? Yes

    62. Is the performance of HTML5 Microsoft Design Style applications comparable to XAML? Yes

    63. Is native code (C++) supported in Microsoft Design Style development? Yes

    64. Is Microsoft Design Style C different than traditional CPP? Yes

    65. Should all desktop apps be migrate to Microsoft Design Style? No

    66. Will the Windows 8 store support trials? Yes

    67. Will the Windows 8 store support subscriptions? No

    68. Will enterprise apps deliver through the Windows 8 store? No

    69. Can enterprises disable the Windows 8 store? Yes

    70. Can enterprises disable side-loading of apps? Yes

    71. Can apps in the Windows 8 store access desktop apps & services? No

    72. Can side-loaded apps access desktop apps & services? Yes

    73. Can parents disable the Windows 8 store for kids? Yes

    74. Can parents limit the hours in the day their kids can log in? Yes

    75. Can parents limit the cumulative time in a day kids can use the PC? Yes

    76. Can parents filter available web sites? Yes

    77. Can parents disable games based on their rating? Yes

    78. Can Visual Studio 2010 be used to build Microsoft Design Style apps? No

    79. Can Visual Studio 2012 be used to build Windows 7 apps? Yes

    80. Can Visual Studio 2010 access Team Foundation Server 2012? Yes

    81. Can Visual Studio 2012 open 2010 projects without altering them? Yes

    82. Can Visual Studio 2010 open 2012 projects? No

    83. Does the .Net 4 async keyword work in WinRT? Yes

    84. Does Windows 8 WinRT code run on Windows Phone 7? No

    85. Does Windows Phone 7 code run on Windows 8? Yes, some

    86. Does Windows Phone 8 code run on Windows 8? Yes, more

    87. Does Windows 8 code run on Windows Phone 7? Yes, some

    88. Does Windows 8 code run on Windows Phone 8? Yes, more

    89. Can Microsoft Design Style applications roam settings/files across desktops? Yes

    90. Can desktop applications roam settings, too? No

    91. Can Microsoft Design Style applications roam settings/files to Windows Phone? No

    92. Can Windows Phone roam settings to Windows 8? No

    93. Does Windows 8 Microsoft Design Style support XNA game development? No

    94. When was Windows 8 released? Friday, October 26, 2012.

    95. Win+E – Explorer

    96. Win+R – Run

    97. Win+D – Desktop

    98. Win+Plus or Win+Minus (no shift) – Magnifier/Zoom In and Out

    99. Win+F – Find Files

    100. Alt-Tab – Switch between Apps

    101. Win-Tab – Switch between Full Screen Apps