I sort of disagree - A common VCL is the ideal solution.
What makes Delphi a success on Windows is that it is Pascal and also close
enough to the Windows controls that it produces what looks like native Windows
applications, using the best of Windows XP/Vista/7 appearances.
If they do a Mac version I reckon to be cool and admired has to be the same –
it has to be close to the Cocoa interface and make native Mac applications.
Each VCL control has to to give most or all of the latest mac control
equivalents.
That way there will be some differences – some properties of controls and
events on Windows will not have an exact matching mac equivalent....probably
the best is to just the property or event map to the matching equivalent on mac
if its close, otherwise ignored. That way code can be moved back and forth,
and some parts – eg some events will not work – so the programmers can attack
them one at a time to insert the mac equivalent...
cases like that you have almost no alternative but to have ifdef’d code, but
hopefully manageably small cases.
This is better than having a bland lowest common demominator VCL.
There are some examples out there of cross platform applications and frameworks
– these are quite a long way ahead of Delphi as far as cross platform, so
unless Delphi can do it in a more elegant way than its been done already it may
cater for Delphi apps but won’t pick up programmers from other languages. I
think the main other successes out there are Webkit (whatever is used as core
of Chrome and Safari) QT which I think is underneath Opera, XULRunner which
is behind Firefox and Thunderbird. Apple have made cross platform versions of
iTunes as well, and MS has mac versions of MSOffice – so these also must have
some strategy for managing code across different OS’s. Java too – although in
that case its mainly the JVM that is tailored to each OS? I would be most
interested to hear more of how they all do it compared to what Delphi could do
better.
I am also involved in the Firefox community and one of the main debates there
is how much the code and UI should be same across all and how much it should
blend in with the OS themes and styling – the next version of Firefox (V4) for
instance will get quite different appearances (more than now for instance) on
XP, Windows 7, mac and linux to better fit in with each OS styling.
John
On 30 November 2010 09:56, Jolyon Smith <jsm...@deltics.co.nz> wrote:
What we need is a Delphi for Cocoa.
What we *don't* need is a Delphi (or a VCL) for a Lowest Common Denominator
that fits Windows and Mac and Linux and phones and toasters and key-fobs.
Totally agree with Jolyon.
Initially, I was really looking forward to Delphi for Mac. But the more I think
about it, solutions that are not based on the native GUI frameworks for each
platform will most likely result in sub-par applications. If I want to design a
cross-platform app for both Windows and Mac, then my design decision would be
to refactor out all of the non-gui logic into their own units and then build
separate user interfaces using the native UI components for each platform.
As Jolyon stated, what makes sense/looks good in a Mac application does not
necessarily make it appropriate for a Windows application and vice versa. If
you want to do a proper job, you will most likely create seperate UI's for each
platform. If that, being the case, it makes no sense to aim for that lowest
common denominator because in the end you will please neither of your Windows
or Mac users.
I think Embarcadero's plan to use a common 'VCL" will initially satisfy the
uninitiated who wants to go cross-platform "easily" and "quickly" but will be
annoying if you want to create apps that are designed specifically for the
platform that they are to be hosted on. I see this as the same problem with the
attempt to get existing Delphi applications Unicode-ready. The ideas was to
make it "easy" for existing code to become Unicode but it made it confusing for
new apps going forward. I think this will be the same for cross platform
development for Delphi using this common VCL approach.
Colin
--------------------------------------------------------------------------------
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject:
unsubscribe
_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject:
unsubscribe