As a software developer, I try to keep on top of the direction software is moving. I have a particular interest in the increase in popularity of “web apps”. These applications are built using modern web browser technologies such as HTML5 and CSS3, and are designed to run directly in your browser of choice.
The benefit of targeting web browsers as a platform is clear; all of your devices – whether they’re an iPad, an Android phone, a desktop, or anything in between – provide a web browser right out of the box. This means that users don’t need to install any extra software to utilise your application; the functionality already exists in the browser.
A lot of companies have been adopting this approach in a wide variety of ways:
- Dropbox, while still retaining their desktop application, provide a full interface to their services via their website
- Kuler, from Adobe, provides a colour scheme generator directly in the browser
- Spotify, originally a desktop application, now provide a web-based alternative that can be accessed via modern web browsers
Another benefit of targeting the browser is from a development perspective; because the technologies used by web browsers are all very similar, development can take a write-once-run-anywhere approach. Contrast this to the development of a native application, which would require the production of separate versions of the application for PC, Mac, and if mobile devices are a target: iOS, Android, and maybe other systems as well! You can see how this quickly snowballs into a lot of effort and required knowledge.
Unfortunately, while the accessibility of web applications from the whole spectrum of devices is desirable, it can often be problematic. Some applications require specific control of or access to aspects of the device only available to native applications, such as the file/folder access required by Dropbox, or access to the camera of a mobile device.
Web browsers on mobile devices are still not as performant as native apps, as was discovered by Facebook. Following many complaints about the “sluggish” feel of their web application, they decided to focus their development efforts on a native iOS app.
On the other hand, a hybrid approach often works well, providing a web application for the majority of functionality, or where performance is not an issue, while supplementing it with a native application to leverage the additional features and raw power of the device.
Does your business have a requirement for an application that can be accessed from any device? Get in touch with us with your requirements.