Monday, October 27, 2008

Delphi Prism, some first thoughts

Delphi Prism is announced in this Embarcadero press release. Delphi Prism is based on Oxygene from Remobjects, so I think you could say Delphi Prism is Remobject's Oxygene. Read Remobjects press release here.

Added: Interview with marc hoffman, Chief Architect at Remobjects on Bitwise Magazine.

After five years of several solutions and directions, it looks like Delphi for .NET has finally found a good home.

Although Delphi .NET only exists for only about four years, there have been a lot of changes in the strategy executed by Borland, Borland/CodeGear and now Embarcadero. So let's take a brief look at the Delphi for .NET history:

2004 - Delphi 8 (Borland)
Delphi for .NET is born for the .NET Framework version 1.1. Delphi for .NET is positioned as a first class .NET citizen. It offers .NET 1.1 development for Winforms, ASP.NET and VCL.NET, which is the .NET variant of the VCL, offering a highly compatible framework based on .NET.

2005 - Delphi 2005 (Borland)
Delphi 2005 offers the same as Delphi 8 but Delphi 2005 has a lot improvements in quality.

2006 - Delphi 2006 (Borland)
Delphi 2006 still has support for the .NET Framework 1.1 (Winforms, ASP.NET and VCL.NET) Delphi 2006 offers a stable IDE for this developments. The fact that it does not support .NET 2.0 shows the trouble that Borland had to keep up with Microsoft.

2007 - Delphi 2007 (CodeGear/Borland)
Delphi 2007 finally supports .NET 2.0, but unfortunately the Winforms support is dropped. (Only ASP.NET and VCL.NET is supported)

2008 - Delphi 2008 (Embarcadero)
Delphi 2009 has become a Visual Studio Plugin based on Oxygene (formely known as Chrome) offering support for all available Microsoft .NET technology's (2.0, 3.0, 3.5))
Unfortunately it looks like VCL.NET is dropped.

It is not likely that the Delphi for .NET product strategy will be nominated for best executed product strategy ever.

However this is a very strong sign of the new spirit that Embarcadero is bringing to Delphi. It proofs that the buyout by Embarcadero is the best thing that happened to Delphi (and of course CodeGear) in the last five years.

Back to Delphi Prism:

Delphi Prism the pros
1. Instant support for all Microsoft .NET technologies.
2. The Delphi language is now at same level as C#, VB.NET, so the choice for the Delphi language can be made much easier. (Hack it is the same IDE)
3. Delphi for Win32 can focus on Win32 again, will not be hold back by .NET technologies.

Delphi Prism the cons
1. Less compatibilty with Delphi Win32 technologies, due to pure .NET and languages changes/additions. (Compared to VCL-VCL.NET, VCL-Winforms)
2. After Winforms, now VCL.NET dropped, and that will not please every body.

All with all the pros weigh more than the cons in my opinion.

Why use Delphi Prism?
This question is not answered easily. I think a lot of Delphi developers went for C# in the last four years. For example we decided in 2007 to standarize our .NET development on Visual Studio C# due to the dropping of Winforms in Delphi 2007 (Basicaly due to the mixed/confusing messages by Borland).

Conclusion
Although we don't know all the ins and outs yet (sure will hear a lot more the coming week) this is by far the best thing ever that happened to Delphi for .NET.

6 comments:

Xepol said...

Finally a SANE option.

Now we need Embarcadero to buy RemObjects, bring the skills in house and see if they can make Delphi win32 grow to take advantage of some of the great features in RemObject's flavour.

Anonymous said...

Why should I pay for a VS plugin to do the same thing as C# or VB.Net?
Whitout the VCL compatibility I will lose all my codebase and my investment in 3rd party components.
As a Delphi Win32 programmer, who wants to enter the .Net market I don't see any difference between Delphi Prism (Oxygen) and C#.
Why don't focus in diferentiation, Delphi is the Win32/native development tool leader, be the leader, be the leader in native development: cross compiler for Win32+Linux+Mac+WinMobile, or be the forever #2 on .Net.

Anonymous said...

"Why don't focus in diferentiation, Delphi is the Win32/native development tool leader, be the leader, be the leader in native development"

This move (Delphi Prism thing) is their first step towards it.

Anonymous said...

Even if I was a company looking for a cross platform development tool, with the benefits of .Net, I still see more cons than pros in using Delphi Prism over C#. Yes, the language itself is powerful and easy to read, but it lacks a pool of experienced programmers. I don't see that changing.

Anonymous said...

@anonumous:
"but it lacks a pool of experienced programmers. I don't see that changing."
You have got to be kidding right?

Anonymous said...

Without full VCL compatibility this Prism feature looks blurry. I rather switch to better supported/stable/predictable C# then. And its cheaper too.

Only good thing here - is Mac/Linux support on mono. But again there are not much market for this.

Overall - good move, but need ALOT of work to make it backward compatible with VCL.

Use an image as your UIBarButtonItem

Using an image as your UIBarButtonItem in your navigationcontroller bar can only be achieved by using a common UIButton as the BarButtonItem...