Hi On Thu, Mar 22, 2018 at 2:57 PM, Joao De Almeida Pereira < jdealmeidapere...@pivotal.io> wrote:
> Hello Hackers, > Here is our take on the 3 options present: > 1) QtWebkit and QtWebEngine > > Pros: > - Webkit is a mature technology that as been around for some time > - Apparently the Fork of Webkit we were using as been catching up > Cons: > - We are using a Fork > - It is to far behind of the today browsers and the competition keep > evolving making it even harder for them to catch up > - Problems with the environment from the past, lagginess, lack of support > > 2) Rework runtime to find a running PGAdmin and attach to it > > Pros: > - We already made the big move from Webkit to this version > - Add smarts to the application to do not run itself if it is already > running, or kill the currently running application > > Cons: > - More C++ code thrown around > - Add more dependency on our QT application > - Have specific code for Gnome, not even a OS version but a window manager > > 3) Electron > > Pros: > - Full Javascript runtime, no more C++ code to handle > - Self packaging for all the environments > Cons: > - No fully supported on Linux based OS with old libstdc++, (This might > solve the problem: https://github.com/mattermost/desktop/issues/312) > - CPU/RAM high utilization (Found a issues around and the majority of them > have solutions like CSS animations running or settings on the created > windows) > - Electron does not support tabs by default, only HTML tabs > > After combing through these options with some pros and cons here are my > thoughts: > 1) This options was always cluncky from the beginning, the fact that we > are working with a browser that is currently 26k commits behind > Webkit:master is concerning. So I do not believe this is a viable option. > As a personal opinion is we need to release fast, then we should go with > what we have now and not go back to this option. > 2) This option is not very appealing to me, because we would be pilling > code into the QT portion of the application, that I hope we remove in the > future, that currently is untested to solve a problem caused by a Window > Manager...... > I would be more in favor of creating a Application Indicator that would > support 2 actions, Kill running pgAdmins and launch the browser to access > them. There is a lot of interesting websites that talk about this, and how > to develop. I had to download one to have a docker indicator..... But as I > said in a previous thread, I believe that this should be a 3rd party > application and not a first class citizen on pgAdmin, as the majority of > the ones that I found are. > 3) Electron can to play, first when we though about removing QTWebkit, > because it always packs a browser with it and also and there is a very big > Open Source Community being it. It came back again when when we saw that we > were ready to ditch the browser. (As a personal note I dislike applications > that I install in my machine and pop browser open to do anything, this is a > personal issue that I would like to see if it was shared by others that was > why we decided to park Electron for a second time. Because if our users are > ok with it there is no need to add extra complexity to the product) > The most interesting thing about the cons that I found in Electron there > is an issue open for them and a bunch of different solutions to try to > handle it, or even advises on how to handle it. This option also allow us > to focus less on browser compatibility as the main target of our > development will become Chromium which is the base of browsers like UC > Browser, Vivaldi, Opera, Google Chrome. > > As you could see from my long long email, I am biased towards options 3, > not because I started the push for it, but because I believe it is the > right step for this product. This being said, I think that releasing now > with this current issue is Ok as a first step to somewhere. > I think in the longer term, 3 is probably the best option. Whilst the current architecture (where it works) is a good improvement and gets rid of the QtWebKit/QtWebEngine problems, I'm not a huge fan of having a server and browser; I much prefer the idea of having a single app. How much effort do you think it would be to get the Electron based browser to a usable state, in which everything is nicely packaged and buildable, but without the tab support? -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company