Live data from Hacker News

Show HN: Cross-platform desktop applications with PyQT

github.com

151–160 of 293 posts

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

#151
post #10

Earlier quoted context omitted.

Are you aware of QML, which is part of the Qt framework? https://en.m.wikipedia.org/wiki/QML

Yes. QML is a step in the right direction, but the syntax is kind of awkward, and you still need C++ on the background, which makes it harder to use, more expensive (in terms of man/hours cost) and slower to develop than + HTML/CSS.

Not to mention that QML/QDeclaritive pulls in a Javascript engine to make it all work. =)

I still develop 100% in QWidgets, which probably makes me a dinosaur but at least I know what I'm getting out of it.

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

#152
post #99

Earlier quoted context omitted.

I get what you're saying, but "writes good web front end code" isn't on my list when I'm looking for a good Desktop development framework. I think stuff like this is pretty tribal, which is OK, but we should confuse it with decisions made on technical or experience merits.

When the "good Desktop development framework" is primarily in javascript, it's a good signal.

There are a lot of counter-examples:

  - apache

  - lighttpd

  - v8

  - PostgreSQL

  - Linux

  - Go

  - ZeroMQ

  - any imaging library (libpng, libjpeg)

  - any compression library (zlib, xz, bzip2)

  - urxvt

  - vim

  - emacs

  - tmux
Basically none of these have good websites. When I'm looking for a CSS framework or like, UI tricks like scriptaculous then I think it's a good signal, but past that I really think there's no link here. Really "has a good website" means "someone who knows how to build good websites built one for this project".

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

#153

Unfortunatelly PyQt does not solve the problem of Javascript engineers who are not willing to learn a new programming language. That's the whole reason for the whole Javascript fadigue. Computer Science has had "had tools for the right jobs" for years, but now we have a large developer base that only knows Javascript and think it's some kind of holy grail of computing. Happened before with Java. Happened before with…

Could you give me some examples of "Computer Science has had "had tools for the right jobs"". Thanks

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

#155

Earlier quoted context omitted.

It does reflect the priorities of the community, though. PyQT's page is clearly written by a developer, with an emphasis on explaining the internals of the library. The author clearly saw no need to make it attractive. There is no long-term vision beyond the library itself. While PyQT is navel-gazing, Electron's page is all about grabbing mindshare and establishing clout. It seeks to conquer the world and your deskto…

As a developer, Electron's page shows their prowess in writing good front end code, which is really important. As someone who understands the basic concept of Electron, I want a product that demonstrates those competencies.

Is it really that good though, or is it just that a lot of design effort (and dollars) have been put into it? Just based on the quality of electron based applications I have used, I feel like this basically amounts to spending a lot of time polishing a turd. Why compliment or be distracted by how shiny it is?

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

#156

Unfortunatelly PyQt does not solve the problem of Javascript engineers who are not willing to learn a new programming language. That's the whole reason for the whole Javascript fadigue. Computer Science has had "had tools for the right jobs" for years, but now we have a large developer base that only knows Javascript and think it's some kind of holy grail of computing. Happened before with Java. Happened before with…

Speaking as a developer who primarily writes Python and secondarily C, Rust, C++, bash, and others as necessary, who has in fact worked on a large-scale C++ UI project in Qt on the Linux desktop running alongside PyGTK UIs, and who doesn't actively write JavaScript, I have to say that JavaScript is a really good choice of language, especially for UI, because it has a strong bias towards event-based programming and callbacks instead of blocking code and threads. If you're going to pick the right tool for the job of UI, I'd put JS a bit ahead of Rust (because of immaturity; that is likely to change real soon), which I'd put a lot ahead of C++ (because you're going to screw up threading) a little bit ahead of C and Python (because you're definitely going to screw up threading). If you're interested in rapid prototyping, I'd move Python up several notches - but not past JS, which is what I reach for these days for throwaway prototypes if I think I know enough JS to pull it off.

(If someone has a high-quality way to use asyncio or Twisted with the Qt event loop, I'd probably bump Python a bit higher.)

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

#157
post #17

Earlier quoted context omitted.

How is this an issue? Before Electron and other HTML/CSS-based "native" apps became all the rage (which is fairly recently), native apps were built using Qt, GTK, Cocoa, WPF, WinForms, MFC, etc., and they did just fine. Perhaps we just really don't need these "effects" and just need consistent, simple UIs of the sort that toolkits that paint native widgets can give you. Whenever I install an app that's built using so…

"Bah humbug, the old stuff is good enough for me!" is a shitty answer. Why would you not want a toolkit that makes rich application experiences across multiple platforms easy and standard? I get that performance is a problem with the tooling in its current form (arguably...) but that's not a reason to ignore the problem electron is solving: creating complex UIs using things like WinForms, QT, GTK, Cocoa, etc SUCKS. I…

> "Bah humbug, the old stuff is good enough for me!" is a shitty answer.

Ignoring the snark, "Modern" is better should not be the default, either. Performance is a valid reason to ignore Electron.

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

#159
post #87

Earlier quoted context omitted.

No its nothing like a minor language change. This actually happened to me and my Javascript UI experience (Jquery) is obsolete in the world of React and Angular or whatever the flavour of the month is.

Python's transition from 2 to 3 was anything but "minor"... further, jquery was designed and developed for a completely different reason than React or Angular at a different time in the evolution of the web. Your jquery knowledge still works I promise... the thing is there are better options.

> Python's transition from 2 to 3 was anything but "minor"

For the purpose of this discussion — carrying learned knowledge forward — it was minor.

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

#160
post #55

I wish them the best of luck, but I don't think it's going to happen, because one of the big reasons Electron is popular is because web-dev people don't want to learn other languages.

This trope makes me quite sad...

I'd love to learn other languages and stacks! It's just that, often, it isn't a worthy use of my time. All that time used into learning C++ and Qt would be better used in making and improving my software.

This is even more impactful when hiring people. I'm building a small team that has to handle Web development, mobile apps, and someday a desktop app. The less different skills I need for all of this, the more cost-effective it will be.

Personally, I'd rather have ultra-fast, spartan-looking, as-efficient-as-possible apps. If I could choose just by heart, I'd code in Lisp, and probably I wouldn't even make GUIs and just make CLI apps. Sadly, programming is not only a hobby and I have to consider my business needs before my technical preferences.

Engineering isn't about picking the best, most perfect technologies, but about handling trade-offs. Many are using web tecnologies because of the fads, and some out of lazyness, but many (i'd guess most) are doing it because it's worth it.

Post reply on HN