Friday, August 1, 2014

How to start with Windows (Phone) development

Goal:
Create an App for my Windows Phone and/or Windows 8 desktop


Problem:
I have no idea how to do this :)

I have basic programming skills in PHP, Object Pascal, Java and now a fair bit of SQL. I gues I need to learn a Microsoft Language


Solution:

Step one - Installing the Tools.

I want to use C# (C-sharp) as the language to program in because I have used Visual Studio before and follwed some basic lessons for C#. Those lessons can be found herehttp://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners

So now in order to develop Windows Apps I need to get Visual Studio. I decide I want to get a free version so I go for Visual Studio Express. There are two different versions;

  • Visual Studio Express 2013 for Windows 
  • Visual Studio Express 2013 for Web

Here you can download the different versions: http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#DownloadFamilies_2

I downloaded Visual Studio Express 2013 for Windows to develop my Apps in. 

Note:
For the C# lessons I needed to use the 'for Web' version.

When installing this version of Visual Studio note that you need Windows 8.1 !!

Here are the system requirements

Supported operating systems
  • Windows 8.1 (x86 and x64)
Hardware requirements
  • 1.6 GHz or faster processor
  • 1 GB of RAM (1.5 GB if running on a virtual machine)
  • 11 GB of available hard disk space
  • 5400 RPM hard drive
  • DirectX 9-capable video card running at 1024 x 768 or higher display resolution
Additional requirements
  • KB2883200 (available through Windows Update) is required
  • For Windows Phone development:
    • Windows Phone 8.0 development requires Windows 8.1 (x64) or higher
    • Windows Phone 8.1 development requires Windows 8.1 (x86) or higher
    • For the Windows Phone emulators, Windows 8.1 (x64) Professional edition or higher, and a processor that supports Client Hyper-V and Second Level Address Translation (SLAT)
    If your computer meets the operating system requirements but does not meet the hardware requirements for the Windows Phone Emulators, the Windows Phone development tools will install and run. However, the Windows Phone 8.0 and 8.1 Emulators will not function and you must use a device to deploy or test Windows Phone apps.

Another thing worth noting is that your development station needs Hyper-V. Without Hyper-V you cannot start the Phone Emulator and testing can then only be done on a connect Windows Phone device. Which is something you don't want because you then cannot test different resolutions, gps etc etc.

I didn't know if my laptop had Hyper-V so I decided to go in to the BIOS. I have a Sony Vaio Duo 11 and it took me a little while to figure out how to get in. I tried F2, F8 , F10 etc but then I found out that I had to press the 'ASSIST' button while the laptop was shut down.


Shut down the Vaio


Click the 'ASSIST' button at the front bottom.


Go to the BIOS (F2)



Go to the 'Advanced' tab and [Enable] the 'Inter(R) Virtualization Technology'



So this was specific for the Sony Vaio. You will need to figure it out for your own laptop/desktop :)


Step two - Lessons



Now for some lessons I decided to go back to the site with the C# lessons. And it appears they also have some nice lessons on Windows Phone 8.

I started with the Windows Phone 8 Development for Absolute Beginners:
http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners

And half way in I found this serie: 
http://channel9.msdn.com/Series/Windows-Phone-8-1-Development-for-Absolute-Beginners
A Windows Phone 8.1 series and I decides to check that one out and follow the lessons.

Next step is to design and create my very own app. I am currently in the process of doing so and  I'll keep you posted and share my experiences and problems.


GNZ