Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2009-03

Mac OS X or iPhone applications created with Lazarus

17 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

I am hearing constant battering that you cannot create native looking Mac or iPhone applications with Lazarus. By the way, these comments come from the CodeGear non-technical newsgroup. Is there any truth to this? If not, can anybody post some screenshots on the Lazarus wiki or something so I can send Joanna Carter and others to that link to prove the point? Free Pascal and Lazarus could be a solution to native Mac and iPhone apps without resorting to learning and only using Objective C. Sorry, I know nothing about Macs so I can't comment on these.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Florian Klaempfl
to Graeme Geldenhuys
Hi, I am hearing constant battering that you cannot create native looking Mac

http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg http://wiki.lazarus.freepascal.org/Carbon_interface_internals

or iPhone applications with Lazarus.

The iPhone support is too new so no lazarus is available for it yet. But FPC supports it natively:
http://wiki.lazarus.freepascal.org/iPhone/iPod_development

By the way, these comments come from the CodeGear non-technical newsgroup. Is there any truth to this?

You still believe anything posted in non-technical?

Reply by email

zeljko
to Florian Klaempfl
Florian Klaempfl wrote 14 lines
Graeme Geldenhuys schrieb: > Hi, > > I am hearing constant battering that you cannot create native looking > Mac http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg http://wiki.lazarus.freepascal.org/Carbon_interface_internals > or iPhone applications with Lazarus. The iPhone support is too new so no lazarus is available for it yet. But FPC supports it natively: http://wiki.lazarus.freepascal.org/iPhone/iPod_development

There's also pretty much traffic on qt lists about iPhone support :)

Show quoted text 5 lines
> By the way, these comments > come from the CodeGear non-technical newsgroup. Is there any truth to > this? You still believe anything posted in non-technical?

I don't believe in anything connected to Borland/CodeGear. (anyone remember kylix story? )
They have to sit down and shutup about lazarus/fpc. First look at your own yard , then to others.

Reply by email

Felipe Monteiro de Carvalho
to Graeme Geldenhuys: I am hearing constant battering that you cannot create native looking Mac or iPhone…
Graeme Geldenhuys wrote
I am hearing constant battering that you cannot create native looking Mac or iPhone applications with Lazarus. ?By the way, these comments come from the CodeGear non-technical newsgroup. Is there any truth to this?

No, Lazarus now has an excelent support for Carbon, which uses the native Aqua look from Macs. Here a screenshot of Lazarus running in Mac OS X:

http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

You can note that the menu is integrated in the top bar, it shows properly in the Dock and I think that even dropping files in it should work (althought I didn't test). No X11 is required and copy+paste and all other normal desktop integration works normally.

Of course Lazarus has the same general look in all platforms, but users are free to tune their applications for Macs if they want. The native controls from Apple are used, so not much difference to Objective-C apps should be expected.

And to kill any counter argument, if you want to create applications by using Cocoa directly you can also do that using PasCocoa, which has no difference from other applications created with Xcode: http://wiki.lazarus.freepascal.org/PasCocoa

So there is absolutely no truth in that statement.

Felipe Monteiro de Carvalho

Reply by email

dmitry boyarintsev
to Felipe Monteiro de Carvalho

What do you mean, there's no Lazarus support?
Lazarus is not LCL only, it's first of all the excellent FreePascal IDE! i don't know any other IDE with complete Code Tools support!

I'm using Lazarus for iPhone (simulator) dev as well. There are only two things preventing from creating FPC iPhone games: i have no device, no license :) Very sorry!

Anyway, Lazarus is "almost" iPhone ready! It only lacks additional platforms (iPhoneOS and iPhoneSim) added, otherwise building for "Darwin" links Carbon framework. I did change IDE for myself (adding 2 iPhone platfroms), would this kind of patch useful? or is it too early for it?

Thanks,
Dmitry

Reply by email

Vincent Snijders
to dmitry boyarintsev

2009/3/23, dmitry boyarintsev :

Show quoted text 14 lines
What do you mean, there's no Lazarus support? Lazarus is not LCL only, it's first of all the excellent FreePascal IDE! i don't know any other IDE with complete Code Tools support! I'm using Lazarus for iPhone (simulator) dev as well. There are only two things preventing from creating FPC iPhone games: i have no device, no license :) Very sorry! Anyway, Lazarus is "almost" iPhone ready! It only lacks additional platforms (iPhoneOS and iPhoneSim) added, otherwise building for "Darwin" links Carbon framework. I did change IDE for myself (adding 2 iPhone platfroms), would this kind of patch useful? or is it too early for it?

This is useful.

It would be nice if you could document the steps to create your setup in the wiki (if not already done) and help me to create installers which support this setup.

Vincent

Reply by email

dmitry boyarintsev
to Vincent Snijders
It would be nice if you could document the steps to create your setup in the wiki (if not already done) and help me to create installers which support this setup.

sure, i'll make a patch for IDE, and create an article on how-to use Lazarus for iPhone, this saturday.

Reply by email

dmitry boyarintsev
to dmitry boyarintsev

One more, and VERY IMPORTANT thing!

Even developing using Lazarus only, does not make XCode useless. XCode is necessary to upload the applicaiton to the device. It's still unknown how XCode actually do this, so the tool (Laz2XCode), that creates an XCode FPC project from Lazarus project is of a great necessity!
Uploading applications to the iPhone simulator can be done without XCode! But developing for simulator only is not really fun, after all.

Thanks,
Dmitry

Reply by email

Bee
to Graeme Geldenhuys: I am hearing constant battering that you cannot create native looking Mac or iPhone…
I am hearing constant battering that you cannot create native looking Mac or iPhone applications with Lazarus.?By the way, these comments come from the CodeGear non-technical newsgroup. Is there any truth to this?

I can make sure you, they're wrong. I'm using FPC/Lazarus on Mac Leopard on daily basis. Both work well, though Lazarus is still a Carbon app. Yes, Carbon is about to be deprecated, but it wouldn't be happen tomorrow, perhaps 2-3 years from now. By the time, I do hope Cocoa binding already mature enough to replace Carbon.

Show quoted text 6 lines
If not, can anybody post some screenshots on the Lazarus wiki or something so I can send Joanna Carter and others to that link to prove the point? Free Pascal and Lazarus could be a solution to native Mac and iPhone apps without resorting to learning and only using Objective C. ?Sorry, I know nothing about Macs so I can't comment on these.

They're ignorant people. No matter how many facts you're giving to them, they would still reject them. They'll keep saying FPC/Lazarus would never leave the "beta" status and not ready to be used on real work. They just want to have Delphi, or other alternatives, but *not* FPC/Lazarus. I don't really understand why do they hate FPC/Lazarus so much? What did we do to them anyway?. :(

-Bee- has Bee.ography at: http://beeography.wordpress.com

Reply by email

Bee
to Felipe Monteiro de Carvalho: On Mon, Mar 23, 2009 at 1:52 PM, Graeme Geldenhuys No, Lazarus now has an excelent…
No, Lazarus now has an excelent support for Carbon, which uses the native Aqua look from Macs. Here a screenshot of Lazarus running in Mac OS X: http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

I can provide better screenshot of Lazarus (9.27) running on Mac (10.5.6), if you want.

You can note that the menu is integrated in the top bar, it shows properly in the Dock and I think that even dropping files in it should work (althought I didn't test). No X11 is required and copy+paste and all other normal desktop integration works normally.

Yes, they all work normally. Some glitches are still there, but most are minor. And, the IDE behaves weirdly after long usage, especially the debugger. Sometimes the compiler failed to compile with internal error message. I usually faced these weird behaviors after 8 hours or more of usage. I have to restart the whole OS to make it work normal again.

And to kill any counter argument, if you want to create applications by using Cocoa directly you can also do that using PasCocoa, which has no difference from other applications created with Xcode: http://wiki.lazarus.freepascal.org/PasCocoa

I believe there wouldn't many people like to write code that way. People want Cocoa binding to be as good as GDI or GTK, and can be used directly by and from the IDE/LCL. It's just a matter of time, I suppose. :)

-Bee- has Bee.ography at: http://beeography.wordpress.com

Reply by email

Felipe Monteiro de Carvalho
to Bee
Bee wrote
I can provide better screenshot of Lazarus (9.27) running on Mac (10.5.6), if you want.

Please do it. The wiki is exactly to provide an easy way for people to contribute.

I believe there wouldn't many people like to write code that way. People want Cocoa binding to be as good as GDI or GTK, and can be used directly by and from the IDE/LCL. It's just a matter of time, I suppose. :)

It isn't much different from how objective-c users make their apps. I think that a good Cocoa interface for Lazarus would actually offer much more then objective-c users have with Xcode.

Felipe Monteiro de Carvalho

Reply by email

Graeme Geldenhuys
to Felipe Monteiro de Carvalho: On Mon, Mar 23, 2009 at 1:52 PM, Graeme Geldenhuys No, Lazarus now has an excelent…
Felipe Monteiro de Carvalho wrote 6 lines
No, Lazarus now has an excelent support for Carbon, which uses the native Aqua look from Macs. Here a screenshot of Lazarus running in Mac OS X: http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

OK, so that means there is only a Visual Forms Designer for Carbon apps and not for Cocoa apps because LCL-Cocoa doesn't exist yet? Is this correct? That also means all Carbon application will stop working with OS-X Leopard because Carbon is not available for 64bit. So the only option at the moment for Lazarus and Leopard Mac is to use the latest Qt (which has Cocoa support now).

Apparently that is what Joanna Carter is referring to. Lazarus and Cocoa support - because Carbon is dead in the water.

http://wiki.lazarus.freepascal.org/Roadmap#Status_of_components_on_each_widgetset

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

dmitry boyarintsev
to Graeme Geldenhuys
OK, so that means there is only a Visual Forms Designer for Carbon apps and not for Cocoa apps because LCL-Cocoa doesn't exist yet? ?Is this correct?

LCL-Cocoa does exists. http://wiki.lazarus.freepascal.org/PasCocoa It's about 2% done, but it exists :)

working with OS-X Leopard because Carbon is not available for 64bit. So the only option at the moment for Lazarus and Leopard Mac is to use the latest Qt (which has Cocoa support now).

Leopard is NOT 64-bit only, so there's no problems with using Carbon too. Infact, half of the Carbon API is used at the Cocoa base iPhone OS. And will be used!

Thanks,
Dmitry

Reply by email

Graeme Geldenhuys
to dmitry boyarintsev
dmitry boyarintsev wrote
LCL-Cocoa does exists. http://wiki.lazarus.freepascal.org/PasCocoa It's about 2% done, but it exists :)

PasCocoa is only the Cocoa bindings correct? I see in the latest Lazarus (svn) that LCL-Cocoa is marked pre-alpha, so clearly it's not usable yet and Lazarus itself can't be compiled with LCL-Cocoa - which is the point I was trying to make.

Out of interest... Does Carbon and Cocoa applications look different? Joanna immediately said that the screenshot (link below) is a Carbon app, not a Cocoa app. How does the look of the two differ?

http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

Leopard is NOT 64-bit only, so there's no problems with using Carbon too.

Ah okay. Isn't Leopard the latest version? I thought Apple decided that it will now only be a 64bit OS - or is that for the upcoming Snow Leopard release? If they moved to 64bit only, then surely that will kill off the Carbon API.

[I hate these release names!!!! Same thing for Ubuntu. You never know which version it older or newer. Can't they simply stick to damn version numbers!!]

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

zeljko
to Graeme Geldenhuys
Graeme Geldenhuys wrote 5 lines
Out of interest... Does Carbon and Cocoa applications look different? Joanna immediately said that the screenshot (link below) is a Carbon app, not a Cocoa app. How does the look of the two differ? http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

Dont know about screenshot, but there you can see the explanation of screenshoot
"A screenshot of Lazarus 0.9.25a on MacOs-X Tiger" :), so if she looked into wiki page, it isn't so hard to guess that it isn't Cocoa. btw. Qt-4.5 supports Cocoa (laz + lclqt should work), so if anyone have Leopard 64bit it can be tested (qt-4.5 works with 4.4 bindings, at least on my Tiger).

Reply by email

dmitry boyarintsev
to Graeme Geldenhuys: On Thu, Mar 26, 2009 at 10:00 PM, dmitry boyarintsev PasCocoa is only the Cocoa bindings…
PasCocoa is only the Cocoa bindings correct? ?I see in the latest Lazarus (svn) that LCL-Cocoa is marked pre-alpha, so clearly it's not usable yet and Lazarus itself can't be compiled with LCL-Cocoa - which is the point I was trying to make.

If you need LCL application for Mac - use Carbon widgetset for now. Cocoa support will be extended in future.

Show quoted text 5 lines
Out of interest... Does Carbon and Cocoa applications look different? Joanna immediately said that the screenshot (link below) is a Carbon app, not a Cocoa app. ?How does the look of the two differ? http://wiki.lazarus.freepascal.org/Image:Lazarusmac0.9.25.jpg

here're two screen shots:
Carbon application: http://imagebin.org/43293
Cocoa applicaiton: http://imagebin.org/43294

do they look much different?
well, yeah, windows color differs, because defaults settings are different for Carbon and Cocoa libs, but still everything is easily configurable. Generally speaking, there's no way to determine if application is Carbon or Cocoa from it's user interface.

Infact, Carbon and Cocoa can NOT look different, because both frameworks are using underlaying Aqua composite engine. http://en.wikipedia.org/wiki/Aqua_(user_interface)

Ah okay. Isn't Leopard the latest version? I thought Apple decided that it will now only be a 64bit OS - or is that for the upcoming Snow Leopard release? If they moved to 64bit only, then surely that will kill off the Carbon API.

Yes, Leopard is the latest (see the wiki page desribing Aqua interface, there's version numbers and their names) Apple announced Snow Leopard (10.6) to be released - for Intel-only Macs. But still Carbon support will be provided as well as support for 32-bit applications.
Apple cannot kill Carbon, it's been discussed multiple times (google for: Carbon, 64-bit and Photoshop)

Thanks,
Dmitry

Reply by email

Ron Grove
to Graeme Geldenhuys: On Thu, Mar 26, 2009 at 10:00 PM, dmitry boyarintsev PasCocoa is only the Cocoa bindings…
Ah okay. Isn't Leopard the latest version? I thought Apple decided that it will now only be a 64bit OS - or is that for the upcoming Snow Leopard release? If they moved to 64bit only, then surely that will kill off the Carbon API.

Unlike Windows and Linux there isn't a 64 bit version of OS X and a 32 bit OS X version. There's only one OS X and they're moving all core services to 64 bit, but 32 bit still works fine. Eventually they'll pull the plug on that, but who knows how long. There are still a lot of Carbon apps out there.

Thank you,
Ron

Reply by email