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

Reply via email to