How to start developing apps for Windows 8

With the launch of the Windows 8 operating system on the horizon, what better time to get into app development? Here's how to get started.

John Thompson
John Thompson has been addicted to technology ever since he tinkered with his custom built PC when he was 10 years old. He has been the proud owner of seven Amazon Kindles, but only because he accidentally destroyed the first six. John is a freelance journalist and is not an employee of CNET.
John Thompson
5 min read

We're fast approaching the autumn release date of Windows 8 (at least the weather makes it feel that way), which means the entire world will soon be subject to Microsoft's advertising campaigns and a whole host of new tablets.

Love it or hate it, Windows is very much at the top of the operating system hierarchy, with 90 per cent of the world using it in some form or another today. That's a whole lot of users just waiting to buy apps from the Windows Store, meaning there has never been a better time to start developing for Windows.

If you're interested in getting into app development, but just don't know where to start, this guide's for you.

Download Visual Studio

Visual Studio

In order to start developing Metro apps for Windows 8, you'll have to download the latest preview of Visual Studio 2012 for free. Visual Studio comes in many flavours, with the professional versions costing an arm and a leg. Fortunately for you, the free Express version will probably do everything you want if you're just getting started with Windows 8 apps.

It shouldn't take too long to install -- the download comes in at under 400MB. Once installed, you should take a good look around and get used to all the settings and options available to you. The chances are you'll need them at some point in the near future.

Pick a language

JavaScript code

So you've installed Visual Studio and had a look around to see what's what. Now it's time to decide which programming language you want to use to create your killer app.

Depending on your past experience, you can choose to develop apps for Windows 8 in one of two ways. If you've used any web development languages in the past, such as HTML, CSS or JavaScript, you'll feel right at home when developing Metro apps. With this combination, you can use HTML5 and CSS3 to design the user interface and JavaScript to program the logic that goes with it.

Metro apps can also be written using conventional programming languages, such as C++, C# or Visual Basic. If you've ever programmed in Java before, you'll find C# to be very similar and it won't take long at all to get to grips with the syntax of the language. If you're using one of these languages to program the application logic, then you'll use XAML markup to build the interface.

If you've never programmed before, I'd recommend that you start with C#, as you can then progress to other similar languages such as Java. It's also a good stepping stone if you want to go on and learn C++ in the future. It can be quite daunting programming for the first time, but don't worry, there are plenty of resources to help you on your way...


Windows Dev Center

Whether or not you've programmed before, decent resources are priceless when you're getting accustomed to a new language or environment. Although there are many good online resources available for free, sometimes you can't beat a good old-fashioned programming book, so I'm going to go through a few of both to get you on your way.

If you're planning on developing your Windows 8 apps using web development languages such as HTML5 and CSS3, there are two good books, both published by A Book Apart, that I've used myself and would recommend to anyone.

The first book, by Jeremy Keith, is called HTML5 for Web Designers and is available as an ebook here. At a mere 87 pages long, this isn't a title that you'd recognise as a programming book. In fact, it's a far cry from the 1,200-page Java book that I have sat on my shelf right next to it.

HTML5 for Web Designers takes you through all of the key features of HTML5 without overloading you with information. You'll find chapters on implementing different types of media, semantics and other additions, which play a prominent part in the latest version of HTML.

Of course, being an HTML book, this title is aimed at those developing for the web, but a lot of the techniques discussed will translate well to Metro development too. If you'd prefer to use a free alternative, HTML5: Up and Running by Mark Pilgrim does a great job of taking you through all that you need to know about the language in a browser-based book.

Another book I'd recommend is the title that follows on from HTML5 for Web Designers. Predictably, it's titled CSS3 for Web Designers, and it's written by Dan Cederholm. At over 120 pages, it's more substantial than the HTML5 book, and will introduce you to lots of elements present in CSS3.

If you're new to JavaScript, the first thing I'd recommend you do is visit Eloquent JavaScript and check out Marijn Haverbeke's introduction to the language. This free ebook is full of real-life examples and can go head to head with any expensive, physical book on the market. The Mozilla Developer Network is another great place to go for JavaScript guides.

For those planning to develop apps for Windows 8 in C#, there are more resources and books than you can count. A quick search on Amazon will bring up dozens of titles, each claiming to be the best available.

If you'd like to buy a physical book, Herbert Schildt's C#: A Beginner's Guide will be a good place to start. Although I haven't read this particular title, I have read a number of Schildt's other books in the past and they've all been excellent.

A good, free alternative is a website called C# Station, which, although in dire need of a facelift, will take you through lots of code examples and will get you used to the syntax of C# really well.

Finally, the Microsoft Developer Network has a lot of tutorials that have been written to help you not only get to grips with the different languages that you can use, but also with the Metro design process.


Hopefully, we've been able to give you a good idea of what you'll need in order to begin programming for Windows 8. Of course, there are more resources available than I could ever list, so if you have your own particular favourites, please don't hesitate to put them in the comments.