3 ms·
Two things: 1.) I've written only a little bit using GTK, starting over this past month, and it has been very pleasant. The real issue I have is not knowing wh
by rubyn00bie 6y ago
Two things:
1.) I've written only a little bit using GTK, starting over this past month, and it has been very pleasant. The real issue I have is not knowing what documentation to use, or being a bit confused by the tooling. The existing open source projects using GTK I've been poking at over the last month written using JavaScript, Python, or C are all pretty (relatively) easy to grok and start working on. I'll definitely be back for more... FWIW- I do tend to learn by reading code; so for me, jumping into something totally foreign or unknown is pretty normal.
2.) I'd highly recommend trying Flutter+Dart for cross platform desktop applications. I've been writing my first, for about a month now, on Linux, and it has been fucking great mostly because it works. It uses Skia under the hood so rendering is fast and applications aren't totally bloated. I can speak nothing to building Flutter projects for the mobile or web variants but it seems neat in theory.
I'd definitely prefer to not write Dart, but I also accepted long ago, when you want to write GUI you pretty much have to learn a new language. It's close enough to JavaScript and/or Java learning it is pretty much just figuring out "WTF? Is X called?"
It's also a lot nicer, IMHO, than things like Electron because there's an actually useful SDK [1]. Electron, like the web, will require to you DIY a lot of really boring shit like wiring up list views to only use/reuse the displayed elements. Flutter, like most desktop GUI SDKs, brings a useful set of widgets to the table you can easily customize.
[1] No hate on Electron here; there's zero fault to be had for the web SDKs lacking useful APIs for making web apps... but that's a wholly different conversation I'd rather not have right meow.
- heavyset_go 6y ago> I'd definitely prefer to not write Dart, but I also accepted long ago, when you want to write GUI you pretty much have to learn a new language. It's close enough to JavaScript and/or Java learning it is pretty much just figuring out "WTF? Is X called?" Are you using another language for your app, or is your entire stack in Dart and not just the UI?
- rubyn00bie 6y agoOh; it's all client-only (GUI) right now. So I've only been using Dart in this app (stack), if I need to add server components (which eventually I likely will) I'll write those in Elixir and/or Rust (i.e. languages I already know). Nothing against the idea of server-side Dart, I just don't see a reason to bother with it. I've never really been sold on the idea of using the "same language" for both frontend and backend. I (try to) prefer the right tool for the job; which for my requirements, this time, is mostly how I ended up with Dart and Flutter... and I've been pleasantly surprised. It is the first cross-platform desktop language & sdk pairing I've used that I, personally, don't totally hate. Every other time, I've just said "fuck this" and gone and implemented it whatever the native SDKs were.
- ladyanita22 6y agoWhat do you dislike about Dart? I happen to like it a lot.
- rubyn00bie 6y agoOh, I don't mean I hate Dart by any means, I've just written UIs in a lot of languages at this point and would rather use something I'm more familiar with... The one very minor annoyance I've had with Dart that immediately pops to mind, and I think is going to be fixed soon (according to the github issue), is typedefs only working for functions. I personally think it makes things a lot more verbose and unnecessarily difficult to read at times ¯\_(ツ)_/¯ I certainly like it well enough to continue to learn and use both it and Flutter :)
- ladyanita22 6y agoSomething that does bother me is the concept of Isolates vs actual multithreading. It makes me wonder if the message-passing system may have performance concerns.