Google+ Followers

25 Jan 2014

Windows Phone 8 App Development Part-1: Environment Setup

Introduction

With Windows 8, Microsoft has introduced major changes in the operating system and its user interface to improve overall user experience. Microsoft is positioning it as a next revolution in the technology of computer’s operating systems (OS) to compete with other tablet or mobile OS, including popular Android and iOS. Some of the key enhancements would be Speedy Boot Time, Live tiles based interface, Improved Search Function, Windows To Go (plug in, boot and go), or Windows Live Syncing. 

Read more about Windows 8: 
5 Reasons You Should Upgrade to Windows 8
5 Top Windows 8 Features You’ll Love

As there are significant changes in the platform, it is obvious that we need to unlearn some old ways and get used to all new windows 8 development environment. Although there are many changes in API, the best part is that we can still utilize the existing knowledge base - either we choose to develop in XAML/C# or HTML5/JS. 
Today I am going to discuss about the steps and challenges which any developer can face while starting windows phone 8 developments. These are the same experiences which I experienced when I started working on my first app.

I have divided this article Windows Phone 8 App Development - Quick Start-up guide with best practices in 3 parts:-
Part-1: Planning and Environment Setup
Part-2: App Development, best design practices, and some challenges 
Part-3: Testing/QA of the App and the process of publishing it to store

Background

You are seasoned application developer with experience on Microsoft platform (C#, WPF/Silverlight, .Net, JavaScript).

Motivation

Learn Windows 8 development ecosystem and in the process create and publish a real time application on Windows Phone 8 apps store for millions of potential users / customers in hundreds of markets around the world.

Planning

I am hoping that, since you have landed to this post and reading this article, you already have some application idea and you are looking for ways to jump-start the development. In case, you have not, the good news is that it's not late. We are in planning phase. This is the time when we should start visualizing our application. I am going to share my experience when we started and came to this stage.

Steps: (I worked with one more team member)

  1. Kick-off: We noted down all the points whichever came to our mind separately. We collated all the findings and finalized a priority list. This exercise was great as both of us came with very different requirements / blocks. It would be impossible to get in case of a discussion as our thought process would not have been so independent and could be obstructed by other’s point of view.
  2. Came up with some rough documentation.
  3. Planned the next steps. First and the biggest one were to setup the environment, and then dive deep into the world of windows 8 development.

Environment setup

Our minimum need was to have a Windows 8 OS VM with Visual Studio 2013 installed. So we started in following manner:
Note: Before downloading any software, please check with your IT department whether they already have.

OS (Operating System): Downloaded Windows 8.1 enterprise edition (90 day trial) from http://technet.microsoft.com/en-in/evalcenter/hh699156.aspx (64 -bit) [more than 2GB in size]
Visual Studio 2013: Ultimate with 90 days extended free trial. 30 days default, but which gets extended by 60 days on login with Microsoft Account through visual studio. [more than 2GB in size]. Link: http://www.microsoft.com/en-in/download/details.aspx?id=40778

Virtual Machine Host: Need to have VMWare Workstation. I had Oracle Virtual Box, so I setup my Windows 8.1 OS VM using this client, but only to regret later when emulator installation failed during Visual Studio setup. We can’t imagine a developer life without emulator. Fortunately we came to know that emulator works fine with VMWare Workstation. So we downloaded VMWare Workstation 10 and recreated my Win 8 VM. VMWare Download Link: https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/10_0

Steps for creating VM: System Req: 64 bit system, 8 GB of RAM, 40GB Free Space, System should Support Hyper-V for Emulator to work.Follow steps defined in this article to create VM. It is very well explained. http://developer.nokia.com/Community/Wiki/Windows_Phone_8_SDK_on_a_Virtual_Machine_with_Working_Emulator
Note: Follow the Hyper-V related changes carefully. It is mandatory for phone Emulator installation.

Once VM is created: Install Visual Studio 2013. It already has Windows Phone 8 SDK. Select all features while installation.

Next

That’s it. In part-2 of this article I will discuss about the application development process and some of the initial challenges.