View mode: basic / threaded / horizontal-split · Log in · Help
September 29, 2007
Re: GUI strategy?
Daniel Keep wrote:
> 
> downs wrote:
>> BLS wrote:
>>> Indeed, seems to be a huge project. And for sure not doable for a single
>>> human beeing.
>>>
>>> Let's make some realistic guesses
>>>
>>> GUI for all major platforms 60-80.000 LOC, 3 - 6 developers
>> Just for the book, yawr's GUI is ~1500 LOC, 1 dev. :)
>> Now admittedly, that's only the widgets I needed for YAWR, so it's
>> rather limited, but still, 60k sounds a little much.
>>  --downs
>>
> 
> Ah, but you're forgetting: he asked for a "framework" not a GUI toolkit.
>  "Framework" implies all sorts of useless junk no one outside of three
> "enterprise" developers is *ever* going to know about, much less use.
> 
No, "Framework" is a separate point in his original list.
Allow me to quote:

> BLS wrote:
> GUI for major platforms 60-80.000 LOC, 3 - 6 devs // what I contested
> DAO 20-30.000 LOC, 2 - 4 developers // what's a DAO anyway?
> *Framework* architecture (depends) 20.000 LOC, 2 -4 developers

> That GUI has to be able to make coffee and referee football matches by
> the time it's done.
> 
> Plus, they haven't even gotten around to using the word "paradigm" yet;
> that's at least another 15k lines of code! :P
All too true.

> 
> 	-- Daniel
> 

--downs
> P.S.  MinWin 4 evar!
:)
September 29, 2007
Re: GUI strategy?
Daniel Keep schrieb:
> 
> downs wrote:
>> BLS wrote:
>>> Indeed, seems to be a huge project. And for sure not doable for a single
>>> human beeing.
>>>
>>> Let's make some realistic guesses
>>>
>>> GUI for all major platforms 60-80.000 LOC, 3 - 6 developers
>> Just for the book, yawr's GUI is ~1500 LOC, 1 dev. :)
>> Now admittedly, that's only the widgets I needed for YAWR, so it's
>> rather limited, but still, 60k sounds a little much.
>>  --downs
>>
> 
> Ah, but you're forgetting: he asked for a "framework" not a GUI toolkit.
>  "Framework" implies all sorts of useless junk no one outside of three
> "enterprise" developers is *ever* going to know about, much less use.
> 
I am not nessesarily talking about Enterprise frameworks.
Ever heard about RoR, .NET, MVC, DAO, MFC ? :) All of them are relative 
small but usefull frameworks.

Beside, at least parts of Enterprise Framework patterns have found there 
 way into smaller frameworks. just to name one: The Active Record pattern.

> That GUI has to be able to make coffee and referee football matches by
> the time it's done.
> 
> Plus, they haven't even gotten around to using the word "paradigm" yet;
> that's at least another 15k lines of code! :P
> 
> 	-- Daniel
> 
> P.S.  MinWin 4 evar!
MinWin ? I guess you don't have to sell your products. :) Seriously, I 
need a GUI which works on db-tables, sortable/searchable table-controls 
I need grids,tree-tables,charts etc. In other words, D is not usable for 
me as production system.
Bjoern
September 29, 2007
Re: GUI strategy?
Regan Heath wrote:

> Don't get me wrong I'm all for there being as many GUI libraries as
> people want, all with myriad pros/cons, but the downside of this can be
> seen in the current situation where we have a number of half finished
> libraries.

> It would be better to focus effort on one library and get it to a stage
> where it's good enough to use for a major project.  At least then if
> people write custom components etc it's likely they're written for this
> library and not some other one.

Look, open source model doesn't work like this in general. First you have to
make people agree on license, then supported platforms (OSes, supported
compilers, build tools, tango vs phobos, ...), coding conventions (tabs vs
spaces, placement of braces, use of templates, exceptions, OOP vs AOP vs
LOP vs C-style functions, documentation syntax, ...), NIH factor
(especially if any commercial entity shows interest), etc. The end result
is a cartesian product of all these. The only thing people agree on is the
language (well, some might still want to write parts of the product using
scripting languages and/or assembler and so on).
September 29, 2007
Re: GUI strategy?
Regan Heath wrote:

>> People complain that D needs a GUI because people are stupid and 
>> incompetent, and don't understand the concept of third-party libraries.
> 
> Harsh.. I prefer to think they are simply un-enlightened as to the 
> presence of dsource.  I think having a standard D gui library alongside 
> the standard D library would be beneficial, even if it just does the 
> basics.  As long as it is enough to get people coding in D.

And I would still like to see D examples use MinWin rather than just the
Windows API, even if all MinWin does is play a basic game of Empire...

With examples, I mean for instance "dmd/samples/d/winsamp.d" ? See also:
http://lists.puremagic.com/pipermail/digitalmars-d/2006-October/008912.html

--anders
September 29, 2007
Re: GUI strategy?
Bill Baxter wrote:
> Frank Benoit wrote:
>> Again and again it is said in this newsgroup: "D needs a GUI"
>> But there are existing alternatives:
>> DFL/GTKD/MinWin/DWT/wxD/....
>> (and more http://www.prowiki.org/wiki4d/wiki.cgi?GuiLibraries)
>> So I think some ppl are happy with one of those existing solutions.
>>
>> So what is missing for those, who say D needs a GUI?
>>
>> In the world outside of D, there are those big ones:
>> - .NET/Mono
>> - Eclipse RCP, Netbeans
>> - QT
>> - ...?
>>
>> They all are not only a GUI, say a collection of basic controls. They
>> are complete frameworks. They offer complete Dialogs, separation of data
>> and presentation (MFC/data binding), persistance, update mechnisms,
>> docking systems, extension mechanisms, tools, IDE support, commercial
>> support, ...
>>
>> Is it something like this, ppl mean if they say 'D needs a GUI'?
>> I can only speak for myself, and yes, that is what I think. I wish i
>> could use a framework, which has an answer for many of the common tasks
>> while building a GUI application.
>>
>> What do you think, does this problem "D needs a GUI" really exist?
>> Seriously, how can this be solved in the next 1..2 years?
>> ... and who will do it?
> 
> I think who will do it is the real issue.  Without a leader the GUI will 
> die.  Walter didn't kill DWT by giving it his blessings, the main 
> developer(s) killed it by moving on to other things.
> 
> If you're going to make THE gui for D (or any language), then you'd 
> better be prepared to embark on a 5-10 year, or perhaps even life-long 
> project.  You'll need to make frequent releases.  And you better respond 
> to people's questions.  Not just this week but for the next 5-10 years. 
>  And have a bug tracker and use it.  And treat people's patches as 
> precious, either telling them why you're rejecting them or incorporating 
> them ASAP.  And write lots of documentation and tutorials and example 
> programs demonstrating your library.
> 
> And really that applies to any big open source library or project.
> 
> People don't want to rely on any project that seems to be the main 
> developer's "when I can find time" side project.
> 
> Currently DFL seems the closest to me to having this kind of dedicated 
> leader.  Hmm.. maybe I should see if there's anything to do to help DFL 
> out...
> 
> --bb

Whatever happened to making the code clean and structured enough so that 
other people can re-use it, even if the main developer now has no time?

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
September 29, 2007
Re: GUI strategy?
Daniel Keep wrote:
> Walter "blessed" DWT (I believe it was) and... it promptly died.
> 
> Granted, we've got Tioport making excellent progress now, but I don't
> think Walter wants to bless any particular library that he himself isn't
> responsible for.
> 
> As for getting the community to agree on one, good luck on that.  I
> remember lots of threads about designing a community-standard, and no
> one could agree on something as basic as: should it owner-draw or use
> native widgets.  Both sides have very good, solid arguments for them.
> And people in general have a habit of (sometimes violently) backing
> their very good, solidly justified team. :)
> 

Nor will there ever be an agreement on those issues, just as there isn't 
outside of the D community. It seems to be kinda like static vs. dynamic 
languages where everyone has a favorite that more adequately suits them, 
but no objective best one.
Still, I think it would be reasonable to hope that at least in each 
category, there could be a standard (as in, de facto) GUI library.


-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
September 29, 2007
Re: GUI strategy?
Bruno Medeiros wrote:
> Bill Baxter wrote:
>> Frank Benoit wrote:
>>> Again and again it is said in this newsgroup: "D needs a GUI"
>>> But there are existing alternatives:
>>> DFL/GTKD/MinWin/DWT/wxD/....
>>> (and more http://www.prowiki.org/wiki4d/wiki.cgi?GuiLibraries)
>>> So I think some ppl are happy with one of those existing solutions.
>>>
>>> So what is missing for those, who say D needs a GUI?
>>>
>>> In the world outside of D, there are those big ones:
>>> - .NET/Mono
>>> - Eclipse RCP, Netbeans
>>> - QT
>>> - ...?
>>>
>>> They all are not only a GUI, say a collection of basic controls. They
>>> are complete frameworks. They offer complete Dialogs, separation of data
>>> and presentation (MFC/data binding), persistance, update mechnisms,
>>> docking systems, extension mechanisms, tools, IDE support, commercial
>>> support, ...
>>>
>>> Is it something like this, ppl mean if they say 'D needs a GUI'?
>>> I can only speak for myself, and yes, that is what I think. I wish i
>>> could use a framework, which has an answer for many of the common tasks
>>> while building a GUI application.
>>>
>>> What do you think, does this problem "D needs a GUI" really exist?
>>> Seriously, how can this be solved in the next 1..2 years?
>>> ... and who will do it?
>>
>> I think who will do it is the real issue.  Without a leader the GUI 
>> will die.  Walter didn't kill DWT by giving it his blessings, the main 
>> developer(s) killed it by moving on to other things.
>>
>> If you're going to make THE gui for D (or any language), then you'd 
>> better be prepared to embark on a 5-10 year, or perhaps even life-long 
>> project.  You'll need to make frequent releases.  And you better 
>> respond to people's questions.  Not just this week but for the next 
>> 5-10 years.  And have a bug tracker and use it.  And treat people's 
>> patches as precious, either telling them why you're rejecting them or 
>> incorporating them ASAP.  And write lots of documentation and 
>> tutorials and example programs demonstrating your library.
>>
>> And really that applies to any big open source library or project.
>>
>> People don't want to rely on any project that seems to be the main 
>> developer's "when I can find time" side project.
>>
>> Currently DFL seems the closest to me to having this kind of dedicated 
>> leader.  Hmm.. maybe I should see if there's anything to do to help 
>> DFL out...
>>
>> --bb
> 
> Whatever happened to making the code clean and structured enough so that 
> other people can re-use it, even if the main developer now has no time?
> 

It's fine.  But it's not enough.

--bb
September 29, 2007
Re: GUI strategy?
Yigal Chripun wrote:

> 
> IMHO, you are right about NOT having a standard GUI library as part of
> D. however, regarding the current options we have - it not a trivial
> task to install any of them, in the sense that dsss net install should
> be all i need to start using any of them.
> 

dsss net install minwin
September 29, 2007
Re: GUI strategy?
I have been writing a GUI library from scratch in D for over a year now. Of course, I would like it to become the most popular GUI for D (who wouldn’t?), but regardless I have had fun working on it and using it for my own programs.

Here is what I think about the current GUI libraries:
My problem with DFL is that since it uses native Windows controls and copies Windows Forms so much IMO it would be difficult to get working right on Linux and Macintosh. Other than that, I think it works great on Windows.
As far as GTKD and DUI, I would never in a million years consider using GTK, as it looks horrible on Windows (and probably Macintosh).
Does DWT have a different API on each platform? If so, that rules it out for me.
With wxD, since wxWidgets uses native controls, it looks good on every platform most of the time and already works on Windows, Linux, and Macintosh. I don't really like its API, but if I were not writing my own library, I would probably use wxD.
Note that I have never used any of these libraries, but I have looked at documentation and examples. And I have used programs that use their underlying libraries (GTK, SWT, wxWidgets).

For my library, I decided to not use native controls, partly to make it easier to port and use on different platforms and partly for flexiblity. I already have working Windows and X backends, and partially implemented buttons, check boxes, radio buttons, list boxes, tabs, text boxes, themes, file and directory dialogs, and clipboard support. For graphics, I am using the cairo graphics library http://cairographics.org

My biggest goal is ease of use and the ability to do tasks with the shortest, simplest code. I do not want a large, bloated library, and, so far, the GUI part is only about 5,000 LOC. I believe 20,000 LOC for a GUI library is more than enough. (for most features, anyway. There are lots of features a GUI library could have that would be nice, but not necessary, such as an SVG renderer.)

Bill Baxter Wrote:
> If you're going to make THE gui for D (or any language), then you'd 
> better be prepared to embark on a 5-10 year, or perhaps even life-long 
> project.  You'll need to make frequent releases.  And you better respond 
> to people's questions.  Not just this week but for the next 5-10 years. 
>   And have a bug tracker and use it.  And treat people's patches as 
> precious, either telling them why you're rejecting them or incorporating 
> them ASAP.  And write lots of documentation and tutorials and example 
> programs demonstrating your library.

I agree. All of this is important for a widely used library.

I cannot see myself stopping work on this project, as I am fairly addicted to using computers, and this is something that I really like doing. I do work on it in my spare time and am in college, but I have still done a lot in the last year. I have not released it yet, but when I do, I would like to get other people involved. I still have a few things to do before I put it on the internet, such as get the Windows and X backend to have the same functionality, fix the naming convention, move to tango, and get a final name.
(How’s Daimyo? It is short and starts with a D. http://en.wikipedia.org/wiki/Daimyo )
September 29, 2007
Re: GUI strategy?
Tomas Lindquist Olsen wrote:
> Yigal Chripun wrote:
> 
>> IMHO, you are right about NOT having a standard GUI library as part of
>> D. however, regarding the current options we have - it not a trivial
>> task to install any of them, in the sense that dsss net install should
>> be all i need to start using any of them.
>>
> 
> dsss net install minwin
> 
> 
actually i've done just that a few days ago and while it did install it 
didn't work for me. had problems with the the imports or something like 
that. does minwin work with tango? (i prefer to use tango myself)
1 2 3 4
Top | Discussion index | About this forum | D home