Cross-platform mobile development frameworks?

Soldato
Joined
24 Dec 2002
Posts
3,551
The company I'm due to start work with soon currently has a mobile development team and apparently they develop apps natively on each platform; the way it was described to me sounded like the code for both (all?) platforms was written simultaneously by a developer. Sounds like hell to me.

I've not done mobile development in any serious fashion (had a small play around with Android) but I'm aware of multiple cross-platform mobile development frameworks/tools. These generally seem to be a web stack set of languages. To the uninitiated, this would seem to have a serious impact on what you can achieve - but some have a pretty good rep, while acknowledging that they're not "there yet".

Does anyone here have experience of development in multiple mobile platforms - and how do you do it? Keeping in mind, these applications are for a world wide brand that everyone here will have heard of, if not used, and security and connectivity is a serious issue.
 
I'd never heard of Xamarin before. I checked them out, great idea. However, don't you think its a little ironic that on their Pricing page, the text is over layed on top of each other (IE11) but on Edge it's fine.
Just saying :)
 
Last time I tried Xamarin it was a complete mess. (6 months ago)

Native apps > cross platform.

Give a bit of context... What were you trying to do and what issues did you encounter?

We've got an app that tackles web services, camera, gallery, GPS, mapping, signatures and dB (displaying lists with 1000s of items). No issues on iOS, android or Windows phone.
 
Sounds like a job for Xamarin!
This is interesting, I'd not heard of this before. Writing in C# is far more appealing than web languages.

As long as the products are the same and offer the same functionality i'd choose native over cross platform as long as dev costs aren't an issue.

Aren't dev costs always an issue really? What about code duplicity, maintenance, testing etc. The more duplicate effort there is, the more opportunity for bugs - and the more redundancy in effort.

I'm really after reasons why people see writing the same thing twice for different platforms as preferable to something like Xamarin? Where are the current pitfalls - are they really so huge as to actually make writing the same thing N time preferable? What about in companies where you have an Android team and a iOS team, so they write the same thing completely independently (and thus completely different code bases and solutions to produce the same thing)?
 
One of the issues I find with the "build it once for multiple platforms" idea is that it rarely takes in to account the nuances of each platforms UI/UX principles. You can end up with an app that feels designed for an alternate platform.
 
Cordova works okay if you already have a web application and don't require much access to Native APIs/don't have stringent UX requirements.

I've spent the past 2 years working with Appcelerator Titanium. It fulfils its purpose but the development workflow is horrible (rebuild on every change), APIs are often outdated and the whole idea of trying to find parity between every mobile platform simply doesn't work which means functionality suffers. It basically has a proxy between the JS runtime and the native platform which works well but presents it's own performance issues.

In the past 4 months I've made the move to React Native. The 'flux' way of thinking about data is ingenious (albeit mind bending), you have the benefit of hot reloading, plus Facebook are using it in production and it has gained a lot of traction in the open source community.

Xamarin still requires UI to be written independently for each platform. I can see why it works in a corporate environment but it just doesn't suit my employer's use cases.

I'm now a huge fan of React and use it in many production projects. IMO, if built well, performance and UX doesn't suffer in comparison to a native application.

https://facebook.github.io/react-native/
 
Last time I tried Xamarin it was a complete mess. (6 months ago)

Native apps > cross platform.

This, it just doesn't work. Our company has tried it several times over the last year and it's just junk

We have created a common library in C with all shared code and just wrap the interface on top of that for each platform.
 
I used Cordova a fair bit a few years ago at work. It's alright for what it is (and has come a long way, although that's mostly due to web content standards) - but it requires a very detailed knowledge of web technologies (particularly optimisation) to get anything approaching a native-like experience.

It's decent for getting something on the store quickly and cross-platform, but it will be obvious to anyone vaguely tech-savvy that it's not a "real" app.

React-native is the next thing on my radar and what I would choose if tasked with a similar project today.
 
Clearly been necrobumped by the spam above but out of interest, is anyone doing cross platform mobile dev on here?

We've tried Kotlin multiplatform for sharing some busienss logic which we didn't want to recreate across iOS and Android, personally think that only sharing business logic is the right way forward with Native UI on top, but interested to hear others experiences.
 
I've created one app, it was done in Flutter which is cross platform even though its made by Google. Android studio does the hard work to make it work in Xcode.

It's basically similar to React style language to build stuff. You can make simple pages very quickly.
Something I will look further into expand my portfolio of skills.
 
Back
Top Bottom