21. Aug 2010 

Interessante Ausführungen von Peter Bozek zu 4D und UI elements

I will add few thoughts. We were discussing with 4D how to draw current UI elements in external area. 4D told us to do as they do - to not use high-level controls, but use low-level drawing and handle user interaction itself.

It means that while 4D uses carbon, it uses low-level Carbon calls that were not deprecated as they were (are) common for both Carbon and Cocoa. They are not called 'Carbon' by Apple any more, but they are not Cocoa either.

This gives 4D some kind of security against policy changes of Apple and offer better cross-platform development but at (IMHO quite considerable) price. They cannot install system UI object - button or popup or editable field - and let system handle events. They need to interpret all low-level events (clicks, key press) and use low-level routines to adjust drawing. That's a lot of work.

IMHO, 4D went the other direction that other software companies, and time will tell if it was wise. I would rather see 4D use some well supported OO cross platform framework.

For us as a plugin developer this is quite a problem. 4D may have manpower to emulate all high-level controls within 4D, but we just cannot write our own text editing controls, buttons, scrollbars, popups etc.

Peter Bozek