Development costs for the different platforms are comparable. Choosing two platforms therefore doubles the costs.
For iPhone and iPad
For devices of Samsung, Sony, LG.., etc
For devices of Nokia, Microsoft.., etc
The cost is directly related to the quality. Highly successful apps are often of a high quality.
Most things work but the app isn't very attractive and crashes every now and then. There's almost no documentation and code quality is bad.
Everything works and the app's interface conforms to the usual conventions. The code is solid and the documentation sufficient.
Everything works perfectly and quickly. The app is nice to look at and has great usability. The code is modern and clean; the documentation complete and easy to understand.
Number of Screens
The number of different views is a good indicator for the total app size and is used as base value for calculation. Example: An app with an overview, a list view and a detail view would require 3 screens. A typical value for an average app would be 10.
Using the system-provided controls is the easiest way. Apps that don't exactly follow the platform's design standards require custom controls
One device type
Smartphone and Tablet
Landscape and Portrait
If your app handles sensitive information, all aspects of your app are influenced by security considerations.
Supported OS versions
Supporting more OS versions increases the potential user base but increases the costs for development and maintenance
Only the most recent version is supported (coverage of ~40%)
Besides the most recent version, the previous one is supported as well (default; coverage of ~75%).
The most recent and the two previous versions are supported (coverage of ~90%).
Number of Languages/Regions
Packaging, Signing, Preflight, Submission, Release
Packaging, Signing and preparations to distribute internally
Receive, display and process notifications, even if the app is not running
Write and read protected information/passwords in the keychain
Recording and collecting user behavior
Display one or more websites directly in the app with custom navigation
Display a map view with pins and annotations
Trigger functionality if the user enters a defined geographical region
Write, read and filter large amounts of data directly on the device
Interface to server
Submit/receive data via internet
Using URL schemes or Intents to communicate between apps
Connect to external devices via Bluetooth/BLE
Integrate GameCenter; network and ladder functionality
Photo, video and graphics
Capture photos or video
Display three-dimensional content/animations
Creation/implementation of image recognition algorithms (faces, objects, ...)
Custom keyboard for the input of predefined sequences or with custom characters or functionality