The top tech­nol­ogy frame­works you can use to build a mo­bile app

APP DEVELOPMENT


The an­swer is that Apps are now a lot more ver­sa­tile and can be used as a value add to a web ser­vice. Think of this in the con­text of your favourite (or least favourite) food or­der­ing ser­vice. The App is just an­other en­try point to the ser­vice. You can ac­cess it via web desk­top, mo­bile, wear­able and smart home de­vices. This is where the value ex­ists. Extending the ser­vice and its ac­ces­si­bil­ity. The core of all of these ser­vices is al­ways web based.

So, if you’re think­ing of build­ing an App, fo­cus on serv­ing the cus­tomers rather than sim­ply build­ing an app. We al­ways ad­vise build­ing web first and val­i­dat­ing through mo­bile re­spon­sive. That way time and money are not un­nec­es­sar­ily in­vested in build­ing to the com­plex­ity of a mo­bile app. For more help­ful in­for­ma­tion, we have pre­vi­ously out­lined the top 10 tips for suc­cess­ful app de­vel­op­ment. So, for this ar­ti­cle, we’ll as­sume that the idea has been val­i­dated and it’s es­sen­tial for the App to be built.

The in­ten­tion is to give a broad overview of the land­scape to en­sure you are aware of the dif­fer­ent frame­works avail­able. To be­gin, there are 2 clear groups that the frame­works fall within.

Native

These are the frame­works de­vel­oped by Apple and Google for their op­er­at­ing sys­tems. These are best used if there is not a link­ing web ser­vice and you know that the mo­bile app is only go­ing to be used on 1 of the 2 plat­forms. The con­se­quence of a na­tive app is that it will need to be com­pletely re-writ­ten to share via the other plat­form. For ex­am­ple an iOS app and an Android app will have sep­a­rate code­bases. The two main na­tive frame­works are:

XCode and Swift UI

This is the lat­est of­fer­ing from Apple. Xcode is the in­te­grated de­vel­op­ment en­vi­ron­ment pro­vided by Apple. This is best utilised if you are cre­at­ing an App that is only to be con­sumed within the Apple ecosys­tem. It also al­lows you to de­velop across Apple’s de­vice ecosys­tem. If you know you’re just tar­get­ing Apple users you can cre­ate an app for Apple TV, WatchOS, iOS, Ipad OS and Apple’s desk­top op­er­at­ing sys­tem OSX.

Android Studio

Similarly, this is Google’s multi-plat­form de­vel­op­ment of­fer­ing within their ecosys­tem. These frame­works are pre­dom­i­nantly Java-based. It is good for game de­vel­op­ment and cre­at­ing seam­less ser­vices that work be­tween the dif­fer­ent Google op­er­at­ing sys­tems.

These frame­works are good within their own con­texts and pro­vide na­tive func­tion­al­ity that is oth­er­wise un­avail­able in hy­brid frame­works. Keeping in mind, you will need to have the re­sources to de­velop and main­tain mul­ti­ple code­bases. Also, both Google and Apple are con­stantly low­er­ing the bar­rier to en­try so you can make some­thing with less and less de­vel­op­ment ex­pe­ri­ence. However you will need to learn their in­di­vid­ual frame­works.

Hybrid

The Hybrid frame­works were born from the need to de­velop once and de­ploy to both iOS and Android. These frame­works take a web-first ap­proach that wraps the web user in­ter­face into a na­tive pack­age. The end users do not know the dif­fer­ence when down­load­ing from the App stores. Traditionally Hybrid frame­works were a lit­tle slower, did­n’t work well of­fline and spent a lot of time sync­ing to the web server to store data. This gave them a bad rep­u­ta­tion. However, in re­cent years, these frame­works have ad­vanced sig­nif­i­cantly. As dis­cussed ear­lier they are best used link­ing to a web ser­vice to pro­vide a mo­bile ex­pe­ri­ence. If you are want­ing to cre­ate a game we would rec­om­mend a na­tive frame­work.

Three of the most pop­u­lar hy­brid frame­works are:

Xamarin

Based on the C# lan­guage and now owned by Microsoft, Xamarin was pre­vi­ously a paid tool and a fairly safe bet, even though Microsoft is the third-place loser in the mo­bile op­er­at­ing sys­tem wars. Microsoft has moved Xamarin to be open source. Xamarin is best used for en­ter­prise ap­pli­ca­tions. It has the best per­for­mance of the hy­brid frame­works on the de­vice but takes longer to de­liver ap­pli­ca­tions (due to a larger amount of cus­tom code).

Apache Cordova (Phone Gap)

Started as Adobe Phone Gap be­fore Adobe re­leased it to the open-source com­mu­nity. Phone Gap used Javascript and HTML 5. This im­proves the de­vel­op­ment speed, its ac­ces­si­bil­ity and it has a sup­port base in the open-source com­mu­nity. Whilst its on de­vice per­for­mance may not be quite as good as Xamarin it is sig­nif­i­cantly faster to de­velop and usu­ally slightly more up to date with the na­tive plat­form or web fea­tures.

React Native

Developed by Facebook and now open source since 2015. This makes it a fairly new frame­work com­pared to Xamarin and Cordova. The main ad­van­tage of React Native is that it takes care of ren­der­ing the views into a na­tive ex­pe­ri­ence for de­vel­op­ers. This makes it faster to de­velop and it also has a lot of third-party in­te­gra­tions avail­able (just like Facebook).

There used to be a sig­nif­i­cant risk in choos­ing to de­velop hy­brid over na­tive as there was a con­cern that Apple would pre­vent hy­brid apps from be­ing re­leased to their App store. This seems to have sig­nif­i­cantly di­min­ished but, the truth of hy­brid is that it is a third party. This means they will al­ways be a lit­tle be­hind in terms of avail­able fea­tures and per­for­mance.

In con­clu­sion, our rec­om­men­da­tion would be to take a hy­brid ap­proach un­less you are cre­at­ing a game or you need to lever­age na­tive func­tion­al­ity. When it comes down to pick­ing a hy­brid frame­work there is no clear win­ner and it de­pends on the ex­pe­ri­ence of your de­vel­op­ment team, the in­te­gra­tions re­quired or any ex­ist­ing sys­tems you may need to in­ter­face with. Again, our rec­om­men­da­tion though is to al­ways save time and fo­cus on the peo­ple soft­ware fit of a new ap­pli­ca­tion by de­vel­op­ing web mo­bile re­spon­sive first. Using the hy­brid frame­works you can al­ways turn these into mo­bile apps when the need is there.

Discover Software
Secrets

ABOUT THE AUTHOR

David Burkett

Growth en­thu­si­ast and res­i­dent pom

Get cu­rated con­tent on soft­ware de­vel­op­ment, straight to your in­box.

Migration vs Rebuild

12 November 2018

How does end of life soft­ware im­pact you?

10 November 2020

What Are the Top CRM APIs?

Your vi­sion,

our ex­per­tise

Book a con­sul­ta­tion