Twitter LinkedIn

Cross Platform App Development

  • By 3chillies
3chillies

I’m a big fan of native mobile apps. In my opinion, to create a native app which provides a great user experience the app should:

1. Take advantage of all the device features
2. Adhere to the platform UI guidelines and match the platform “look & feel”
3. Be fast, responsive and reactive

These three key areas are particularly important for app development so that your audience get exactly what they expect. For example, Windows Phone and Windows 8 have Live Tiles, so users expect these features as standard from any Windows app, iOS users expect some sort of iCloud integration and Android allow pin widgets to provide useful information in the main screen.

However, developing a native app for each of the current mobile platforms can mean that a lot of time is spent utilising a team of a highly skilled people for each platform. To the customer, all of this means “money”, for product managers it means “time”, and for me, as a developer, it means “more bugs to fix and more code to maintain”!  

Nevertheless, there are some approaches to solve this issue.

The web-based cross-platform solution is a good idea: you write the logic and the user interface once, and at the press of a button you are presented with your app in different formats, ready to upload to the different app stores. But attempting to provide the same user interface and UX to all the apps can’t provide the best experience for the users.

Wouldn’t it be wonderful if a mix of both worlds were available, where a single solution could generate reusable logic which could easily be given a final “native” touch?


our APPROACH TO CROSS PLATFORM DEVELOPMENT


3chillies is a highly specialised .NET team, with years of experience developing apps, websites and custom solutions using Microsoft tools. So we wanted to reuse our vast knowledgebase and current skills to target new platforms like Android and iOS.

Several techniques such as using Portable Class Libraries (PCL), shared projects, follow a MVVM architecture or hosting the app services in the cloud certainly help to create great cross-platform apps, and whilst those features present a major advancement, they aren’t a silver bullet solution.

Using tools such as Visual Studio, Xamarin, and our experience and knowledge in C#, 3chillies have developed a reusable, well tested and scalable business logic across the several apps we have developed.  

 

App Graph

The “native” touch ensures the flawless operation of any App across each platform, so it is crucially important to understand the complexities of each platform. Our “native” touch adapts the User Interface and the User Experience and allows us to utilise platform specific capabilities, such as Live Tiles, iCloud, Push Notifications or any other existing or future functionality.

Speaking from our experience, we have found that roughly 80% of the code is reusable between the different apps, whilst the remaining 20% is “platform specific” logic.

Shared App Logic

So it’s clear to see that big cost savings can be made from employing such an approach towards App development. It also results in much faster development cycles, meaning that the App reaches the store much quicker, and these two things lead to a very happy customer. Furthermore, my managers are happy because they don’t need to spend additional time project managing and planning each development, and I’m happy because I can reuse all my C# skills to maximise productivity.

scroll back to the top of the current web page