[Lazarus] fpGUI

michael.vancanneyt at wisa.be michael.vancanneyt at wisa.be
Mon Jan 17 11:03:00 CET 2011



On Mon, 17 Jan 2011, Sven Barth wrote:

> Am 17.01.2011 10:18, schrieb michael.vancanneyt at wisa.be:
>> 
>> 
>> On Mon, 17 Jan 2011, Graeme Geldenhuys wrote:
>> 
>>> Op 2011-01-17 09:33, Martin Schreiber het geskryf:
>>>> Graeme, - please, no offending meant -
>>> 
>>> None taken.
>>> 
>>> 
>>>> fpGUI has implemented at the moment probably less than 50% of a good RAD
>>>> development environment like Lazarus, Delphi or MSEide+MSEgui.
>>> 
>>> RAD is overrated (marketing speak) and only good for prototyping.
>> 
>> I beg to differ. When used properly, RAD is just that: RAD.
>> But it takes someone who knows what he's doing to properly set it up.
>> 
>> Out of the box, Delphi (or lazarus) needs a lot of work if you want to
>> use it for large applications. But with the right subclasses,
>> properties, wizards and component editors, RAD is the best you can do to
>> create applications quickly. Doubly so if your development team
>> consists of people of various skill levels.
>
> Out of curiosity: what would Lazarus need according to you to be a good RAD 
> IDE?

Nothing. It has all it needs.
Maybe more controls in the style of TButtonPanel: specialized controls.

Each project/firm/team has its own design goals. Lazarus (or Delphi) cannot
cater for all these goals. But they do allow you to extend the IDE so you
can keep working in a RAD way and still follow your design goals with a
minimum of effort.

I have an application with 1500 forms. It would be madness to have to set
over and over again the same set of properties and event handlers to
save/restore formlayout, ask to save unsaved data, sort grids and whatnot. 
So
- You create a descendent of TForm (or TCustomForm)
- You add all 'common' functionality to this descendant, plus lots of extra
   properties to control this functionality.
- You register this form in the IDE under File/New
- You do the same for common controls. Grids, date edits, whatnot. You
   register them on the component palette.
- Create a wizard that creates an initial layout for the form, based on the
   data you'll be editing in that form. (we use 3-tier data, but you can do
   exactly the same for a persistence framework)

After that, you create new forms extremely fast without losing RAD
functionality: a pure point-and-click environment, which is always 
faster than coding, and which is understood by people of many skill levels.

Many forms in my applications don't have any form-specific code associated 
with them whatsoever: just the class declaration and form file. Yet they 
offer a lot of functionality out of the box.

Since it is simply OOP, You could do all of this in code, but code is slower
to create and is more error-prone. Hence RAD and point-and-click.

Michael.




More information about the Lazarus mailing list