Prerequisites of Studying Windows Phone Platform
One of the most frequent problems I faced while delivering Windows Phone Sessions using C#/XAML is that some of the attendees are of no background about the .NET Framework especially C# programming language.
As a result, I’ve decided to start “Discovering Windows Platform” with a post that shows the prerequisites of going through Windows Phone Platform whether using C#/XAML or any of the supported languages that will be also showed in this post.
As you see in the previous figure, you have many ways you can follow to develop your Windows Phone 8 App. You can use XAML for the UI and C# or Visual Basic for the code. If you know C++, you can develop a Direct3D app for Windows Phone 8 in that language to take full advantage of the phone’s graphics hardware. Also, you can develop games using DirectX/Direct3D and WP 7.1 XNA.
In this post, I’m targeting those who are willing to discover the .NET world using C# as a first step in their way towards being a Windows Phone Developer where my objective is to draw a road map that acts as a guide in the .NET world in order to be ready for studying Windows Phone Platform or any other .NET Based Platforms Such as Windows 8.
Simply, you will know in this post the following:
- What topics should you Study to start discovering the .NET world and C#?
- What are the materials that you can use ?
Let’s Start with Your First Step
Before studying C#, I highly recommend reading about the .NET Framework as you should know about the environment running your code. In the following links, you will find two .NET-related blog posts I wrote before:
After understanding what’s the .NET Framework, you are now ready to start studying C#.
The following list includes the topics you should study to complete level 1 in C#:
- Anatomy of a Simple C# Console Application
- C# Data Types
- Input and Output (Console)
- Narrowing and Widening Data Type Conversions
- Branching (If-else and Switch)
- C# Iteration Constructs
- Implicitly Typed Local Variables
- C# Arrays
- Parameter Modifiers
- .NET Value Types and Reference Types
- C# Nullable Types
- C# Class Type
- “Static” and “this” Keywords
- C#’s Encapsulation
- C# Access Modifiers
- Automatic Properties
- Exception Handling
If you are interested in going deeply through C#, here’s a list of Advanced C# Programming constructs:
- Delegates, Events, and Lambdas
I highly recommend this book ( Pro C# 2010 and the .NET 4 Platform) in studying the previous topics.
Now, you have a language that you will use in implementing the backend of your applications which is C# and it’s the time to discover a language for building the User Interface which is XAML (Extensible Application Markup Language).
XAML is a markup language like HTML and it’s a very easy to understand. However, If you are not interested in learning such a language, you can skip it as you can drag and drop UI controls from Windows Phone toolbox to your application where the XAML code is auto generated.
I highly recommend reading these articles (XAML Overview) in discovering XAML.
Data Binding is a process of establishing a connection between application UI and data in your application. In order to save time and write smaller code, you should make a heavy use of Data Binding technique.
I highly recommend reading these articles (Data Binding Overview) to understand what Data Binding is.
Finishing this learning trip means that you are ready to start discovering .NET Platforms such as Windows Phone and Windows 8. It also means that you are ready for the next post which is “Required Tools for Windows Phone App Development”.
Thanks for your time and Wish you find the post useful :)
Please Let me know, if you have any feedback :)