- Google I/O 2013's Coolest Products and Services
- 10 Star Trek Technologies That are Almost Here
- 19 Generations of Computer Programmers
- 25 Must-Have Technologies for SMBs
Network World - Kevin Hoffman is an enterprise programmer who straddles two worlds: Windows, including Windows Mobile and now Windows Phone 7, and Apple iPhone. His day job is chief systems architect for Oak Leaf Waste Management in East Hartford, Conn., where he focuses on mobile and cloud application development.
"Every framework has advantages and disadvantages," he says. "You can't make blanket statements that one is better than the other; you have to qualify it."
He has extensive background in Windows development, and writes The .Net Addict's Blog, where he's currently writing about his Windows Phone 7 experience. (He has co-authored several books, including WPF [Windows Presentation Foundation] Control Development Unleashed . Hoffman also has a page at Amazon's Web site.
But until recently he's also been editor-in-chief of Sys-Con's iPhone Developer's Journal, and does contract work writing iPhone apps. He has presented at Apple's Worldwide Developer Conference, comparing programming for iPhone and for Microsoft .NET Compact Framework.
We caught up with him to ask him his impressions of Windows Phone 7 (WP7) and the differences and similarities between that platform and iPhone.
Given your background, how does WP7 stack up against iPhone?
In the market of high-end mobile applications, iPhone has had a monopoly until now. If you have to choose a target device [for you applications], you choose the one with the most users. The iPhone has that.
Now Microsoft is in that market, with a device [platform] that does everything the iPhone does and some things it doesn't.
But from pure developer standpoint, I think in general, especially for people new to mobile development, it will be easier to build apps for Windows Phone.
Mainly because development is lower-level on the iPhone than on Windows Phone 7. For example, memory is not managed for you on iPhone but it is for WP7. So there will be inherently less crashes, and developers [therefore] can spend more time on what they want their app to do rather than tracking down memory leaks.
Because of Silverlight [Microsoft's interactive Web application environment] and XNA [for developing games on Windows and Xbox], of all these available [application] design tools, including Microsoft tools that let you import directly from Photoshop and Illustrator, all of this means that people can go directly into a WP7 development cycle. You don't get the same kind of design experience from the iPhone
As you indicated, all WP7 applications must execute in either the Silverlight or XNA runtime environments. Why is that a benefit?
With XNA, anyone who has been building Xbox games already knows how to use it [on WP7]: the language, tools, everything is the same, except the control interface and the size of the screen. Game developers…can build an application for the phone and not only reuse their skills but reuse a huge chunk of their code.
Silverlight is equally attractive for business and productivity software developers. With previous [OS] versions, the default look and feel [for mobile applications] was terrible. Much of the development effort was in making the application look good. But Silverlight has designer tools to take designer-built assets and put them into the application with no loss. And if developers have a Silverlight application on a Web site and want the same app to run on Windows Phone 7, they can reuse a very large amount of their code, in some cases all of their code.