> In article <✉forums.codegear.com>, Loren Szendre wrote:
>> I think that many developers have projects that could never be
>> recompiled for another platform.
>
> I'm sure that's true, yes. You have to build for cross-platform from the
> start.
Exactly. When you start using a new architecture on any level, it takes
significant time for it to infiltrate into all stages of planning,
designing, development and testing. For example, we started using
RemObjects Data Abstract years ago -- and yet we're still finding ways
to re-architect our framework, based on it's capability.
>> We have taken advantage of the great specialization and benefits
>> that a come from focusing on a single platform.
> describe as a 'benefit'. In most cases the result is just a non-standard
> GUI that -- because it is non-standard -- is harder for end users to
> learn.
The deviations we have made were specifically to make the application
far easier to learn, and we are well known in our industry for only
requiring 10-15 minutes for new employees to learn 75% of what they need
to use our apps. But, having said that, those innovations could be
implemented on any platform.
> I consider it a benefit of cross-platform development that the
> programmer is encouraged to concentrate on the business logic rather
> than being distracted by obscure GUI 'tricks'.
Yes, that is a huge benefit. But when over 99% of your potential
customers use Windows, and you use an amazingly productive development
tool for that platform, you tend to focus your efforts on things that
bring in additional revenue.
> That's not to say that platform-specific customization of cross-platform
> frameworks isn't possible, just that it isn't necessary.
One thing I had in mind specifically was simply using the Quantum Grid
from DevEx. Such an amazingly complex component would obviously not be
included in any cross-dev toolkit, because one vendor would have to
provide 3 separate components (for Win, Linux & Mac) -- that were
radically different under the hood, but still had the same public
interfaces for programmers, including the skinning.
But yet, our users love that component, and would skin us alive, were we
to take it out, after exposing them to it. There are other examples, but
that should suffice.
Loren sZendre