this post was submitted on 28 Mar 2024
51 points (93.2% liked)

Programming

17364 readers
250 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 7 months ago (7 children)

I've said it countless times, and I'll say it again:

Half of the success of Windows and macOS is the fact that they provide solid and stable APIs and development tools that “make it easy” to develop for those platforms and Linux is very bad at that. The major pieces of Linux are constantly and ever changing requiring large and frequent re-works of apps. There aren’t distribution “sponsored” IDEs (like Visual Studio or Xcode), userland API documentation, frameworks etc.;

Things on the Linux GUI land are so messed up that we even got this. Well, at least with Swift and Adwaita for Swift we may get to something closer to stable, long term APIs and useful documentation...

[–] [email protected] 16 points 7 months ago (1 children)

If you looked at the original github link, you'll see that it has libadwaita (and naturally, gtk4) as a dependency.

This isn't fragmenting anything, and adwaita already has good documentation. This is just another binding for another language, not a whole new implementation.

[–] [email protected] 2 points 7 months ago (1 children)

I never said it was fragmentation, I simply implied that the fact that someone is writing bindings for a language that while open is mostly apple centered says a lot about the lack of a decent development framework.

[–] [email protected] 3 points 7 months ago (1 children)

I mean it's a student project. It literally could be "I think Swift is cool and I like Linux."

And you know... They're not wrong, Swift is a cool language, it's just not got much adoption outside of the Apple ecosystem for whatever reason. It's long been workable on Linux ... I'm happy to see some novel work in this space.

Swift is also interesting because while it's general purpose, UI design was always in mind for Swift. That's different from C or C++ which are the basis of GTK and Qt the predominant UI frameworks used for the Linux desktop currently (Rust might enter that conversation more seriously with Iced and System76's COSMIC).

You're also right that there are options ... but there are also options in the Windows world. Everybody isn't using what Microsoft uses and even Microsoft doesn't use the same UI toolkit everywhere.

[–] [email protected] 1 points 7 months ago

I don't disagree with you. I believe I wasn't very clear about my view.

Swift is great yes, a very decent language and as you said also made to take UIs into consideration and I've nothing against it. Now, when people do projects like this it usually comes from a place of need, of not being very happy with the current toolset and/or the belief that something could be made better. This project, besides being a student project, must have some roots into that as well.

I'm happy there are Swift bindings available but it really just proves what I said earlier - people feel the need to experiment with other things because their current Qt toolset might not be enough or provide a great experience.

but there are also options in the Windows world. Everybody isn’t using what Microsoft uses and even Microsoft doesn’t use the same UI toolkit everywhere.

Yes... but we all know there's a LOT more fragmentation in the Linux space. Qt is probably the most cohesive and ecosystem-like way to develop desktop Linux applications but once again it's not like what we have on Apple and Microsoft. Both of those companies provide at least one complete development ecosystem that is very tightly integrated with their systems and one can pick up learn and be very productive with it and unfortunately under Linux we things a bit more scattered around.

load more comments (5 replies)