[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