Creating Mobile Apps is a Pain
I developed for Trimble products using Windows CE for some time using Embedded Visual Basic and C++. The devices were buggy, the development tools were buggy, and documentation was almost nonexistent.
Times have changed. Now there are dozens or hundreds of devices to develop for – and each of them has unique requirements.
The Choice is Between Mobile App and Mobile-device Website
Mobile app versus mobile web
A big question to consider before you start development is if you should make a mobile application in the first place. In some cases, it might make sense to skip the mobile application and instead develop for the browser. Here are some points that might help you decide:
Reasons to build a mobile app
- Your application needs access to one or more native APIs (such as the camera, accelerometer, and so on).
- You want the application’s icon to appear on the home screen of the mobile device.
- Your application needs to be available offline.
- You want to monetize your application by making it available in an app store or market.
Reasons to build a mobile website
- You do not want to go through the App Store submission process.
- You would rather have your users use their browser instead of downloading an application.
- Some device browsers have better functionality than the webviews.
Combine your web skills with PhoneGap to build mobile apps
- Accelerometer enables you to track the relative motion of the physical device
- Camera provides full support for both taking pictures and working with existing pictures
- Capture helps you capture both audio and video
- Compass allows you to tap into the compass of the device
- Connection tells you if the device is connected and how it is connected
- Contacts offers full support for searching the user’s contact database as well as adding new contacts
- Device provides basic information about the device, including the device’s operating system
- Events detects various device-specific events, including resume, and is useful when a phone call interrupts your application
- File delivers basic file read and write operations for the device
- Geolocation tracks where the device is
- Media provides basic audio playback features
- Notification offers a richer notification system than the basic alerts and confirmation screens most mobile browsers provide
- Storage provides access to a SQLite database for your application and provides much richer support for data storage