Re: Development of cross-platform GUI for Open Source DBs

From: John McCawley <nospam(at)hardgeus(dot)com>
To: Ritesh Nadhani <rn(dot)mailing(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Development of cross-platform GUI for Open Source DBs
Date: 2006-11-29 15:15:03
Message-ID: 456DA3F7.4050208@hardgeus.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have been struggling with this problem for a few years. I have
written a basic relational database design tool:

http://www.hardgeus.com/pgdesigner/

I have completely rewritten this program 3 times. I initially
implemented it in Fltk, but ran into a bunch of limitations in the API.
I rewrote it in WxGTK and was pretty happy with the results -- until I
ported to Windows. My program was so abysmally broken in Windows that I
threw the code away and vowed never again to use WxWidgets. I recently
ported the entire codebase over to QT4 and have been VERY happy with it.

Unfortunately, my love for QT4 has put my project into a bit of a
limbo...Most versions of Linux don't "play nice" with multiple versions
of the same API on the machine, and most Linux distros use QT3 since
that's the underlying API of KDE. I already get a ton of mail from
people trying to compile the old versions of PGDesigner, I'd hate to
think what would happen if I tried to release my QT4 version now...My
build setup is pretty nuts, to say the least:

http://www.hardgeus.com/index.php?ndailyupdateid=685

It sucks, because I use pgDesigner almost every day to visualize my
Postgres databases, but QT4 just isn't "there" enough for me to support it.

Anyway, you didn't ask for a novel...I would recommend QT3 for your
project. I am not entirely certain how much I am using is QT4 specific,
but I have been very happy with the signal/slot architecture, clean
database handling, and very robust variant-like variable handling (i.e.
I don't have to have giant bloated type-checking when copying data out
of my database into a local variable).

Ritesh Nadhani wrote:

> Hey
>
> Sorry for the critical mistake. Pressed the SEND button too early. In
> the first para I meant:
>
> The reason I *want* to develop the project in wxWindows or a C/C++
> based toolkit is that in the end I would be able to compile a binary
> which will have least dependency and can be bundled for downloaded in
> a single binary. With my experience while developing and selling
> SQLyog, I came across many customers who were working on a slow dial
> up connection for whom downloaded a 10MB package was also a pain. I
> have had customers who just had plain vanilla Win98 machines and
> SQLyog used to run great on it.
>
> instead of:
>
> The reason I *don't want* to develop the project in wxWindows or a C/C++
> based toolkit is that in the end I would be able to compile a binary
> which will have least dependency and can be bundled for downloaded in
> a single binary. With my experience while developing and selling
> SQLyog, I came across many customers who were working on a slow dial
> up connection for whom downloaded a 10MB package was also a pain. I
> have had customers who just had plain vanilla Win98 machines and
> SQLyog used to run great on it.
>
> Ritesh
>
> On 11/28/06, Ritesh Nadhani <rn(dot)mailing(at)gmail(dot)com> wrote:
>
>> Hello All
>>
>> Sorry for the late reply. Been a little busy with my assignments.
>>
>> I will try to answer all the queries in this mail.
>>
>> The reason I don't want to develop the project in wxWindows or a C/C++
>> based toolkit is that in the end I would be able to compile a binary
>> which will have least dependency and can be bundled for downloaded in
>> a single binary. With my experience while developing and selling
>> SQLyog, I came across many customers who were working on a slow dial
>> up connection for whom downloaded a 10MB package was also a pain. I
>> have had customers who just had plain vanilla Win98 machines and
>> SQLyog used to run great on it.
>>
>> Another reason why suggested wxWidgets is because I have worked with
>> it before and I am comfortable with the system. As somebody suggested,
>> even wxPython looks good as Python greatly increases the speed of
>> implementation.
>>
>> Also, IDEs like Delphi etc. are out of question as I cant afford to
>> buy the licenses.
>>
>> I have no experience with XUL but it looks good. I am not sure, how
>> easy is to design GUI with lots of forms etc, with XUL. Writing an
>> initial prototype in XUL will make things more clear.
>>
>> Even though I am not related to Webyog (developer of SQLyog) anymore,
>> I had started a project up there called SQLyog Max (which didn't work
>> due to time constraints rather then technological constraints) and we
>> even released one BETA release that had support for both MySQL and
>> PostgreSQL.
>>
>> I believe developing an actual prototype would help our cause more
>> then just deciding upon which tool kit to use. My semester gets over
>> on 15th December. I plan to sit with it after that. Right now I am
>> thinking of an architecture which can support something like this.
>>
>> If you have any idea how something like should be designed or
>> architectured, please provide me with your invaluable suggestions.
>>
>> In other related question, my primary desktop of usage is Mac OS X but
>> I will be buying a Ubuntu box soon so expect decent development
>> parallely in Mac and Linux. I am not sure about Windows but if we
>> write correct wxWidgets/wxPython code, it should be a 0 issue to get
>> it compiled in Windows.
>>
>> Ritesh
>>
>> On 11/28/06, Rich Shepard <rshepard(at)appl-ecosys(dot)com> wrote:
>> > On Tue, 28 Nov 2006, Merlin Moncure wrote:
>> >
>> > > For a general purpose language, lately I've been taking a really
>> good look
>> > > at 'D', which looks to be an amazing language. Has anybody tried
>> to hook
>> > > up postgresql to D?
>> >
>> > No, I haven't. But, if you want a cross-platform language and
>> GUI toolkit,
>> > consider Python and wxPython.
>> >
>> > --
>> > Richard B. Shepard, Ph.D. | The Environmental
>> Permitting
>> > Applied Ecosystem Services, Inc.(TM) | Accelerator
>> > <http://www.appl-ecosys.com> Voice: 503-667-4517 Fax:
>> 503-667-8863
>> >
>> > ---------------------------(end of
>> broadcast)---------------------------
>> > TIP 3: Have you checked our extensive FAQ?
>> >
>> > http://www.postgresql.org/docs/faq
>> >
>>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2006-11-29 15:34:21 Re: backend crash following load command
Previous Message Ben Trewern 2006-11-29 13:43:47 Re: sudden drop in delete performance