Targeting multiple platforms

By: Frederic Harper, February 19, 2013

Creative Commons: http://j.mp/WMvpnz

Creative Commons: http://j.mp/WMvpnz

I hear you, it’s not always easy to create an application on many platforms. You want to build an iOS app, use Objective-C. You want to build a Windows Phone app, use C#. You want to build an Android app, use Java. It’s not an easy process, but there are tools, and ways of doing this that may save you some time.

Think Cloud

Since you want to target multiple platforms, as you know, you’ll have to code with the specific languages, and even tools for each platform. One of the first thing I would suggest is to think about the cloud. Why think about cloud computing? Because you want to limit to a minimum what will be specific to each platform. There is a way for you to put more logic in a common place, and have your application call a service to get, set or create data. The most stuff you can put outside of your application, the less things you have to recreate for each OS.

MVVM

Architecture is key when it comes to code reuse. As an example, if you want to build a Windows 8, and a Windows Phone 8 application, even if they used the same technology, the core is not the same. In that case, a suggestion would be to use the MVVM pattern to maximize the code reuse between the two platforms. In that case, C#, and XAML would be the technology of choice since it’s available on the two OS. For more information on the topic, you can read Alnur Ismail post.

HTML5 for native apps

There are also tools like PhoneGap that can help you build with HTML5, CSS3, and JavaScript to target multiple platforms. At the end, you will get kind of native application on each platform the tool supports. I have to say that I didn’t have the chance to use it yet, but I heard a lot of great things about it. It gives you the opportunity to access features on devices you wouldn’t be able to access with a Web application yet. The only downside of these tools is that you will give the same UI/UX experience on all platforms, so no environment that the user already know (think about all iPhone app, users are expecting a certain behavior, and UI).

Web

Last but not least, there is always the Web path. If you don’t need a native application to do what you need to do, or access any specific features of the devices, the Web is one solution. Of course, many people will tell you that they want their native apps, but in some cases, the Web application is more than enough.

Tagged with: , , , , , , , , , , , , , ,
Posted in Geek Speak

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Avatar of Frederic Harper

Frederic Harper

What people are saying about #webnotwar

Wondering about the next #OpenGov Tour event? @WebNotWar is keeping a list with eventbrite links! webnotwar.ca/OGT14/ #OGT14 #WebNotWar Retweeted by Richard Akerman

Wondering about the next #OpenGov Tour event? @WebNotWar is keeping a list with eventbrite links! webnotwar.ca/OGT14/ #OGT14 #WebNotWar Retweeted by Emmanuel S Abdulai

Wondering about the next #OpenGov Tour event? @WebNotWar is keeping a list with eventbrite links! webnotwar.ca/OGT14/ #OGT14 #WebNotWar Retweeted by Make Web Not War

Wondering about the next #OpenGov Tour event? @WebNotWar is keeping a list with eventbrite links! webnotwar.ca/OGT14/ #OGT14 #WebNotWar

Long time no see, @govkid! #OGT14 is heading your way in September - let's connect soon! webnotwar.ca/ogt14/ @OpenDataAB #webnotwar

+1 "@richardpietro: @6t6qt @WebNotWar @thekeithloo I'd love to see @brucechau doing that lol #OGT14 #WebNotWar"