Prepare for the Windows 8 development learning curve

 

Summary

Justin James prepares developers for Windows 8 by explaining what skills and tools are needed to learn to write Metro/WinRT apps.

Events

IBM Technology Conference & Expo 2012
May 23, 2012

Convention Centre B2 Room at 22nd Floor, Centara Grand @ Central World, 999/99 Rama I Road, Pathumwan, Bangkok 10330

Echelon 2012
June 11 and 12, 2012

University Cultural Centre, National University of Singapore

Startup Asia Jakarta 2012
June 7 and 8, 2012

12th Floor, Annex Building, Wisma Nusantara Complex, Jl. M.H. Thamrin No. 59 Jakarta 10350, Indonesia

MMA Forum Singapore
April 23-25, 2012

Grand Hyatt Singapore

With the media buzz starting to settle around the Window 8 Developer Preview, it's a good time to determine what tools, skills, and technologies you need to learn to prepare for Windows 8. The good news is all of your development knowledge is transferrable to Windows 8 -- if you don't mind the "legacy application" experience. Your Web apps will remain unchanged. It looks like backwards compatibility is maintained, and the upgrades in .NET 4.5 are mostly minor. What will change is the addition of the Metro/WinRT (M/WRT) applications, which represent a significant learning curve. So let's see what you need to learn to write M/WRT applications.

UI
The UI of M/WRT apps is a radical departure from the traditional desktop application. These are some of the differences:

  • Sizing and proportions appropriate for touch screens; no areas where precise pointing control is needed.
  • More drags, swipes, and flicks; no right-mouse button and no double-clicking/double-tapping if possible.
  • Color schemes designed for high-contrast, for use in glare-on-screen, low-light, or on-the-go visibility; bright, bold colors, not subtle shades of greys or pastels. This is not merely aesthetics--it is vitally important for tablet use.
  • No multi-windowed interface, no popup windows, no MDI, etc.; instead, a "paging" metaphor is used, where a back button returns users to the previous view.
  • Full switch to the MVVM (or at the very least, page + code behind) model.
  • Users are much more likely to change system color schemes, and the system color scheme affects your application more deeply.
  • Asynchronous operations rule the day.

You have to familiarize yourself with these changes and how they affect your application design, often at the very core. For example, between the shift to asynchronous operations and the lack of popup windows, the way you provide error details to users needs to change quite a bit.

.NET guts
While most of the changes to .NET are relatively minor, the standout item is the support for asynchronous operations. There is the new "await" keyword and the support around it. Then there is the whole Reactive Framework, which flips the event and processing model on its head. These asynchronous systems are the new way forward for M/WRT.

While details about the Windows 8 app store have not been released, I imagine that the restrictions (at least for tablets) will be similar to those for Windows Phone 7 (WP7). And the WP7 App Hub rules say that any long-running operations (meaning, "not instant" for the most part) should happen asynchronously. Indeed, the networking components in WP7 are all asynchronous and notify your application when they are complete. If you are used to putting "Please Wait" on the screen in a modal dialog box, you can forget it. Learn the ins and outs of the asynchronous model and how to adapt it to your needs.

Expression Blend
It is getting harder and harder to be a .NET developer without knowing how to use Expression Blend, and that continues to be the case with Windows 8. While Visual Studio's XAML editing capabilities have improved over the years, Expression Blend is where it is at for outstanding visual techniques. Expression Blend seems rather frightening at first if you have never used similar systems like Adobe Flash, but it's really not that tough -- it's just a conceptual mountain. Once you understand its key principles, Expression Blend is a tool for you to work in (perhaps with someone more graphically inclined) to give your applications real pizzazz.

The WinRT API
The WinRT API might seem like someone smashed the .NET Framework in the kneecap with a lead pipe -- that's how I feel when I work in WP7, and WinRT is very similar to the WP7 SDK. The issue is that so much of what you are used to being able to do is stripped out for reasons pertaining to security, cross-platform compatibility, or style. For example, I cannot find any way to open a file outside of a couple of locations like "Documents" and the local application data store.

While the new asynchronous stuff is neat, you must learn it to do much of anything. Before you commit to a major application, you should spend several days in WinRT doing some of the things you are used to doing, just to get a feel for what does and doesn't work and what you will need to adjust in your style to cooperate with the new model. The thing to keep in mind is the total isolation of the application from the operating system and from other applications.

Summary
This is a basic overview of the big changes you will see coming from a traditional WinForms or even a WPF background to the M/WRT model. While it seems daunting at first, most of the technical challenges are pretty easy to learn. The major upheaval is learning to craft UIs that make sense with the new widgets and that will work well on traditional PC form factors as well as tablets and anything else with Windows 8.

Justin James is an employee of Levit & James, Inc. in a multidisciplinary role that combines programming, network management and system administration. He has been blogging at TechRepublic since 2005.

Talkback

Add your opinion

In order to post a comment, you need to be registered. (Sign In or register below)

Post your comment

ZDNet Asia Live

Integration, focused investments to propel Windows Phone: By Kevin Kwang , ZDNet Asia on May 23, 2012 (2 mins ag... http://t.co/aaa0Cb73

Homegrown smartphone OSes gaining favor in China http://t.co/lOBVp1T6

Homegrown smartphone OSes gaining favor in China: 59 Jakarta 10350, Indonesia Locally-made mobile operating syst... http://t.co/gHypbdIY

Integration, focused investments to propel Windows Phone - ZDNet Asia http://t.co/7sZi6Dhb

RT @zdnetasia: Homegrown smartphone OSes gaining favor in China. http://t.co/lL8KbccW

Big data acquisitions pave way to fast, effective innovation - ZDNet Asia http://t.co/ky8YgPAn #Bigdata #analytics via @ciropuglisi

Big data acquisitions pave way to fast, effective innovation - ZDNet Asia: Big data acquisition... http://t.co/r6taCmG1 #ITNews #BigData

Big data acquisitions pave way to fast, effective innovation - Zd Net http://t.co/d9k21ro5: David G... http://t.co/4JgaOz8g #bigdata #sna

Big data acquisitions pave way to fast, effective innovation - Zd Net http://t.co/fbori8UQ: Incr... http://t.co/nuEeUbj7 #ITNews #BigData

Big data acquisitions pave way to fast, effective innovation - ZDNet Asia http://t.co/iFQ74xYI #Bigdata #analytics

@ChemarieMonica : Integration, focused investments to propel Windows Phone - ZDNet As... http://t.co/ZVPDpbxH http://t.co/1QrdIsaV #tech

China social media companies have global potential
http://t.co/p8fkRbfD Chinese social media companies such as #Renren and #Sina might...

China social media companies have global potential
http://t.co/Y3x1qBI1 Chinese social media companies such as #Renren and #Sina might...

#radio Radio United Kingdom by EnjoyIT 1.0 http://t.co/YoV1dcFJ

#radio Radio United Kingdom by EnjoyIT 1.0 http://t.co/CbzcXPPO

So much as we know , MTK6575 extremely integrated frequency1GHz ARM Cortex-A9 processor, the superiority of 3G / HSPA Modem, and help the...

1 day ago by y15822137359 on 5 SaaS adoption speed bumps to avoid

I reckon your view: "CRM is strategy, not software", if a company replicating the approach uses in ERP implementation into CRM, what they...

2 days ago by wykoong on Gartner: Mobile CRM gives better ROI than social

This video will teach you about the Excel fill handle but also provide you with a workook to download... http://www.youtube.com/watch?v=...

3 days ago by TradeBrother on A quick fill handle trick for Microsoft Excel

waiting...

5 days ago by eapete on What should count in a company's market value?

Boy, you've opened a can of worms now.

Wait for the rants & raves.

5 days ago by eapete on What should count in a company's market value?

I was puzzling before this whether to replicate the success formula we executed for a financial institute, and come out with a standard s...

5 days ago by wykoong on Drop the egos, copy ideas, then innovate