2 ms·
No, not really. I mean it can be, but in practice the level of complexity is pretty similar to something like Objective-C or Swift (or, I assume, C++, although
by veidr 2y ago
No, not really. I mean it can be, but in practice the level of complexity is pretty similar to something like Objective-C or Swift (or, I assume, C++, although I haven't used C++ much).
I'm taking about the "back end" for a desktop native app here.
For the frontend end Dioxus presents a DSL that, while Rust-based, isn't really harder to learn than JSX or Angular's templates.
I've only done a couple small Dioxus apps so far, so I am not an expert, but one immediately clear difference compared to a TypeScript SPA web app is you really do much less in the frontend. Even really simple things that you could do in JavaScript in an SPA, you turn into a call to the backend (native portion of the app).
I think you're right that Dioxus wouldn't be the best choice for most organizations building a web app only, but the appeal is more like "more efficient and performant Electron, that can also produce a web-based version of the app easily".
Covering Windows, macOS, Linux, iOS, Android and web as target platforms for a single code base is a grail that nobody has quite nailed yet. Flutter's web story sucks, and desktop support is weaker than mobile. React Native has big differences between target platforms. I mean, there are a bunch of attempts to solve this problem, and they all have had big shortcomings in some areas.
Dioxus might, too — I personally don't know, I've never tried its mobile stuff — but it's interesting on that basis.