Thanks for the explanation, Dave. It’s good to hear that the options are being 
periodically reviewed; hopefully a better one will present itself. I think I 
remember trying pgAdmin back when it was running on WebEngine, as I remember 
having a lot of display issues on my Mac. pgAdmin has certainly come a long way 
since then. I know from experience that it’s tough trying to be everything to 
everyone, and I appreciate your ongoing efforts to deal with all these 
different usage scenarios.

Keep up the good work!

> On Aug 25, 2020, at 1:42 AM, Dave Page <dp...@pgadmin.org> wrote:
> 
> Hi
> 
> On Sun, Aug 23, 2020 at 11:55 PM Jack Royal-Gordon <jac...@pobox.com 
> <mailto:jac...@pobox.com>> wrote:
> It seems like a lot of effort is being spent on supporting all of the major 
> browsers out there, and working around the quirks that arise from pgAdmin4 
> being browser-based. Recognizing, however, that using a browser as he basis 
> for screen output achieves a major goal of platform independence, I have to 
> wonder if it might make more sense to target someone’s “web view” software 
> (e.g. a lightweight browser designed for generating output from a local 
> server/daemon, and not loaded down with all the extra “stuff” that comes from 
> hitting any web server in the world and trying to be everything to everyone 
> as the major browsers do.
> 
> One example of the quirks that I refer to are the hoops you (as the software 
> developers) and us (as the users) have to go through to get a “standalone” 
> desktop version that does a reasonable job “as compared to other desktop 
> software” of restoring state when reloaded. All the extra work of configuring 
> the local system, etc. would be unnecessary with a dedicated web view. All 
> the effort to support all of the major browsers would be unnecessary, etc. 
> 
> Are there sound technical reasons why this approach has not been adopted?
> 
> 2 actually:
> 
> 1) We need to support different browsers for people running in web/server 
> mode. We know this is a popular option so it can't really be ignored (50M+ 
> pulls on Docker alone now - https://hub.docker.com/r/dpage/pgadmin4 
> <https://hub.docker.com/r/dpage/pgadmin4>)
> 
> 2) Early versions of pgAdmin in desktop mode worked exactly as you suggest - 
> it used browser components in Qt instead of running as a tray app and calling 
> the system browser. We originally used Qt WebEngine (based on Chrome), but it 
> turned out that the performance of that on Windows was pretty poor, and we 
> got a lot of complaints. We switched to Qt Webkit (which was forked at 
> https://github.com/qtwebkit/qtwebkit <https://github.com/qtwebkit/qtwebkit> 
> after it was superseded in Qt by Qt WebEngine), but that was problematic on 
> macOS where there were various rendering issues, plus it's not got the level 
> of maintenance we really need.
> 
> There has also been a PoC of hosting pgAdmin inside of Electron, the NodeJS 
> runtime used by things like Visual Studio. That's potentially viable, but it 
> is quite kludgy because it's using Node to spawn the Python code. The other 
> option (which I think is the most likely to succeed, but also requires by far 
> the most work - many months probably - is to integrate CEF (Chromium Embedded 
> Framework) into Qt. There have been a couple of PoC projects to do that, but 
> they're not maintained and only supported Windows iirc. 
> 
> I do periodically re-review the options, in the hope that someone will have 
> done the work we need with CEF, but unfortunately that hasn't happened yet (I 
> last checked maybe a month back).
> 
> -- 
> Dave Page
> Blog: http://pgsnake.blogspot.com <http://pgsnake.blogspot.com/>
> Twitter: @pgsnake
> 
> EDB: http://www.enterprisedb.com <http://www.enterprisedb.com/>
> 

Reply via email to