Live data from Hacker News

Show HN: Cross-platform desktop applications with PyQT

github.com

251–260 of 293 posts

Re: Show HN: Cross-platform desktop applications with PyQT

#251
post #32

Earlier quoted context omitted.

What do you mean? I've uninstalled the Slack desktop app and just use the website because the app is such a terrible experience.

Wow. You realize they share most of the same code, and are essentially feature identical? Seriously, open the desktop app, then open the web app. They're identical. Precisely because they chose to use a toolkit that let them easily handle cross platform issues with UI in a sane and repeatable manner.

The difference is that electron is crap.

A single Gitter tab uses 20MB RAM. I'm sure it would use at least 250MB for the same functionality if I used the electron version.

This is such an obvious problem. Why haven't they fixed it already by trimming down the web browser?

Re: Show HN: Cross-platform desktop applications with PyQT

#252
post #162

Earlier quoted context omitted.

The point is that we unnecessarily focus on developer comfort in writing software, but software needs to be optimised first and foremost for runtime. In fact I'd put the priority as such: Priority #1: Runtime, your code will (hopefully) be run a lot more than it does anything else. Priority #2: Debug, your code will be debugged more than it is read Priority #3: Reading, you will probably read your code a significant…

Most code, #1 is irrelevant. Most code isn't in the inner loop of performance-limiting execution. Given that, what makes sense to optimize for? The slowest, most error-prone processor in the mix is, the wetware in your head. So, almost all of the time, put #1 at the bottom of the list. Put #3 next, because once it works, the slowest process is relearning why it works, necessary to debug or extend it. #2 and #4 are si…

#2 and #4 are not simultaneous. Writing that really clever function that's difficult to read has happened to us all, in fact in ops there is the notion of "write-only scripts", such as intricate one liners or regex's.

We should write code that's idiomatic and clear if we want easy debugging.

Your other point about "wetware is more expensive" is a statement about how much you're scaling. Another 100ms on facebooks home page load is an aggregate of at least a dozen hours a day taken from users, so if it costs a developer a dozen hours to remove that performance hit then it's absolutely worth it.

Performance should be the default, not the edge case.

Re: Show HN: Cross-platform desktop applications with PyQT

#253
post #114

Earlier quoted context omitted.

> You realize they share most of the same code, and are essentially feature identical? Yes. So why would I run essentially a second web browser instance to run the same code in a different place? Beyond that, I had with weird screen refresh issues with the desktop app, where scrolling or even just typing in the text box would cause parts of the main HTML view to just disappear to the point where it'd be unusable. Oft…

I wish Chrome apps for the desktop were more popular. Use the browser you're using anyways but on a thing that sort of acts like an application. I installed the Netflix chrome app on my Windows PC. It's basically the Netflix webpage on a separate application window that doesn't have tabs or a search bar.

Chrome apps on desktops are dead.

https://blog.chromium.org/2016/08/from-chrome-apps-to-web.ht...

Re: Show HN: Cross-platform desktop applications with PyQT

#254
post #173

Earlier quoted context omitted.

I'm assuming this is a desktop app, not running off a server. How do you get round the problem of distributing Python with every install? Or do you just accept it? I love Qt in C++ because most of the time the code just recompiles between Mac/Windows/Linux. I've shied away from writing GUIs in Python because deploying - to the point where a non-technical user can run the program - always ends up being hacky.

That is literally the point of the original post.

It's not clear that the poster I replied to is using fbs - I'm assuming not.

But in any case fbs doesn't mention some useful bits. Does freezing work reliably with all packages (is it different to the canonical packages for freezing Python binaries)? In my experience some libraries just wouldn't freeze - matplotlib was a pain. How big are the output binaries? The Qt libraries are large enough without chucking in Python as well (even a minimal install is quite big).

Re: Show HN: Cross-platform desktop applications with PyQT

#255
post #16

> In simple terms, this means you can use it for free in open source projects that are also licensed under the GPL That's not really what being licensed under the GPL means. PC-BSD thought that they had to license their own stuff under the GPL because they were using Qt, but all you need is GPL compatibility . After that realisation, PC-BSD relicensed their code to 3-clause BSD.

Do you have a source for the PC-BSD assertion?

Re: Show HN: Cross-platform desktop applications with PyQT

#256
post #249
post #218

Earlier quoted context omitted.

What exactly do you mean by "one character symbolic syntax notation"? I can't think of anything in Rust matching that description that doesn't exist in C++ as well.

I'm guessing its this: https://github.com/rust-lang/rust-wiki-backup/blob/master/Si... -> > (eg &'a T) If you look at the popular web development languages, they don't really have sigils. Javascript/Flow/Typescript/Coffeescript (front end). Java, C#, Python, PHP (ok, I'll grant you $). Ruby is a bit of an oddball and I guess it's part of the reason Python is overtaking it. Basically, unless you've been working in C/C…

The comment I was responding to was explicitly comparing it to C++, which is what confused me.

Re: Show HN: Cross-platform desktop applications with PyQT

#257
post #256
post #249

Earlier quoted context omitted.

I'm guessing its this: https://github.com/rust-lang/rust-wiki-backup/blob/master/Si... -> > (eg &'a T) If you look at the popular web development languages, they don't really have sigils. Javascript/Flow/Typescript/Coffeescript (front end). Java, C#, Python, PHP (ok, I'll grant you $). Ruby is a bit of an oddball and I guess it's part of the reason Python is overtaking it. Basically, unless you've been working in C/C…

The comment I was responding to was explicitly comparing it to C++, which is what confused me.

Oh, right.

Re: Show HN: Cross-platform desktop applications with PyQT

#258
An actually good alternative to Electron is badly needed, imo. PyQt seems like a reasonable start for a platform like this.

Electron needs to be competed with in two areas, though: Developer experience and end user experience. Solving just one of them means you don't really compete with Electron.

For a good user experience I'd have recommended a Qt Quick [QML] based interface. Developer experience requires some good tooling, which unfortunately Qt creator doesn't really provide for me.

Re: Show HN: Cross-platform desktop applications with PyQT

#259
post #228
post #3

Not directly related to the initiative itself, but comparing and contrasting the Electron website vs. PyQT is striking: https://riverbankcomputing.com/software/pyqt/intro https://electronjs.org/ I've been a (proud) Pythonist for years now, and I've always been a bit chagrined by the quality of the "marketing" of Python projects. It doesn't at all reflect the quality of the community and the projects.

If I was picking one based on their website, I'd no doubt go for PyQT. "Marketing" is just a eulogy for lying I think. And it further annoys me when FOSS projects imitate IT companies and try to do marketing.

I like a polished website, but technical info ultimately drives decisions.

Re: Show HN: Cross-platform desktop applications with PyQT

#260
post #189

Earlier quoted context omitted.

We want that, but we are the minority. I do agree that PyQt has a respectable documentation page. It is, however, a terrible page for attracting new developers and selling decision makers on the idea of using it.

> It is, however, a terrible page for attracting new developers and selling decision makers on the idea of using it. Would that be attracting people that are worth attracting though? Just like in business, not all customers are worth having.

This is a personal decision I'm fine with - but that's not how your project gets adopted.
Post reply on HN