Live data from Hacker News

Make Apps for Linux

makealinux.app

121–130 of 422 posts

Re: Make Apps for Linux

#121
post #34

I think the premise is wrong when there still doesn’t exist a core set of frameworks that are abi stable on Linux. On competing platforms there are way more frameworks out of the box (CoreImage, CoreAudio, CodeML, SceneKit, AppKit, etc) and they don’t break as often. I know in Linux they have fun things like snap and flatpak but it is really solving the problem using a bit of infrastructure and package management ins…

If I could have that spread of frameworks that macOS offers on Linux, I’d be targeting Linux with my side projects yesterday. Having such a wide selection of tools to readily reach for with zero consideration about how long it’ll be supported, which fork is best, how well it meshes with a pile of other third party libraries, etc is amazing. It reduces friction massively and you just build stuff.

The KDE Qt ecosystem and its GNOME/GTK analogue are closest but still aren’t quite there.

Re: Make Apps for Linux

#122

Earlier quoted context omitted.

Well, I'm a Qt programmer (and love it!), so I know a bit about this ecosystem. Unfortunately in terms of UX and aesthetics, KDE apps don't come even close to the macOS ecosystem. But that's alright. I'm here to change that.

Can you share some of this ‘love’ to me? Because my experience with QT so far was : it does ‘who knows what’, ‘who knows when’ and ‘who knows why’ And if you wish it to work the best tactic is “do not change anything, it will surprise you and there will be no way to go back” :) May be I am missing something important in understanding? I was trying to tweak some projects for my needs. I successfully did it but it was…

If you learn how to separate your logic in C++ and your views (GUI) in QML you can achieve the best of both worlds. C++ is fast and I love programming with it. QML is easy and powerful you can create slick looking apps with it with beautiful (and easy!) animations.

I bought the Udemy course of Bryan[1] and learned QML in one day. The next day I already had a prototype for a Kanban[2] that is based on Markdown.

[1] https://www.udemy.com/course/qml-for-beginners/

[2] https://rubymamistvalove.com/notes/kanban.mp4

Re: Make Apps for Linux

#123

Earlier quoted context omitted.

I agree. I recall a talk from Linux Torvalds on how bad the glibc folks break things and why he won't ship a binary version of his scuba tool. If the binary breakages start with the darn C lib, you're gonna have recurring problems all the way up the stack on a regular basis I feel.

This has the case for 10 years with games on steam. The worst being libstdc++ ABI issues still around because many devs forget to statically link their c++ libs with -static-libstdc++. Because in windows, ABI stability is really good and then devs are used to that.

As far as I understand, Windows solves this libc++ versioning issue using the side by side cache. I guess this is a little bit like flatpack.

Re: Make Apps for Linux

#124

The problem is OSS software not even trying to compete with the market. People using OSS software taking it for granted that the UX is going to be subpar, and it really is. Regular propriety software faces the risk of their users not paying, therefore adapting to make end user experience great. OSS usually doesn't have that risk. Open source needs to be exposed to risk from end users. I tried to change that with Note…

I really like the functionality of your notes app, but I don't think emulating Apple UI design is the solution to subpar UI on Linux.

Linux users expect basic desktop conventions like toolbars, dropdown menus, and not mobile design concepts like cramming everything into a hamburger menu.

Re: Make Apps for Linux

#125

Earlier quoted context omitted.

I agree. I recall a talk from Linux Torvalds on how bad the glibc folks break things and why he won't ship a binary version of his scuba tool. If the binary breakages start with the darn C lib, you're gonna have recurring problems all the way up the stack on a regular basis I feel.

This has the case for 10 years with games on steam. The worst being libstdc++ ABI issues still around because many devs forget to statically link their c++ libs with -static-libstdc++. Because in windows, ABI stability is really good and then devs are used to that.

[deleted]

Re: Make Apps for Linux

#126
post #34

I think the premise is wrong when there still doesn’t exist a core set of frameworks that are abi stable on Linux. On competing platforms there are way more frameworks out of the box (CoreImage, CoreAudio, CodeML, SceneKit, AppKit, etc) and they don’t break as often. I know in Linux they have fun things like snap and flatpak but it is really solving the problem using a bit of infrastructure and package management ins…

If I could have that spread of frameworks that macOS offers on Linux, I’d be targeting Linux with my side projects yesterday. Having such a wide selection of tools to readily reach for with zero consideration about how long it’ll be supported, which fork is best, how well it meshes with a pile of other third party libraries, etc is amazing. It reduces friction massively and you just build stuff. The KDE Qt ecosystem…

[deleted]

Re: Make Apps for Linux

#127
post #34

I think the premise is wrong when there still doesn’t exist a core set of frameworks that are abi stable on Linux. On competing platforms there are way more frameworks out of the box (CoreImage, CoreAudio, CodeML, SceneKit, AppKit, etc) and they don’t break as often. I know in Linux they have fun things like snap and flatpak but it is really solving the problem using a bit of infrastructure and package management ins…

People like to shit on tools like Electron, but there's a reason they're popular. If you need to reach a broad audience with a native tool, using heavy-handed web-based plumbing is a bigger win for Linux users than supporting only windows and macos where like 97% of desktop users are.

[deleted]

Re: Make Apps for Linux

#128

Earlier quoted context omitted.

-dev contains the headers, that ones pretty easy. The number is a version for when they provide more than one that can be installed at once (excepting where it's part of the library name, presumably like xcb1). I.e. at some point you could probably install libgtk-3-0 and libgtk-2-$something at the same time. They likely leave it that way when they get rid of libgtk-2 so that existing tutorials that reference libgtk-3…

> but I've never looked into what that accomplishes ABI versioning.

ABI stands for application breakage interface

Re: Make Apps for Linux

#129

Earlier quoted context omitted.

This has the case for 10 years with games on steam. The worst being libstdc++ ABI issues still around because many devs forget to statically link their c++ libs with -static-libstdc++. Because in windows, ABI stability is really good and then devs are used to that.

As far as I understand, Windows solves this libc++ versioning issue using the side by side cache. I guess this is a little bit like flatpack.

I think there are very few c++ ABI versions on windows and it is easy to select the one you want until it is installed, they can be there side by side.

Re: Make Apps for Linux

#130
post #82

Earlier quoted context omitted.

That core would be GNOME or KDE frameworks, coupled with the FreeDesktop standards, at least that was the plan about 20 years ago. However as the site says doing distributions is what most folks keep doing, and naturally there isn't a single stack that can keep up with snowflake distributions. In the end, Google took the Linux kernel, placed two core set of frameworks, one in Java, and the other in JavaScript, and na…

None of that core is standardized across even a hand full of distros.

Chrome/Chromium is quite standardized, across many distros.
Post reply on HN