$bbtitle
Apple Stock: 140.02 ( -2.81 )
RSS RSS Twitter Twitter
Search:
AppleInsider.com Archives News Bytes Reviews Anonymous Mailer Submit Story AppleInsider Forums Mac Prices Polls Advertise on AppleInsider Contact AppleInsider
Save up to $250 on new MacBook Pros and up to $180 on new iMacs: Mac Pricing Guide updated July 3rd (Find the best prices on Macs).
Wednesday, August 20, 2008

WWDC presenter talks iPhone development from .NET perspective

By Prince McLean

Published: 09:00 AM EST

At WWDC, noted author and cross platform development expert Kevin Hoffman presented a comparison of Apple's iPhone development tools with those available for Microsoft's Windows Mobile.

.NET Addict

Hoffman has written a series of books on Microsoft's .NET development frameworks and maintains The .NET Addict's Blog. He is relatively new to developing in Cocoa, but his understanding of both platforms gives him the unique ability to compare the two side by side.

At last year's WWDC, Hoffman presented a comparison of .NET vs. Cocoa. The session was so popular that he was invited back this year to talk about the mobile versions of both: Microsoft's .NET Compact Framework and Apple's Cocoa Touch, used in the iPhone and iPod touch.

Hoffman's presentation shed some light on the productivity and market potential programmers can expect when targeting iPhone development, and subsequently the code quality and quantity users can expect from mobile developers.

.NET CF vs iPhone SDK

For Windows Mobile development, Microsoft provides Visual Studio 2008 .NET CE 3.5 for development frameworks and SQLServer 2005 for database storage. Apple provides the UIKit for building graphical applications and includes SQLite on the iPhone.

Database Storage

According to an attendee's notes on the presentation, Hoffman noted that Microsoft's SQLServer "requires less hands on coding than SQLite," and that there's "more going on behind the scenes." On the iPhone, SQLite uses SQL query syntax and leaves "object relational mapping up to you. There's no CoreData" on the iPhone as there is in the Mac desktop environment.

Development Frameworks

On the other hand, Hoffman pointed out that while Cocoa Touch presents a consistent view-based controls hierarchy, the Compact Framework "steers you down the wrong path," according to the attendee's notes. Its "double click and code" design results in spaghetti that's hard to reuse, because form and form code are merged together.

Last year, Hoffman described the same principle with regard to their desktop equivalents: Microsoft's Visual Studio does not encourage MVC (Model-view-controller). It's too easy to stick code in views, for example, making development “spaghetti-friendly.” In contrast, Apple's Xcode “bakes in” MVC principles. There is no real choice in doing things in sloppy ways, and “that's a good thing.”

Graphics & Animation

Compact Framework includes DirectX Mobile, a 2D programmable graphics engine that is not easily available to controls. The iPhone uses Quartz 2D, which is available to controls.

CF's Direct3D is extremely low level and not hardware accelerated. Developers must write their own game loop. There is "no compromise between static forms and DirectX."

In contrast, the iPhone uses OpenGL ES. As with Core Animation, everything is a view on OpenGL, and graphics are hardware accelerated on the iPhone.

Different goals for WinCE and the iPhone

The differences between the two reflect different design goals at Apple and Microsoft, Hoffman pointed out. Compact Framework supports tall, wide, and small displays. Windows Mobile devices typically use a stylus and hard buttons versus the iPhone's touch screen. CF controls don't even have a double-click handler, while the iPhone doesn't have or need menus.

Layers of abstraction

Talking about hardware abstraction, Hoffman is reported to have said, "people assume that low level is bad," but described that you "can be close to the metal and write little code."

The iPhone presents a choice of layers to develop at, based on developers' needs, while with Microsoft's Compact Framework, there's "often no choice in layer available."

"If lower layers are bad, adding more layers on top won't help," Hoffman said, according to the attendee's notes. "Compact Framework is built on Windows Mobile, and shares too much in common with Win32." He described the design as a "palace on a trash heap."

Application deployment

Even once a project is finished, Hoffman is said to have pointed out that another big difference between the iPhone and Windows Mobile relates to how developers get their apps in the hands of users.

With Windows Mobile, you build an MSI (Microsoft Installer file) and distribute it to the customer yourself. They register the MSI with desktop ActiveSync, plug in the device and sync over the app. In most cases, they also need to perform an SQL 2005 install, along with an Compact Framework 3.5 install, as that software may not be up to date on the device. Afterward, there are additional steps on device itself required to install it.

The scaled-down computer environment of Windows Mobile devices means users can easily delete components of your apps, breaking them, and requiring extra support to figure out how to reinstall the missing components.

On the iPhone, developers simply build their app and send it to Apple. The iPhone has one source for deployment and shopping, so users are far more likely to find your app. Apple handles the financials, presents users with automatic access to the App Store, provides piracy protection using FairPlay DRM, and manages your marketing.

"Best mobile development platform ever"

Hoffman reportedly summed things up by contrasting Windows Mobile using a "crushed down version of Win32" with an "inconstant user experience," while the "iPhone is the single best mobile development platform ever." According to the attendee's notes, he also said that "writing Mac applications has made my Windows apps better."

Filed under : iPhone 20 Comments ] 
Story topics: iPhone SDK, Microsoft, iPhone 3G, Windows Mobile   Print ] [ Story Link ] 


(13") $1,094.00 (15") $1,579.00 (15") $2,089.00
(13") $1,394.00 (15") $1,799.00 (17") $2,249.00
See more prices in AppleInsider's Mac Price Guide
Mac Poker players can play Full Tilt Poker for Mac and get 100% to $600 free with bonus code MP600, courtesy of Online Poker Mac
AppleInsider Features
Hot Forum Topics

Recent Articles
Countering rumor says Apple and NVIDIA "doing just fine"
Breaking: shot fired, one wounded at Virginia-based Apple Store
First iPhone 3GS jailbreaking tool available for download
iPhone 3GS marked AT&T's "best-ever sales day"
iPhone overheating problems could see aid from new patent
Apple working to fix unreleased iPhone SMS exploit
Pesky Psystar to emerge from Chapter 11 with new Mac offering
Apple looks towards fingerprint-based multi-touch controls
Apple developing "active packaging" for iPods and iPhones
Apple may drop NVIDIA chips in Macs following contract fight
Apple covering all the bases with Mac OS X 10.5.8 betas
University of Florida's PharmD program to require iPod touch
Apple's Mac shipments rebounding sharply in recent weeks
iPhone Software 3.1 to deliver new video and Voice Control features
Apple posts iPhone OS 3.1 beta, SDK with new video extensions
White iPhone 3GS units discoloring from excessive heat
Maine's expanded MacBook program the 'largest of its kind'
Mozilla releases faster, safer, smarter version of Firefox browser
Dell working on pocket-sized Internet gadget
MacBook Air firmware updated to support replacement batteries
Apple sees brief iPhone 3GS shortages; NVIDIA intros CS4 plugins
Steve Jobs returns to work at Apple
Apple, other phone makers agree on standard charger for Europe
Apple posts new Snow Leopard, 10.5.8 seeds
iPhone marketing head goes to VC firm; iTunes breaks records after Jackson death
Briefly: more affordable iMacs from Apple expected by fall
Apple's latest high-end MacBook Air slower than predecessor
Apple's profit margin on Mac minis slimmer than usual
Apple ups stake in iPhone graphics chip designer
Windows 7 priced below Vista, to allow upgrades from XP
Mossberg: New MacBook Pro has best battery life "ever tested"
Apple sued over 'false' iTunes gift card promises
Proof-of-concept ports Leopard's icon stacks to iPhone (video)
iPhone 3GS spurs 400% increase in mobile video uploads to YouTube
Tidbit: Apple naming Leopard point release after ancient gods
Upgrade fee sees few iPod touch users updating to 3.0 software
Apple exploring wireless system for quantifying the unquantifiable
Bogged down AT&T 3G to clear in months; Buffett criticizes Jobs
Apple updates Apple TV, Remote app to allow multi-touch control [u]
Apple undersells, over-delivers on iPhone 3GS speed - report

AppleInsider Market Place

Sell your Laptop - working or not. Free shipping.: Get an instant online quote and sell your laptop today !

Believe in Office: Save Up To 25% on Office 2004 For Mac. Visit Our Site for Details!

IBackup - SMB Online Backup: IBackup is the preferred online storage and backup service of choice for SMBs for its ease of use, security and value. Offers automated backup and restore, file selection and securiy.

Download free software - everyday updated freeware files

 
Advertisements








AppleInsider RSS Feed
AppleInsider © 1997-2008
Please review our Privacy Policy.
Written/Edited/Compiled by the AppleInsider Staff.