tef
@tef

the first opinion i have should come as no surprise: i hate using electron apps, or browser based applications. the big reason? they never work offline, they rarely work on an intermittent or slow connection, and god help you if you're on a metered internet connection.

it's easy to label the problem as "the app is too much like a web browser", but in some ways, they aren't browser-like enough. they don't cache anything. you can't just type in a url. you can't even override the css, or turn some feature off with adblock. sometimes it feels like using a regular browser + webapp is an improvement.

even so, a real browser wouldn't change much. the underlying application is still a thin client to some service elsewhere. instead of offering a protocol, allowing users to customise or control their experience, people build thin applications that don't work offline. i can't really blame them for it, building an app to work offline is not just a matter of slapping in "from replication import sync"

in other words: I don't hate electron apps, I just hate what they're used to build, and i wish people would stop doing it.

which brings me to my second opinion: browser based applications are by far and wide the easiest way write cross platform software, online or offline, and i wish people did more of it.


cactus
@cactus

although i bet Swing development in Kotlin isn't terrible if your user base is the four people who still have a JRE installed, and i know wxPython is alright if you simply give up on shipping a binary for normal people to run


You must log in to comment.

in reply to @tef's post:

I have been building stuff in Flutter because it seemed (and still seems) like the best way to write code that can run on both Android & iOS (it also does desktop! and the web!)

And... yeah, it's React-ish, it works more or less the way you describe. I think it probably doesn't push back at the inherently online nature of Electron-like apps quite as much as you like, but, hey, the code is one less layer of indirection than shipping a whole browser with each app.

The biggest downside, really, is that it is quite a low status framework? One mainly used by companies that need to crank out a lot of apps quickly, and not many hobbyists building complicated things for their own enjoyment. I find it a real contrast going between Rust elsewhere in this project and Flutter.

imo, Electron solves many problems, but "produces mobile apps that are enjoyable to use" is not one of them. It's a shame, I like Typescript & my last year would've been a lot easier if I could've written this in it.

Honestly, I'd never heard of Flutter, but it doesn't surprise me that Google have their own version of React Native.

I guess that's because it's in Dart, and no-one really pays as much attention to Dart as they do typescript.

They pretty much abandoned the whole "Dart is here to replace JS" thing and now it's almost entirely just used for writing Flutter. For which... it does just fine? And now, of course, you can write webapps in Flutter, so it's back on the web again, but as a secondary thing.

And yeah - I gave React Native a try, but it seems like a nightmare. The shonky connection between "native UI" and "React components", the slow startup time and run speed (because of Apple hating JIT) - Flutter's approach of completely handling the whole rendering stack and reimplementing all the controls bar web views works out much nicer in practice.