Mobile app development

This is an old revision of this page, as edited by Benjaminhill (talk | contribs) at 17:37, 23 February 2006 (Evaluation Criteria). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This page summarizes the known differences between the most popular mobile platform development options.

Evaluation Criteria

  1. Learning Curve is based on interviews and discussions with developers
  2. Mobile Integrated Development Environment is based on the availability of
    • Code Completion
    • Invalid Syntax Highlighting
    • Syntax Highlighting
    • Syntax Analysis
    • Refactoring
    • Debugging
  1. Emulator is based on availability and integration with development emulation options
  2. Low-Level access includes the capability of accessing various forms of mobile device functionality
  3. Crippled Providers includes mobile device carriers that reduce functionality provided by the device hardware

Mobile Development Comparison

Symbian J2ME Python Flash Lite .Net Compact Web Browser Based
Foundation C++ Java Python ActionScript C#, VB.NET, Managed C++ XHTML (WAP 2.0), WML (WAP 1.2)
Application Development
Learning Curve Challenging Excellent Excellent Average Excellent Varies by server scripting language
Debugging Unknown Excellent Average Unknown Excellent Good
Emulator Free Emulator Free Emulator Add-on to Nokia Emulator Unknown Windows Mobile 5can be integrated with IDE Many
Integrated Development Environment Many choices Eclipse, NetBeans Mobility Pack Several Macromedia Flash MX Visual Studio 2005 Many
Cross-Platform Deployment Compile per target Excellent Limited to Nokia Series60 FlashLite 2: Nokia Only Windows Pocket PC Excellent
Development Tool Cost Varies Free Free Requires Application Requires Application Free
Capabilities
Graphical Interface Unknown 2D, 3D graphics, Many widgets, Visual Form-Based GUI Builder 2D Graphics access, some simple widgets 2D graphics, Many widgets 2D graphics, Many widgets, Visual Form-Based GUI Builder Unknown
Functionality No restrictions No high-resolution pictures, No Cell ID, limited file access Partial thorugh API: High resolution pictures, Cell ID Unknown Limited audio access Isolated to browser
Phone Data Access Full Unknown Partial through API: Calendar, Contact List Unknown Full None
Runtime Speed Best (Native) Average Below Average Unknown Below Average Average
Crippled Providers Unknown Yes - (Unknown) Unknown Unknown None known Dependent on data access plan
Market Range
Developer Community and Support Extensive Extensive Recent Unknown MSDN Extensive
Market Penetration Extensive Extensive (also the basis of the Danger Sidekick Platform) None (Recently Launched) Average Average Extensive
Installer Packaging Options SIS deployment Jad/Jar packaging Requires Python Runtime installed Unknown CAB Files N/A
Results
Ideal for speed-critial applications with a long timeline and options for significant development investment. Ideal for an all-around solution, if the J2ME platform provides the needed functionality Ideal for for initial prototyping and concept testing when functionaluty falls outside J2ME, and easier to get started with than Symbian Ideal for Graphics-heavy options with a market that can support the FlashLite player Ideal for deployment on homogenious Pocket-PC devices Ideal for lightweight functionality, a web-interface for an existing application with no latency concerns, or a widely varying platform base

Resources

Please see the linked pages for resources for the specific development platforms