Welcome!

.NET Authors: Yeshim Deniz, Elizabeth White, Corey Eng, RealWire News Distribution, Shelly Palmer

Related Topics: .NET, Wireless, Silverlight

.NET: Blog Feed Post

Impressions: First Weekend Developing for Windows Phone 7 Series

The first thing that I noticed was the integration with VS2010

While I've been dabbling a little bit here and there looking at the SDK since it was released at MIX, this weekend I sat down and spent a considerable amount of time trying to develop a real-world product using the tools available. I know that the tools and the SDK are still very early and things will be changing (presumably for the better), but I wanted to post my thoughts on the development process while they were still fresh in my head.

The first thing that I noticed was the integration with VS2010. I have VS2010 Ultimate on my box and after installing the SDK, I gained the WP7 templates and created a new regular WP7 application (you can also create a list application which comes with some boilerplate code to render a vertical list). I love how smoothly this integrates, especially the side-by-side design surface and XAML editor. In the past, I've simply turned off the design surface and written my code entirely in XAML. Strangely enough, I found the design surface responsive and accurate enough that it actually came in pretty handy. The side-by-side view really works well, because if I had to switch tabs, I'd just disable the designer like I always do.

The next thing I noticed was just how quickly everything comes together. I was able to go from nothing to a really decent looking UI mockup (bound to dummy data) in absolutely no time at all. I had really well-placed subtle "door hinge" animations for page transitions, I had tappable controls, context-sensitive application bars - everything just flowed together really well. Keep in mind that I haven't really developed hard-core for Silverlight since v2. I dabbled in some v3 stuff, but I'd consider my Silverlight skills to be somewhere between "piss poor" and "damn rusty", so to be able to throw together multiple pages of a highly customized application in a couple hours is really saying something about this framework.

So basically what we're looking at here is all the ridiculous power and flexibility (and visual goodness!!) of Silverlight, plus the ease of doing hardcore low-level tasks with the .NET Framework rolled into a single package and made available at a resolution of 480x800 (or 800x480 if you're in landscape, you get the idea).

I was a little disappointed to find out that we don't get SQL Express on the phone. iPhone comes with SQLite, a lightweight but extremely powerful file-based database system as well as Core Data, a really good ORM for talking to the database. Then I started thinking, the WP7 is always going to be a phone - it will never be an "iPod Touch" (wifi only device), so there are less scenarios where you have to build for extended long-term disconnected behavior - which is what normally makes me say "hey, we need a local database here". Given how awesome .NET's XML serialization and DOM support is (and how pathetic the iPhone's default SAX-based XML parser is), popping some locally cached data into Isolated Storage won't be too much of a hassle. Time will tell, though.

Overall, the more I use the WP7 SDK, the more impressed I become. Every day I find myself taking an idea that was destined for the iPhone and deciding that I'm going to build the WP7 version first because it's easier, faster, and looks better. I will keep you all posted and will start throwing code samples up here soon.

Read the original blog entry...

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.