fschutt / azul

Desktop GUI Framework
https://azul.rs/
Mozilla Public License 2.0
5.88k stars 219 forks source link

Android and iOS support #81

Open jgall opened 5 years ago

jgall commented 5 years ago

Hello! I love the way Azul is designed and tested out writing some apps using it on my own Github recently. Are there any plans to support building Azul apps for Android or iOS?

Perhaps this question would be better suited to being asked of Winit or Glium as those supporting iOS and Android would probably be a prerequisite at the moment I suppose? Although I don't envision either of those wanting to dive into the app lifecycle of either platform. Those decisions seem out of scope for those projects.

Just wanted to bring this up in an issue because I couldn't find any other issues referencing this! Thanks!

fschutt commented 5 years ago

Well, mobile support is probably not even planned for at least the next few years, sorry. The difference between desktop and mobile is that mobile has a lot of competition in the GUI space. On the desktop, you pretty much have Qt and Gtk and that's it, on phones you have a lot more frameworks (in other languages) for building cross-platform mobile apps. Plus, mobile (esp. iOS users) care a lot about native looks and styling, which take a lot of time and resources to implement, extra code for detecting gestures.

It's also hard to integrate winit with the JNI for Android (can't find the issue anymore), plus there are lots of differences between desktop OpenGL and OpenGL ES, see https://github.com/tomaka/glutin/issues/861 or any of the issues here: https://github.com/tomaka/android-rs-glue/issues - it's just that there is very little interest in mobile, Rust itself has rather poor ARM support if I recall correctly, etc. etc.

Touch support (for tablet PCs) may be an option in the more intermediate future - I am completely unsure as to how good the touch support of azul is, I can however at least test it, since I do have a Windows tablet.

Yes, azul may technically build on mobile, but I would absolutely not use it to try and develop a mobile app. Its main purpose is to resolve the (currently quite awful) situation of desktop frameworks. Mobile is just too huge of an effort with very little payoff, a large amount of bugs and a lot of already-existing frameworks. It's possible, but not feasible.

itsfarseen commented 5 years ago

Its main purpose is to resolve the (currently quite awful) situation of desktop frameworks.

+1

bernardodesousa commented 4 years ago

It is a use case to consider, thou, isn't it? Imagine if...

Developer: thinks about the user experience, interactions, the way the app looks, the way the data flows; Azul (or some higher level rust framework using Azul and other things): builds for Linux, Windows, Android, iOS, MacOS and the browser.

That would be sweet!