Show HN: Cross-platform desktop applications with PyQT
Every time this argument comes up, I see the same tired comments, and they&#x27;re typically from people that don&#x27;t have to build a modern UI. There is an insane amount that you get for free in HTML&#x2F;CSS&#x2F;JS, and it&#x27;s very clear why things like Qt &amp; co don&#x27;t stack up.<p>Here&#x27;s a small list (which could easily be a much bigger list) of things that are much easier in web dev land than their native counterparts.<p>- Want to chart some data with nice animations? The chart library in Qt is good... until you need to make it look sexy. If you&#x27;re in HTML&#x2F;CSS&#x2F;JS, you can just reach for an unlimited number of alternative libraries to pull from. (No, saying &quot;go without the animations&quot; isn&#x27;t an answer.)<p>- Universal stylesheets are a godsend for quickly iterating on UI. Qt&#x27;s stylesheets do not come close to the abilities that modern CSS provides you (and frameworks beyond Qt often lack something even close to this). Saying &quot;CSS shouldn&#x27;t be doing this stuff&quot; isn&#x27;t an answer, because the alternatives are simply less productive. It&#x27;s absolutely amazing to be able to target an arbitrary node in a nested structure and tell it to behave differently, and have the entire thing render appropriately.<p>- You want smooth scrolling (that matches the OS behavior...) at 60fps? There is an untold amount of work that each browser vendor has put in to this effort, and the benefit is greatly undersold. Ever looked into wxWidgets? You have to go out of your way to make a scroll view bounce on macOS. That is utterly insane in 2018 - and no, saying &quot;why does Mac need to be different?&quot; isn&#x27;t a solution. The entire point of cross platform development is that it should handle this.<p>- Have you ever tried to optimize scrolling on a TableView in Qt&#x2F;wxWidgets&#x2F;Cocoa&#x2F;etc? Give me HTML&#x2F;CSS&#x2F;JS any day of the week.<p>- This point is slightly separate, but... I&#x27;ve written Python for over 10 years now, and I would not want to write a UI in Python. The language is one of my favorite and works well for most things, but UIs are often just kind of hacky - Python isn&#x27;t a language that&#x27;s ideal to write hacky code in. I&#x27;d sooner do it in Ruby or something.<p>Want the tl;dr? There is no other frontend community that even comes close* to the wide range of documentation, available libraries, built-in&#x2F;free benefits, approachability, and general &quot;it&#x27;ll just work&quot; feeling across platforms.<p>I write native UI code daily, and the writing is on the walls for it. Tangentially, this is very much why I suspect Apple is looking to merge Cocoa and UIKit more - it&#x27;s the only way native Mac apps survive (oh, and even Apple renders significant chunks of some of their apps with Webkit... three finger swipe right on your trackpad if you wanna see some ancient Webkit app history).<p>* - _maybe_ UIKit for iOS comes close, due to Apple&#x27;s vendor lock in factor and focus on UI, but that&#x27;s something that a) rarely extends back to macOS apps and b) usually winds up splintered between Objective-C&#x2F;Swift implementations.