WP7 app development - Any advice on getting started?

cPT.cAPSLOCK

Senior Member
Feb 27, 2009
115
3
0
Groningen
Hey there, thanks for reading.

I decided that I want to learn how to program apps and possibly games for WP7.
Because my holidays are almost starting, now's the time for me to do so.

I already have Visual Studio for Windows Phone up and running, and I encountered the getting started pages on the official silverlight website.

However, it kinda feels like being thrown into the deep and having to do everything in one big leap, instead of being able to start with basics and then move on in smaller steps.

Does any of you have advice for me on what would be good ways to get started? Any advice is appreciated.

I do have vast experience with PHP, but I believe that the syntax is completely different from SL.

Thanks in advance!
 

Ren13B

Senior Member
Oct 10, 2007
251
18
0

Windcape

Senior Member
Jun 22, 2010
377
4
0
Stockholm
Ideally you want to know C# for a starters. There's plenty of tutorials on MSDN or the web, but I can also recommend buying the book: Pro C# 2010 and the .NET Platform from Apress.

It's learns you the language, and also goes over XAML related technologies, and even though it's mostly WPF (Windows Presentation Foundation) the core principles apply for Silverlight as well.

After you learned C#, it's time to learn Sivlerlight in dept, and by this I mean XAML, and the limitations in the .NET subset used for Silverlight.

For tools you wish to get Visual Studio 2010 Express, and Expression Blend 4. You can get the Release Candidate free for now, to try out development.
Make a note of that your computer need to support hardware-visualization to run the emulator without a incredible amount of lag!

If you're used to programming you might quickly learn Visual Studio, but Expression Blend requires a good amount of time to get used to. I'll recommend setting off a weekend where you use 2x8 hours to learn it.

You'll be using both Visual Studio and Expression Blend at the same time, C# for application-logic (ie. C# code) and Blend for design.

Designing in Blend is really simple, see for example expressionblend.png.

One of the articles I want to recommend you to read once you got into this entire XAML thing, is this article explaining how to do paging, as it's one of the core concepts, but also provides a good exercise in using Expression Blend.
 
Last edited:

mystikal87

Senior Member
May 29, 2008
119
11
0
Roseau, Dominica
Also, to get a handle of the basics, Microsoft has put together a site to encourage people to get involved with WP7 and Silverlight. The website is: http://www.microsoft.com/design/toolbox/


Its a real beginners course to all the programming one will be involved in on the WP7 platform. This won't get you very far in programming, but will teach you the absolute basics. From there you can always get assistance from the great members of XDA (me excluded) :D
 

Windcape

Senior Member
Jun 22, 2010
377
4
0
Stockholm
Pretty cool site. Now we just need them to release a free-WP7 version of Expression Blend.

The current process to get started is way to messy, but I guess they already know that :)
 

cPT.cAPSLOCK

Senior Member
Feb 27, 2009
115
3
0
Groningen
Allright, thanks for these replies :)
My holidays are (unofficialy) starting in three days, so I'll have plenty of time available.

Luckily my rig runs the emulator buttersmooth (I ran the unlocked WP7 rom with it, to try the OS in it's current state) so that won't be an issue.

These links should get me going in the right direction (H)
 

enadiz

Senior Member
Apr 1, 2010
68
0
0
Wow this looks like an interesting journey. Holidays? If you are a student, you can get a waiver on the $99 startup fee to post 5 applications on the windows marketplace. Check out www.dreamspark.com for more student resources.

Thanks for the information provided! I was stepping into WP7 app programming too.
 

cPT.cAPSLOCK

Senior Member
Feb 27, 2009
115
3
0
Groningen
Yea, thanks for telling me but I already knew about dreamspark :)

I've checked and I can enter by signing up with the e-mail my school provided.
However, since it's valid just one year im not using the key untill I actually own a WP7-device.
 

Windcape

Senior Member
Jun 22, 2010
377
4
0
Stockholm
Wow this looks like an interesting journey. Holidays? If you are a student, you can get a waiver on the $99 startup fee to post 5 applications on the windows marketplace. Check out www.dreamspark.com for more student resources.

Thanks for the information provided! I was stepping into WP7 app programming too.
Sounds quite awesome. I only had MSDNAA access so far, but I believe I should have Dreamspark access when I start on my bachelor of engineering, after the summer holidays.

Btw. I made a compilation of tools and blogs that'll help developers getting started, http://forum.xda-developers.com/showthread.php?t=711629
 

enadiz

Senior Member
Apr 1, 2010
68
0
0
Sounds quite awesome. I only had MSDNAA access so far, but I believe I should have Dreamspark access when I start on my bachelor of engineering, after the summer holidays.

Btw. I made a compilation of tools and blogs that'll help developers getting started, http://forum.xda-developers.com/showthread.php?t=711629
Yumm. I'll get down to learning.

The key needs to be renewed every year .. as long as you have your student email, you'll be fine :)
 

hexham

Member
May 27, 2010
5
0
0
My first post on xda-developers... +_+!

Yes, as you were told C sharp learning is important so try hard to learn it then go on learning VS 2010 express and expression blend 4. I am new to WP7 dev too and like you ... am dreaming of building a good application indeed - Games are so tough and complex to build and needs teamwork I think-. I just strated leaning C# and have found a lot of good websites trough google search (Windcape compiled most of them in a useful thread you may bookmark)

However, there are a lot of ressources and books about C# and WP7 programming there in torrents world. you can search them by yourself.

Here is a small cd from lynda.com I just uploaded to demonoid.me.

Lynda Windows Phone 7 App Development

I can post links but you can search demonoid website for it.

If anyone needs invitation to demonoid he may PM me here :)

Also, for a good intorduction to WP7DT just search google for this series : Windows Phone 7 Jump Start


NB: I wish if we can found or make a small teams of biginners wm7 programmers;
 
Last edited:

prgwhiting

Member
Aug 23, 2007
12
1
0
I haven't read through the replies yet so apologies if I'm repeating anything, but I've been a .Net Developer for around five years now so I feel like this is something that I can actually comment on.

I didn't train in anything to do with computers I just fell into this programming lark, I actually trained as an Actor believe it or not. Through needing to design a database in order to record my Acting Accounts I eventually got into V.B.A. and after ending up with a part time job using V.B.A. was finally forced to learn .Net through requirement changes at work.

I only mention this, so as you know that I wasn't born to this sort of thing and had to struggle to get my head round it.

I started with vb.net as that was almost the same as using v.b.a. but last year decided to teach myself C#. I've not used PHP so can't comment on any similarities or otherwise but I do know this.

C# was a huge shock to my system, absolutely huge. I almost gave up after a week of trying to translate my existing code, but managed to persevere and I'd say that after about two months of forcing myself to do C# only, I felt comfortable with it. A year later and I'm completely fluent and happy with C#.

It's a bugger to look at, I don't find it elegant at all, but once you get your head round the syntax then it all starts to make sense.

Get a good C# book, I'm not sure of any good ones, I've not used any, and go with the lessons in there, but don't let that stop you trying to develop your own experimental stuff in the meantime.

Syntax basics

Curly Brackets {} tend to indicate a routine block

E.g. A Function/Method/Void called Test would look like this

public void Test()
{

... Your code goes here
}

This is also the case with an If statement
E.g.

if(A==B)
{
... Your code goes here
}

Scoping/Dimming/Creating an object requires the Object type first followed by it's name

E.g. TextBox _textbox

The object being created is a TextBox and it's name is _textbox

A semi colon ; indicates the end of a block of code. If you have a particularly long line of code then you can use multiple lines but will
only need to insert the ; at the end of that particularly block of code

E.g. A=1; (This is the standard way of doing this)
A=
1; (This is not the way that I would actually do this but is just an example of what is permissable.)

I always found it useful to find C# code on the web and try to read and understand it.

The most important thing is though, don't give up. Visual Studio is widely considered one of the best coding tools in the industry and C# itself, once you get past the first impressions is a really easy language to pick up.
 
Last edited:

cPT.cAPSLOCK

Senior Member
Feb 27, 2009
115
3
0
Groningen
Thanks for the detailed explanation - the use of accolades ('{}'), multiple lines and the semicolon and the syntaxt for statements looks pretty similar to PHP.

That might just be enough motivation for me to finally get started.
yes, even though I asked about advice over halve a year ago, I never got quite to it... Maybe these similarities plus the fact that I have a Microsoft Dreamspark developer account plus the fact that in March I might have a device will be of help. If that's not enough motivation, I don't know what will be :#
 

DaveShaw

Senior Moderator Emeritus + Wiki Bureaucrat
Dec 4, 2007
8,771
496
83
Huddersfield
www.taeguk.co.uk
Go for it! :cool:

You can always ask questions here or on somewhere like StackOverflow.com if you get stuck.

Object Orientation takes some getting used to, but atleast the garbage collector should look after your memory for you ;)

Dave
 

_calum_

Senior Member
Aug 16, 2010
493
58
0
Tübingen, Germany
Just adding my two cents here...

I thoroughly recommend that anyone getting into WP7 programming takes a very good look at the MVVM pattern (see here - it's WPF based but the difference is really only in the objects available, most silverlight code can be directly ported to WPF and vice versa). Using this pattern not only enables you to easily swp the UI for your app, it also makes debugging a whole lot easier due to the lack of UI code in the classes that actually do the work (the view models).

Another thing to try and get your head around is asynchronous programming with services, but that is not really something you want to start out with :p Sorry, forgot we were dealing with silverlight for a minute ;) this is something you're going to have to learn right from the start, along with using background threads for processing data.

For anyone that needs any specific advice feel free to PM me. I'm new to the WP7 thing, but looking at the classes available which aren't available in silverlight it shouldn't be too hard to get into. And the design patterns will be the same.
 
Last edited: