Delphi Prism and Cross-Platform

I own a copy of Oxygene . I only used it for some ASP.NET developement and 
never really looked at its Mono integration. Now its going to be shipped 
under a new brand with some new features. Now I wonder to what level we'll 
be able to deploy cross platform applications. Today I started a new app in 
Oxygene but couldn't figure out how to target mono. There are separate 
project templates under MonOxide category called Cocoa(Tiger), 
Cocoa(Leopard), WinForms (MAC OS X) and GTK#.

1) Can I start a new Windows Forms project and target it for all platforms?

or

2) Should I start a new app separately for each platform?

3) Can I develope Cross Platform apps in a "single source/single resource" 
manner?

4) Is the VS Studio Visual Form Designer available for all platforms?

5) Can we deploy same binaries to all supported platforms?
0
farshad
10/30/2008 11:06:50 AM
embarcadero.delphi.non-tech 5933 articles. 1 followers. Follow

18 Replies
619 Views

Similar Articles

[PageSpeed] 59

> 1) Can I start a new Windows Forms project and target it for all platforms?

yes the binary should run on all platforms...
But make sure that all the components you use exist for Mono Winforms:
http://www.mono-project.com/WinForms_CodeOwners

> 
> 2) Should I start a new app separately for each platform?
> 
> 3) Can I develope Cross Platform apps in a "single source/single resource" 
> manner?

A better way is to compile all non GUI code in a class lib (or libs) 
that can be used on all the platforms without recompilation.
And create a GUI for each of the platforms. (Winforms for Windows, GTK# 
for Linux and Cocoa# for Mac)
Because while Mono winforms does the job, it will rather awkward on non 
windows platforms...

> 
> 4) Is the VS Studio Visual Form Designer available for all platforms?

VS only exists for windows...

> 5) Can we deploy same binaries to all supported platforms?

Yes


Best Regards,

Jeroen
0
Jeroen
10/30/2008 11:46:34 AM
Farshad Mohajeri wrote:
> 
> 1) Can I start a new Windows Forms project and target it for all platforms?
> 

Yes, but Windows Forms looks very ugly on non-Windows platforms (obviously).

> or
> 
> 2) Should I start a new app separately for each platform?
> 

You should separate the business logic from the GUI and develop a GUI 
for each supported platform using the respective UI frameworks.

Another solution would be to go ASP.NET and make it a web application.

> 3) Can I develope Cross Platform apps in a "single source/single resource" 
> manner?
> 

If the .NET frameworks has everything you need, aside from the UI issue, 
yes.

> 4) Is the VS Studio Visual Form Designer available for all platforms?

Visual Studio is only available for Windows, but if you want to use 
Windows Forms on the other platforms, you can use VS to design your app.

> 
> 5) Can we deploy same binaries to all supported platforms?

Depends on

a) Whether you write a UI for each platform
b) Whether you depend on platform-specific stuff

-- 
Regards
Jens
0
Utf
10/30/2008 11:46:48 AM
There is also this tool:

http://www.mono-project.com/MoMA

It scans compiled assemblies to see if they are compatible with Mono...
0
Jeroen
10/30/2008 12:04:42 PM
"Jeroen Vandezande" <Jeroen.Vandezande@Spathi.be> wrote in message 
news:36215@forums.codegear.com...
>> 1) Can I start a new Windows Forms project and target it for all 
>> platforms?
>
> yes the binary should run on all platforms...
> But make sure that all the components you use exist for Mono Winforms:
> http://www.mono-project.com/WinForms_CodeOwners
>

I thought Prism will check it for me. Will Prism warn me if I use something 
not supported by Mono?

>>
>> 2) Should I start a new app separately for each platform?
>>
>> 3) Can I develope Cross Platform apps in a "single source/single 
>> resource"
>> manner?
>
> A better way is to compile all non GUI code in a class lib (or libs)
> that can be used on all the platforms without recompilation.
> And create a GUI for each of the platforms. (Winforms for Windows, GTK#
> for Linux and Cocoa# for Mac)
> Because while Mono winforms does the job, it will rather awkward on non
> windows platforms...
>

Does it mean that I need to explicitly choose among GTK#, Cocoa# and etc. 
for non-windows platform? Or all that I must do it to design a WinForms app 
and Mono will choose the right GUI for me? That's the point I'm confused!

>>
>> 4) Is the VS Studio Visual Form Designer available for all platforms?
>
> VS only exists for windows...
>

Yes, of course. VS is a Windows only tool. I wanted to know if forms 
designed in VS visual designer can be targeted to all platforms or not.

>> 5) Can we deploy same binaries to all supported platforms?
>
> Yes
>
>

Thanks for reply.

Farshad
0
farshad
10/30/2008 12:09:44 PM
Farshad Mohajeri wrote:
>> Because while Mono winforms does the job, it will rather awkward on non
>> windows platforms...
>>
> 
> Does it mean that I need to explicitly choose among GTK#, Cocoa# and etc. 
> for non-windows platform? Or all that I must do it to design a WinForms app 
> and Mono will choose the right GUI for me? That's the point I'm confused!
> 

You have to explicitly use a widget framework, if you want your app to 
look good, yes.

Mono has WinForms, but it looks very foreign on Linux/MacOS.

-- 
Regards
Jens
0
Utf
10/30/2008 12:23:18 PM
Hi,

> I thought Prism will check it for me. Will Prism warn me if I use something 
> not supported by Mono?

Indeed, you can tell Prism that you want to compile for the Mono 
Framework and then the compiler will do those checks. (C# in VS cannot 
do that)

>>> 2) Should I start a new app separately for each platform?
>>>
>>> 3) Can I develope Cross Platform apps in a "single source/single 
>>> resource"
>>> manner?
>> A better way is to compile all non GUI code in a class lib (or libs)
>> that can be used on all the platforms without recompilation.
>> And create a GUI for each of the platforms. (Winforms for Windows, GTK#
>> for Linux and Cocoa# for Mac)
>> Because while Mono winforms does the job, it will rather awkward on non
>> windows platforms...
>>
> 
> Does it mean that I need to explicitly choose among GTK#, Cocoa# and etc. 
> for non-windows platform? Or all that I must do it to design a WinForms app 
> and Mono will choose the right GUI for me? That's the point I'm confused!

you have two options:
- make a winforms application, that will run on all mono platforms (so 
windows, Mac and Linux) but it will probably only look good on Windows 
and a bit weird in Mac and Linux.

- make a specific gui app for the mac (using Cocoa#) and make a specific 
app for Linux (using GTK#) and a specific app for windows (using winforms)
You can then put all common code in class libraries and use it from the 
3 applications.

At the moment Winforms is the easiest to make a cross platform GUI app 
but it will look not nice, but I just read on the Mono website that they 
are thinking of making a native Cocoa theme for WinForms on Mac... that 
could make Winforms a more viable alternative to Cocoa#

> 
>>> 4) Is the VS Studio Visual Form Designer available for all platforms?
>> VS only exists for windows...
>>
> 
> Yes, of course. VS is a Windows only tool. I wanted to know if forms 
> designed in VS visual designer can be targeted to all platforms or not.

yes you can use VS to create winforms apps that run on Mono.

Best Regards,

Jeroen
0
Jeroen
10/30/2008 12:25:16 PM
Here are also some general tips about cross platform .net development:
http://mono-project.com/Guidelines:Application_Portability


Best Regards,

Jeroen
0
Jeroen
10/30/2008 1:20:07 PM
> Here are also some general tips about cross platform .net development:
> http://mono-project.com/Guidelines:Application_Portability

And some specifics on targeting OS X with Oxygene:

http://devcenter.remobjects.com/articles/?id={8AE001F3-24F1-4973-A8F8-921C7604CB92}
http://devcenter.remobjects.com/articles/?id={2194A1DA-535C-4FC3-86A3-904934EF4FF8}

The shorter links don't seem to be working on remobjects.com currently.
0
Nathanial
10/30/2008 2:20:26 PM
"Jeroen Vandezande"
>
> you have two options:
> - make a winforms application, that will run on all mono platforms (so
> windows, Mac and Linux) but it will probably only look good on Windows
> and a bit weird in Mac and Linux.
>
> - make a specific gui app for the mac (using Cocoa#) and make a specific
> app for Linux (using GTK#) and a specific app for windows (using winforms)
> You can then put all common code in class libraries and use it from the
> 3 applications.
>
> At the moment Winforms is the easiest to make a cross platform GUI app
> but it will look not nice, but I just read on the Mono website that they
> are thinking of making a native Cocoa theme for WinForms on Mac... that
> could make Winforms a more viable alternative to Cocoa#
>

For anything other than WinForms we will need an external Form designer, 
correct?
If so what are the proper designers for GTK and Cocoa?
0
farshad
10/30/2008 3:06:58 PM
Farshad,

>> At the moment Winforms is the easiest to make a cross platform GUI app
>> but it will look not nice, but I just read on the Mono website that they
>> are thinking of making a native Cocoa theme for WinForms on Mac... that
>> could make Winforms a more viable alternative to Cocoa#

possibly. except sinning isn't all that to it. For example WinForms on 
Mac can't magically align your buttons properly, but on the Mac, dialog 
buttons are laid out in a different order than on Windows. if you don't 
take that int account, your Mac customers will keep pressing the wrong 
button to OK/Cancel, and be annoyed quick. just as one example.

in general, i don't think there's a way around properly designing a UI 
for the right platform, if you want to create a serious app - ie 
something better than a "it works" prototype.

> For anything other than WinForms we will need an external Form designer, 
> correct?
> If so what are the proper designers for GTK and Cocoa?

i don't use GTK myself, but iirc it ships with a designer i'll let 
someone else answer this.

for Cocoa, you can use Interface Builder that ships with Xcode (Xcode 
comes free with every Mac). check out

   http://devcenter.remobjects.com?ch07

for a rundown on how this works and how tightly this is integrated with 
Prism in VS. this is very cool stuff, and only Oxygene/Prism has this - 
and we'll be putting more and more focus on good Mac and Linux 
experience with Mono over the next year, so this is just the beginning.

its worth noting that the gut reaction to this might be "what i need to 
use an EXTERNAL designer?" but it's worth pointing out that (a) this s 
the exact same design experience Xcode developers get and (b) that it 
works pretty awesomely (i mysef do a lot of work in Xcode/Objective-C 
lately; in addition f of course using Prism/Mono for Mac stuff).

"separate designer app" does not equal "not well integrated", in this case.

marc
0
marc
10/30/2008 3:41:30 PM
Jens,

> You should separate the business logic from the GUI and develop a GUI 
> for each supported platform using the respective UI frameworks.

not that at least Cocoa(#) aleady uses the MVC model, making this super 
easy. (can you tell from my use of the word "super" here that i've been 
listening to too many talks at PDC this week <g>)

marc
0
marc
10/30/2008 3:43:35 PM
marc hoffman wrote:
> 
> i don't use GTK myself, but iirc it ships with a designer i'll let 
> someone else answer this.

I'm not using it either, but I'm interested in it.

AFAIK you can use the MonoDevelop designer (that creates C# GTK# code) 
or the Glade designer (that creates XML code).

You then have to write the code that connects the layout with the 
buisness logic. This screencast shows how it works:

http://nat.org/demos/gtksharp.html

-- 
Regards
Jens
0
Utf
10/30/2008 3:57:40 PM
> not that at least Cocoa(#) aleady uses the MVC model, making this super 
> easy. (can you tell from my use of the word "super" here that i've been 
> listening to too many talks at PDC this week <g>)

Is it also powerful and dynamic and impactful? :)
0
Nathanial
10/30/2008 3:57:50 PM
> {quote:title=marc hoffman wrote:}{quote}

> possibly. except sinning isn't all that to it.

Religious discussion is forbidden in this forum.  ;)
--
Rick Carter
carterrk@despammed.com
Chair, Delphi/Paradox SIG, Cincinnati PC Users Group
0
Rick
10/30/2008 4:19:35 PM
marc hoffman wrote:
> (can you tell from my use of the word "super" here that
> i've been listening to too many talks at PDC this week <g>)

I wonder how you can stand that. I like presentations that impress by
themselves, without needing all the cheap marketing rhetoric.

Reminds me of that last Delphi presentation I went to, around 1972,
where they had a guy in the back yelling "Delphi rules!" and "Go
Delphi!" That was for Delphi 4, IIRC. <g>
0
Dominic
10/30/2008 4:32:40 PM
Nathanial Woolls wrote:

> The shorter links don't seem to be working on remobjects.com currently.

Yeah, sorry about that - we have a few teething problems still to fix with the new website. We needed to switch over while here at the PDC.

-- 
Mike Orriss
General Project Manager
RemObjects Software
0
Mike
10/30/2008 5:41:10 PM
> Yeah, sorry about that - we have a few teething problems still to fix with 
> the new website. We needed to switch over while here at the PDC.

Yikes, I don't envy that - the site looks great though and the shortened 
links seem to be working again. However, you guys may want to note that the 
links found here:

http://tirania.org/blog/archive/2008/Aug-20-1.html

both seem to be broken.
0
Nathanial
10/30/2008 6:17:21 PM
> Reminds me of that last Delphi presentation I went to, around 1972,
> where they had a guy in the back yelling "Delphi rules!" and "Go
> Delphi!" That was for Delphi 4, IIRC. <g>

Oh, goodness!  Stuff like that makes me cringe.  I get a compelling need to 
walk over and nut the bastard.

SteveT
0
Steve
10/30/2008 7:14:35 PM
Reply:

Similar Artilces:

Any difference between Delphi Prism 2011 and Delphi Prism XE?
Looking at the features in Delphi Prism XE, they look the same as the new items in the 2011 release back in may. I there anything new in the XE release? or did they simply change the product branding? Just wondering if I need to update it or now when i download the rest. Thanks, Hi Dan, > Looking at the features in Delphi Prism XE, they look the same as the new items in the 2011 release back in may. I there anything new in the XE release? or did they simply change the product branding? Just wondering if I need to update it or now when i download the rest. See http://w...

Delphi for PHP or Delphi PRISM
Hi, I have the opportunity to develop a web-based library management system. Nothing fancy, just being able to do the usual CRUD stuff for books and provide a search facility. Borrowing is to be done via an email request to the library admin who then sends out the book(s). Since both Delphi for PHP and Delphi PRISM will enable me to develop the app, which one will allow me to deliver it in less time and also increase (even how small) my marketability as a web developer? Thanks. Phillip Flores Phillip Flores wrote: > Hi, > > I have the opportunity to develop a...

Delphi Prism for cross-platform projects: Started a project
As I suspected Delphi Prism is ideal for my purposes. Since I am a hobby linguist, my program is a Hebrew verb conjugation application. I am trying to formulate all necessary rules including all exceptions in Pascal. Last year I implemented a working prototype in Objective-C. http://web.mac.com/ajbrehm/Home/Software.html It worked, but wasn't portable; and Cocoa is a bit of a hassle when it comes to string manipulation since it offers no native support for unicode regular expressions. I can re-use the GUI. This is how I am planning to proceed, slowly, of course, since I am lazy an...

Delphi and Delphi Prism licensing question
When I buy Delphi and Delphi Prism, do I get a "named user licence" or a "workstation licence"? Can I install both products on two machines I use with the same licence keys? I have a Mac Pro ("Cyrus") running Vista 64 in VMware and a MacBook ("Blacky") running Vista 32 in Parallels. Can I install Delphi and Delphi Prism on both Cyrus and Blacky since I use both machines (and like to have all dev tools I use installed on both machines at all times)? Andrew Brehm wrote: > When I buy Delphi and Delphi Prism, do I get a "named user licence...

Converting Delphi for Win32 to Delphi .Net(Prism)
Hi, I am currently migrating a project from Delphi for Win32 to Delphi.net. Part of my code currently goes into a directory and pulls out a random file from this directory and loads the contents of the file for me. This code doesn't seem to work in Delphi.Net. It uses PString and a number of functions in SysUtils that don't seem to be present in Delphi.net's SysUtils file. If anyone can help me please, it would be greatly appreciated! Many thanks, Jonathan Mackey Jonathan Mackey a écrit : > I am currently migrating a project from Delphi for Win32 to &...

Convert a Delphi 2006 WinForms project to Delphi Prism
How can I go about doing this short of recreating the project and transfering code? Just wondering what to expect if we go to Prism. Thanks. -- Don Gollahon Don Gollahon wrote: > How can I go about doing this short of recreating the project and > transfering code? > > Just wondering what to expect if we go to Prism. > > Thanks. Hi Don, Have you checked out the migration tool Oxidizer ? http://prismwiki.codegear.com/en/Oxidizer Cheers, John -- John Moshakis wrote: >Don Gollahon wrote: > >> How can I go about doing th...

Delphi and Delphi for .Net
It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. I would like to know is it true all .Net application is slower than Win32 native applicaiton or it is Delphi for .Net only. Your information is great appreciated, Inung On 2011-06-21 18:20:17 +0100, Inung Huang said: > It seems that Delphi for .Net is slower than Delphi Win32 native applicaiton. > I would like to know is it true all .Net application is slower than > Win32 native applicaiton or it is Delphi for .Net only. If you are only running the code in the application once then, yes, yo...

Delphi XE
I sure hope I'm wrong but I don't see any mention or even clues about the expected cross-platform support in Delphi 2011. In the first sneak peak video, we see the following: 1) When creating a new project in Delphi XE, the menu gives the same old options: "Package - Delphi", "Unit - Delphi", "VCL Forms Application - Delphi", "Form - Delphi". The absence of a "[Cross Platform VCL] Application - Delphi" is conspicuous. 2) In the closing screen, it lists all the products in RAD Studio XE. For the description for Delphi, it says, ...

RAD Studio 2010 (Delphi, C++Builder, and Delphi Prism) Posted
All, The new roadmap for RAD Studio has been posted. Link: http://edn.embarcadero.com/article/39934 Enjoy, Mike "Michael Rozlog" <michael.rozlog@embarcadero.com> wrote in message news:241286@forums.embarcadero.com... > The new roadmap for RAD Studio has been posted. We have to wait all the way until Commodore to get better documentation? And until Chromium to get OTA documentation? -- Remy Lebeau (TeamB) On 10.05.2010 23:50, Michael Rozlog wrote: > All, > > The new roadmap for RAD Studio has been posted. > > Link: http://e...

RAD Studio 2010 (Delphi, C++Builder, and Delphi Prism) Posted
All, The new roadmap for RAD Studio has been posted. Link: http://edn.embarcadero.com/article/39934 Enjoy, Mike Michael Rozlog wrote: > All, > > The new roadmap for RAD Studio has been posted. > > Link: http://edn.embarcadero.com/article/39934 > Thanks for the info, Mike. One thing I'm missing in the slides is the effort to bring the compiler into the C++ Standard compliance (lamda/closures, auto/decltype, etc.) I hope it's just an omission! :) Il Tue, 11 May 2010 09:01:04 -0700, Alex Bakaev <a@b.cc> ha scritto: >Than...

Free RAD Studio 2010 and Delphi Prism 2011 with purchase of Delphi 2010
Hi All, For those of you who complain that Delphi (and RAD Studio) is too expensive... for a few short weeks there are two overlapping special offers from Embarcadero that you can use to move up to RAD Studio 2010 including the latest Delphi Prism 2011 for the price of a single Delphi 2010 (New User or Upgrade)... The first "RAD Studio PROMO" offer is still valid until June 28th: when you order Delphi 2010, you get RAD Studio 2010 delivered instead (including Delphi 2010, C++Builder 2010 and Delphi Prism 2010). As of May 26th, the "Delphi Prism 2011" of...

Delphi 2011 and cross platform debugging / testing
We heard some clues about Delphi 2011 in this forum. One of them was "design it in Windows (IDE), run it everywhere (Windows, Linux and Mac)". Does anybody know how we will debug and/or test cross platform applications from Delphi IDE? (I think that built in or plugged virtual machines may be the best solution from developers.) Hür Hur Akdulger wrote: > We heard some clues about Delphi 2011 in this forum. > One of them was "design it in Windows (IDE), run it everywhere > (Windows, Linux and Mac)". > > Does anybody know how we will...

Delphi Cross Platform Game Development [Edit]
A little survey Would anyone be interested in a cross platform (windows, mac, linux) game development toolkit with Delphi/FreePascal compiler compatibility? This toolkit would take care of the boiler plate platform code to get a window up, change window/display states, give you mouse, keyboard, and joystick feedback, and abstract working with files, sockets, xml, audio, and 2D/3D graphics. Programs would be quite small and compact. They would also be stand alone binaries able to run with little to no dependencies. Possible program applications might include: Cross platform gam...

Is cross platform Delphi heading to the correct path?
The application's current market trend is going either to web or mobile... 1. web <> native application. 2. mobile <> not for native delphi application - iPhone: only for c/c++ without VCL - Andriod: only java - Windows 7 Phone: only managed code > {quote:title=ahmoy law wrote:}{quote} > The application's current market trend is going either to web or mobile... Only for consumers. The business market is still almost entirely desktop, which means native Win32. Try again with real logic. > Only for consumers. The business market is still almost e...

Web resources about - Delphi Prism and Cross-Platform - embarcadero.delphi.non-tech

Cross-platform interchange - Wikipedia, the free encyclopedia
Double cross platform interchange looking from one train through another train (which has its doors open on both sides) to reveal a third train. ...

INFOGRAPHIC: 63 Percent Of Cross-Platform Gamers Discovered Facebook Games Via Friends
A total of 63 percent of cross-platform gamers who responded to a recent study by casual games developer Arkadium said they discovered Facebook ...

Facebook announces the new Atlas: a cross-platform ad network
... announced the relaunch in a blog post: Atlas delivers people-based marketing , helping marketers reach real people across devices, platforms ...

The Shift-Option-K Apple Logo Glyph Is Not Cross-Platform
... property. You could argue that it’s the single most valuable IP asset the company owns. This means the glyph does not render on platforms other ...

Producteev - Cross Platform and Free Task Management for iPhone, iPod touch, and iPad on the iTunes App ...
Get Producteev - Cross Platform and Free Task Management on the App Store. See screenshots and ratings, and read customer reviews.

Cross Media Social Platform - YouTube
The Cross Media Social Platform (CMSP) is a unique 3D multiparty live chat platform currently broadcasting a 3D environment on TV merged with ...

Disney’s ‘Movies Anywhere’ app comes to Android, brings cross-platform purchases to iTunes, Google Play ...
... be able to access their movie library featuring titles from Disney, Pixar, and Marvel from any of their devices. Because this is a cross-platform ...

The CMO's Guide to Cross-Platform Measurement
It's a simple request: Explain how a cross-platform media campaign is working. But delivering on it has been a monumental challenge that's never ...

Foursquare Launches Pinpoint: Cross-Platform, Location-based Ad Targeting
... trove of location data. Now it’s time to make more lucrative use of that. Foursquare announced today the launch of Pinpoint , a cross-platform, ...

Zynga to Launch Cross-Platform Gaming Network, "Zynga With Friends"
... million people play the company’s games each month. The problem is, Zynga says, those players are scattered across multiple devices and platforms, ...

resources last updated: 11/20/2015 1:47:00 PM