[HN Gopher] Crux: Cross-platform app development in Rust
       ___________________________________________________________________
        
       Crux: Cross-platform app development in Rust
        
       Author : homarp
       Score  : 39 points
       Date   : 2023-09-28 20:13 UTC (2 hours ago)
        
 (HTM) web link (redbadger.github.io)
 (TXT) w3m dump (redbadger.github.io)
        
       | cmrdporcupine wrote:
       | It would be interesting to see, in a real world app developed
       | this way, how much weight is actually being carried by the Rust
       | portion. I feel like it might not be much? The few times in my
       | career that I've ended up doing UI development, the code and
       | complexity was in the presentation layer, not in events or model
       | or business logic.
       | 
       | And while can see the advantage of having a crossplatform layer
       | for that stuff.. even as a fulltime Rust developer, I don't
       | really see the advantage of using Rust for it vs, say,
       | TypeScript.
       | 
       | But I'm willing to be convinced.
        
         | andrekandre wrote:
         | > The few times in my career that I've ended up doing UI
         | development, the code and complexity was in the presentation
         | layer, not in events or model or business logic.
         | 
         | its true, though it doesn't necessarily have to be that way
         | (view models (or even bff) if done properly)
         | 
         | speaking from experience, i think the big issue is how will
         | your dev team be structured... will android/ios people be able
         | to write idiomatic rust (or whatever language) or should that
         | core be a completely separate team? now you cant just hire any
         | dev, they need to understand how it's going to be used by
         | multiple client languages specific to that cross-platform
         | system
         | 
         | though this framework looks like its pre-baking the
         | architecture which means it probably wont look idiomatic from
         | the client-side, so now your hiring for ui needs to take that
         | into account... and now you have multiple teams that need to
         | communicate adding overhead.
         | 
         | using cross-platform sounds simple and easy in the beginning
         | but its a big commitment with multiple facets
         | 
         | i'm not sure what the real answer is... my guess is "it
         | depends: what are you actually trying to do?"
        
         | mdgrech23 wrote:
         | This is a good point. I remember about 2005 time frame and
         | probably even after everyone thought the front end was easy and
         | the "real" work was on the server. What a joke.
        
       | Klonoar wrote:
       | This is your friendly reminder that Spotify went out of their way
       | to write a networking library that wraps platform specific
       | network libraries since iOS will have special-ish behaviors that
       | you lose if you aren't using their stack.
       | 
       | I am the biggest proponent of Rust where possible but I always
       | feel like this is worth mentioning when people bring up moving
       | all shared logic for mobile platforms to Rust. It would be great
       | to see it reqwest/ureq/etc could have a feature flag to use these
       | behind the scenes:
       | 
       | https://github.com/nativeformat/NFHTTP
       | 
       | Also: if anybody from Spotify is reading I would love to know why
       | it's discontinued and passed to community maintenance.
       | Alternatively, if someone from e.g Apple would weigh in on how
       | much this still matters it would also be welcome.
        
       | lainga wrote:
       | Just to clarify, does "cross-platform" in this case mean only
       | {iOS, Android, Web}?
        
         | Aerbil313 wrote:
         | Apparently yes. But we have installable PWAs, so...
        
       | Aerbil313 wrote:
       | I'm not convinced that this is a better approach than using
       | Svelte 5 + Tauri. Web is here to stay and I'd rather not learn
       | Swift and Kotlin. I know they say the native UI layer will be as
       | thin as it can get but it still necessitates knowing those 2
       | langs.
        
       ___________________________________________________________________
       (page generated 2023-09-28 23:00 UTC)