Writing GNOME Apps with Swift (www.swift.org)
from Goronmon@lemmy.world to programming@programming.dev on 28 Mar 2024 13:32
https://lemmy.world/post/13641913

#programming

threaded - newest

TCB13@lemmy.world on 28 Mar 2024 15:34 next collapse

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…

ISometimesAdmin@the.coolest.zone on 28 Mar 2024 17:09 next collapse

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.

TCB13@lemmy.world on 28 Mar 2024 22:12 collapse

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.

Dark_Arc@social.packetloss.gg on 29 Mar 2024 06:23 collapse

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.

TCB13@lemmy.world on 29 Mar 2024 13:10 collapse

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.

priapus@sh.itjust.works on 28 Mar 2024 20:45 next collapse

Things on the Linux GUI land are so messed up that we even got this.

I don’t understand what you mean by this. This project is using a library provided by a major DE, if anything this shows the opposite of your point.

There aren’t distribution “sponsored” IDEs (like Visual Studio or Xcode)

Both GNOME and KDE have a text editor that supports LSP’s and plugins, similar to VS Code. I also don’t know anybody who still uses Visual Studio or Xcode, outside a specific situations where they’re needed, which isn’t a positive in my book.

userland API documentation

Linux has XDG Desktop Portals, protocols that all DEs and compositors can implement and can be used by any app.

LPThinker@lemmy.world on 30 Mar 2024 11:28 collapse

Have you tried developing a GUI app for Windows in the last 5 years? All the official first-party frameworks are either mostly deprecated (WPF, WinForms), or half-baked and despised by every developer I’ve talked to about them (MAUI).

TCB13@lemmy.world on 01 Apr 2024 13:54 collapse

Well WinUI is supposed to fix the mess caused by UWP and later on UWP that came from the Windows 8 era… WinUI is decent, at least it isn’t lacking major features like the other two.

.NET MAUI is a very different thing… it’s a cross-platform framework for creating native mobile and desktop apps with C# and XAML. It’s like Qt and obviously when we’re talking about developing apps for Windows, Linux, macOS, Android and iOS with a single frameworks things are bound to be harder.

AnUnusualRelic@lemmy.world on 29 Mar 2024 00:18 next collapse

What if I’m writing for kde?

ThermoToaster@exng.meme on 29 Mar 2024 10:55 next collapse

Then you already have a cross platform GUI Lib called QT, that said: good luck.

AnUnusualRelic@lemmy.world on 29 Mar 2024 16:00 collapse

Are you suggesting that GTK is an inferior, not cross-platform toolkit? I’ll have you know that GTK runs just fine on BSD (and maybe other things from Redmond), you uncultured swine!

[deleted] on 29 Mar 2024 11:28 collapse

.

onlinepersona@programming.dev on 31 Mar 2024 11:25 collapse

ew and ew