Hi Dmitry,
I think this a wonderful idea, but it will be tough. Share my experience: —dbeaver: It is for multi-platform so it is just for use, no particular function, also there is more bugs(our company had changed some of them). dbeaver is likely the most open source app form pg now, I know more people use it. —pgadmin4: I don’t like web client for database, I used it and it is good for there is simple monitor-windows. For now, I used jetbrains’s product:datagrip, it is also coded by java,but is better for dbeaver.
Best Wishes, Chris
Dmitry Igrishin <dmitigr@xxxxxxxxx> writes:пн, 16 июл. 2018 г. в 1:14, Tim Cross <theophilusx@xxxxxxxxx>:
Your idea to make it integrate with user's preferred editor is a good idea as editors are like opinions and certain anatomical parts - everyone has one! Finding an appropriate API to do this will be a challenge.
I see two options here: the core of the tool acts as a long-lived server or as a short-lived console application which communicates with the editor's plugin via stdin/stdout. Btw, what the text editor do you prefer? :-)
Most of the time, I use Emacs on either Linux or macOS. With the supportit has for running a psql process, it works pretty well for mostthings. There are pretty reasonable packages for writing SQL and'static' completion. Getting things setup can take a bit of effort, butonce it is working, it tends to work pretty well.The two areas where it lacks are dynamic completion i.e. completing onobjects the user has created such as table names and columnnames/function names etc. and decent result formatting. I seem to remember reading somewhere that Oracle was going to remove swing from the core java library. I've always been a little disappointed with Java UIs and found they don't give the cross-platform support that Java originally promised, plus OSX/macOS has not made Java as welcome as it use to be. If you do choose Java, it will need to work under openJDK as this is what most Linux users will have installed.
For now, the possible options for the GUI part are Qt, wxWidgets or FLTK, or even Electron.
I would look at either Qt or even Electron (I believe visual code iswritten using Electron, which is the other editor I use from time totime).There was an Emacs project called Eclaim (I think) which interfaced withEclipse services in order to provide dynamic completion when doingJava. That could be worth checking out for ideas to borrow.Tim-- Tim Cross
|