.Keys: Also about the ".clone" which, according to the video, is an easy but costly escape from ownership "problems".
dtgreene: There are types that are reference counted, and all cloning them does is increment a reference count and copy a pointer. Rc and Arc are examples of this, and they do solve ownership problems if you don't need mutation. (If you *do* need mutation, you can get it via interior mutability, via Cell, RefCell, Mutex, or RwLock. Or UnsafeCell, if you really know what you're doing and are comfortable with unsafe code.)
Thanks! Will write this down for future reference.
dnovraD: I'm not sure about porting rust applications to mobile. (Especially not Apple), but for many other applications, sure. Remember, Apple makes you pay though the nose for every last bloody step of developing for them.
ICED might be your best bet for getting things done in terms of GUI, it's what COSMIC is building their desktop on.
Im not familiar with developing for iOS at all.
Can't we develop custom "apks", like on Android, for personal use and distribution for close people only that use iPhone?
The app I intend to do is for a group of musicians I play with, so its nothing "commercial". Just a little tool that matches our use case.
I know I can do something like this quite easily for Android, but one of the musicians uses an iPhone, so I'd need to develop for them too.
By what I know, anyway, the only thing you need is a digital signature or something, but the app can be fully open sourced and even uploaded to F-Droid, following certain guidelines, right?
Also, about Iced, people all over the internet praise it, but it feels a bit complicated to understand.
Slint is easier for someone learning Rust, but I will still decide what to do when the time comes.
Thanks for the tips too.
dnovraD: For what purpose do you intend to use this for?
Timboli: That is indeed the most important question to ask.
No harm, and possible great benefit though, from learning another language anyway.
If I was younger, I'd maybe learn a few other languages. As I'm not, and are happy using AutoIt 99% of the time, I will just continue to do that.
If I was younger, I would probably focus on creating Android Apps.
Yup.
.Keys: A Web-Based wouldn't work for me. Dart apparently is based on this. Plus I personally dislike the idea of making everything Material UI (it seems to be the selling point of Flutter? Sorry if its not.) and bloated because of "multiplatform".
One thing that works everywhere, in my experience, is not optimized anywhere, except when is really possible to optimze anywhere with some ease, or the language itself is well optimized already...
Well, truth is, I really want performance above all else.
If you can optimize it to everywhere specifically, then its ok.
But then there's this data about Dart x Rust through some benchmarks:
brouer: Yeah, Dart is not going to compete with Rust for pure performance.
Do you mean you want to maximize performance everywhere? Including the UI?
That would mean building a Java/Kotlin layer for Android's UI, Swift for iOS, and probably using something like wxWidgets for Desktop.
Then you could build the shared code in Rust if you like.
I would still consider using Flutter for the UI. At least on mobile. It's pretty performant actually. Heaps better than Electron, Tauri and Cordova.
If iOS is a major focus for you, doing the shared stuff in Swift too is also worth consideration. It's a really nice and pragmatic language.
If a slight hit in performance is acceptable, also check out C# for cross platform development.
IMHO, for someone not already used to Rust, choosing it for mobile should only be considered if you are specifically interested in learning Rust (which is a fine goal in itself) rather than just Getting Stuff Done™.
Thank you very much for the valuable insights.
As explained above when quoting Darvond, nope, iOS is not a major focus, as most friends that would use it are Android users.
Will still decide what to do.