This page summarizes the known differences between the most popular mobile platform development options.
Evaluation Criteria
- Learning Curve is based on interviews and discussions with developers
- Mobile Integrated Development Environment is based on the availability of
- Code Completion
- Invalid Syntax Highlighting
- Syntax Highlighting
- Syntax Analysis
- Refactoring
- Debugging
- Emulator is based on availability and integration with development emulation options
- Low-Level access includes the capability of accessing various forms of mobile device functionality
- 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