experimental windows phone app
View the Project on GitHub pennyfx/Windows-Phone-Bugzilla-Quick-Search
This app was created so that I could explore the developer experience for Windows Phones. This includes the typical Microsoft developer tools like Visual Studio, Window Phone SDK, MSDN, and the Windows App-Hub. The application spec was simple: query bugzilla using their quick search api and cache the results.
I have a developer environment already setup at home running Windows 7 and Visual Studio 2011, but I felt like that was cheating, so I decided to start from scratch with a fresh Windows 7 VM running on my MacBook Pro.
Installing Windows 7 in VMWare is a piece of cake. Just pop a W7 disk in and tell VMWare to boot from it. 45 minutes later and I have a fresh install of W7.
I've usually work in Visual Studio Professional but for this project I'm wearing the hat of a casual developer that is just getting into Windows Phone development. Since that is the case, I head to google to find out what to do next.
$google: building an application for windows phone
First result:
How to: Create Your First Silverlight Application for Windows Phone
On arriving to the page, there is a note saying "The steps in the following procedure
are for Visual Studio 2010 Express for Windows Phone". Awe so there is a
specific version of Visual Studio for Windows Phone development. There isn't a link
on this page, so I head back to google.
$google: Visual Studio 2010 Express for Windows Phone
First result:
Visual Studio 2010 Express for Windows Phone | Microsoft Visual
Click the download link and the installer starts. This installer looks like it's
going to install .NET 4.0, Visual Studio Express and the Phone SDK. 15 minutes later
and everything is installed.
After starting up Visual Studio, I'm greeted with a Windows Phone project type selector, that allows me to select between a Phone App, DataBound App, Panoramo App, and Pivot App. However, since I have no idea what those mean, I select the first one, Windows Phone App.
XAML, Love it or hate it, when you're working with Windows Phone you have
to use XAML for the UI layout layer. It's basically XHTML on steriods with several
predefined layout controls like Grid, Stack Panel, Flow Panel, etc. These basic
controls make layout pretty darn easy for Windows Phone and helps keep things consistant
across the entire OS.
C#, in my opinion, is the best statically typed modern langauge available today. When coupled with the .NET framework and Visual Studio Intellisense it's hard to imagine a better development experience. One other thing to note here is that you can technicially use any .NET CLR compatible language to write apps. This means Iron Ruby, Iron Python, F#, VB, and others.
Documentation resources for Windows Phone apps is pretty good and 9 times out of 10 you find what you're looking for on MSDN. They have a dedicated section for Windows Phone, Silverlight and XNA Game Development.
With the Windows Phone Emulator that is provided in the SDK it's a piece of cake to test your apps. One click from Visual Studio to start the debugger and the emulator will launch running your app. You can set break points, step through code and all that good stuff.
To publish your app you have to join the developer network and pay $99 a year. This membership enables you to publish apps for Windows Phone and the XBox 360. The signup process was pretty standard with no surprises. Once you have you're account setup, you just have to upload a "Release" version of your applications .XAP, fill out a few fields and hit publish. It takes about 24 hours for your app to go through the verification and certification process. Once it passe
You can @mention
a GitHub username to generate a link to their profile. The resulting <a>
element will link to the contributor's GitHub Profile. For example: In 2007, Chris
Wanstrath (@defunkt),
PJ Hyett (@pjhyett),
and Tom Preston-Werner (@mojombo)
founded GitHub.
Having trouble with Pages? Check out the documentation at http://help.github.com/pages or contact support@github.com and we’ll help you sort it out.