Now that you have your development environment set up and ready to go (in case you’ve missed it, check out my earlier post, Setting Up Your Windows Phone Development Environment in 30 Minutes (or less)), let’s go over the ways that Visual Studio can easily get you started without having to dig too deep into documentation.
As you know, every development opportunity in Visual Studio 2012 begins with File > New Project. With the Windows Phone SDK installed, you will notice that once you have the New Project dialog open, you have a good selection of templates to choose from.
To save you the time looking up each one, allow me to summarize of what you should know about each:
PRO TIP Each of these templates provide a working project right out of the box. Once the project loads, you can run it immediately without having to make any changes. This gives you the opportunity to decide if it’s the right style for your app idea before you even begin development, which is a huge time saving feature!
PRO TIP These sample projects also serve as a great learning tool! In each project, you can use the code that’s in place to learn how to:
The Windows Phone SDK provides APIs for everything…and I mean EVERY thing! You can include sophisticated functionality in your app using just a few lines of code.
Camera integration? There’s an API for that! For a deep dive on that, as well as photos and media support, have a look at Chapter 7 of Windows Phone 8 Recipes.
Maps and navigation? There’s an API for that too! Again, a deep dive can be found in Windows Phone 8 Recipes. Chapter 8 this time.
Last but certainly not least, contacts and calendar integration, speech recognition, Bluetooth and NFC are all simple to use with the APIs in the Windows Phone SDK.
I can go on for a while about this topic, because the list of available APIs is intentionally made to be quite extensive. Although it may seem like a lot to learn, these APIs can be implemented quickly and easily. More importantly, you only need to learn them when you need to use them! No sense of going through all of them if your app idea doesn’t actually need to implement them.
If you’re looking for sample projects to demonstrate how these features can be incorporated into your apps, you’ll find them in the book. You can also find a wealth of information and sample projects within the Windows Phone Developer Centre.
Last but not least, let’s talk security. Essentially, the Windows Phone platform itself handles a lot of the tedious, but necessary, security aspects for app developers. Mark Artega provided an excellent post about application platform security which is worth reading.
Also, if you plan on creating apps that store sensitive user data, then you will want to include data encryption in your application. The Data Protection API makes this easy for you. Mark followed up with a second, yet just as excellent, post on this topic, and <lastShamelessPlug>I covered it in Chapter 11 as well</lastShamelessPlug>.
Next, we will talk about how to monetize your newly developed app so that you can start reaping the benefits of your hard work!
1 translation for non-Redditors = Today I Learned
Excellent post. I am assuming we need to use Windows Phone HTML5 App for cross platform (IOS, Android etc.)
If you develop an HTML5 app for Windows Phone, it will only run on Windows Phone. It's a Windows Phone app that primarily uses HTML5 as its content (local or external), and you would just include a WebBrowser control in your app to render that content.
For cross platform development, you can either develop an HTML5 web site that is hosted on a web server, and then create your shell apps for each device that will render the site from within your app. If you go this route, ensure that your CSS includes support for mobile device screens so that it renders properly in browsers across devices.
Alternatively, you can use Xamarin for cross-platform development. If you pursue this route, I highly recommend you still take the time to develop the UI specific to each device. Be sure to conform to the design that is true to the device to give your users a consistent experience.
Great article. Thanks a lot.