Hacker News new | ask | show | jobs
by IshKebab 2507 days ago
The biggest advantage is easy GUI creation, especially with animations and custom styling. Stuff that you can do with Flutter is basically impossible with native Android. You also don't have to deal with the insanity of Activities and Fragments.

Qt is pretty good, and QML has decent animation support but I think their mobile implementation is still very alpha, and since being acquired (again) they've kind of refocused on embedded devices like cars where they actually make money. Also it's not free. And QML is a bit less elegant than Flutter. It practically forces you to write spaghetti code.

I don't know how you'd use "C++ with native views" on Android, and I've only heard bad things about Xamarin Native.

1 comments

The same way that Dropbox, Microsoft and plenty of other companies do.

You use a JNI generator and follow the so called hamburger architecture.

Microsoft and Dropbox have several sessions done at CppCon.

You're going to have to provide a link because "hamburger architecture" returns no relevant search results and I still don't know how you mean to make an Android GUI in C++. Unless you mean you write your core logic in C++ and your GUI with Java and link them via JNI?

That still means you have to write the GUI again for every platform, and you still have to use the Android API which is a very awkward system to make GUIs with (animation is extremely difficult, Activity and Fragment lifecycles are very complicated, etc).

I did provide the information for it, Dropbox and Microsoft talks at CppCon, easy with some Google fu.

CppCon 2014: Zaika Antoun "Microsoft w/ C++ to Deliver Office Across Different Platforms, Part I"

https://www.youtube.com/watch?v=3HROqnw-nf4

CppCon 2014: Zaika Antoun "Microsoft w/ C++ to Deliver Office Across Different Platforms, Part II"

https://www.youtube.com/watch?v=MGMoRu5yrVc

CppCon 2015: Jacob Potter & Andrew Twyman “Bridging Languages Cross-Platform..."

https://www.youtube.com/watch?v=K-k-axW2utc

CppCon 2017: Stephen Spann “Cross-Platform Apps with Dropbox’s Djinni...”

https://www.youtube.com/watch?v=ssqhz_1pPI4

CppCon 2014: T. Grue & S. Kabbes "A Deep Dive into 2 Cross-Platform Mobile Apps Written in C++"

https://www.youtube.com/watch?v=5AZMEm3rZ2Y

Naturally the native UI has to be used.

Are we talking about having a good user experience here, or having the easy lazy path for the developer?