Blog Archives

Developing for Mobile Devices: Websites, Apps and Hybrids with Sebastian Villa

Mobile development is no longer something entrepreneurs can ignore. Last year, cellphone sales surpassed desktop computer sales for the first time. There are now 3.4 billion mobile devices in use. Every minute, people share over 100,000 tweets, 700,000 Facebook posts and 40 hours of YouTube video; and most of this is now consumed on mobile devices, not computers. As Christina Warren put it in Mashable back in 2012: “Having a mobile strategy shifted from ‘nice to have’ to ‘must have’ for all businesses.”

There are two main ways of delivering content to mobile devices: websites and apps. Websites are accessed through a web browser. The advantage of a website is that it is built in a universal language (HTML) that can be accessed on any platform, including both mobile devices and PCs.

Websites therefore are relatively easy to develop and open by default to a large base of users. Sebastian points out that the disadvantage is that the user must know where to go—to download the content each time they want to use it.

Native mobile applications are made for a specific proprietary platform and downloaded from an app such as Google Play or the Apple App Store. They have the advantages of being tailored to the chosen device, which tends to make them better for unusual or process ­intensive apps. They are also easy to find from the app store and are readily available at any time, once they are downloaded. Unfortunately, a native app can be a lot more difficult to develop, since things like the user interface may need to be developed from scratch, and is only useful in the platform for which it is developed. Porting an app to additional platforms involves even more time and money.

There is a third option, which offers the best of both worlds, to some extent: hybrid apps. Hybrid mobile apps use a third-­party platform to create a ‘wrapper’: a container for code like HTML or Javascript. Effectively, this acts like a translator: development uses only a single set of code, just like a website, but the app can be downloaded from an app store (both the App Store and Google Play allow hybrids) and will run on multiple devices as if it were native by translating the app into the native code and interface. This makes app development more like developing a website, which is less labour ­intensive, easier to update, and available for all kinds of platforms.

There are several ways to create hybrid apps. Phone gap is an open source programme that translates web code on the fly. Adobe is also developing a more advanced proprietary version. Titanium, on the other hand, is used to build apps out of HTML or Javascript. For games, which tend to place more demand on a device’s hardware, there are Unity and Corona. Unity is better suited for 3D or other hardware ­intensive games, and it allows developers to publish different versions for mobile devices; i.e., for the web (if the user has a Unity plugin) and for PCs. Corona is well suited to simple 2D games like Angry Birds. Corona allows developers to publish for multiple platforms with code that is easy to test and maintain.

The main disadvantage of hybrid apps is performance. The need to translate code means that hybrids tend to make less efficient use of a device’s hardware. If an app will be especially hardware ­intensive, it is better to make it native.

When developing for mobile devices, one size does not fit all. The decision to use a website, native app, or hybrid should not be based on what developers are most comfortable with, but on what is best for the project. For example: prototyping in HTML is a false economy if you know it will need to be made native later. Instead, developers and entrepreneurs should make decisions based on the project’s long ­term goals and needs.

Video: Why to use mobile apps

Video: What is programming language

Video: Hybrid Apps

Video: Platforms


Ontario Media Development Corporation   MEIC-square-logo    _logo-COLOR

%d bloggers like this: