PDA

View Full Version : Delphi XE2 is here!



Luuk van Venrooij
02-09-2011, 08:37 AM
Don`t think I need to say more:) Already ordered my starter edition.

You can get a trail version here:
https://downloads.embarcadero.com/free/delphi

czar
02-09-2011, 10:53 AM
I have spent the day playing around with firemonkey and with livebindings and it is looking really nice. It appears that embarcadero have cobbled together code from vgscene and from glscene and made something very easy to use and so far it appears pretty robust. It will take a while to work out how everything works but Delphi XE2 really is a big change and a breath of fresh air. The animations you can make without any code are quite impressive. Also access to built translate features and shaders should come in handy.

I haven't had a chance to get the MacOSX working yet because I need to update my MacBook to Snow Leopard - DVD has been ordered. I tried using a virtual mac running inside virtualbox but so far that has been a failure - but I am hoping that is just because it is a virtual mac and not real hardware.

I am hoping that better heads than mine can create a game engine to work inside firemonkey so that same code can be compiled to work on pc, mac and ios from what I have seen there is no reason that this cannot be achieved. Obviously I am not talking about making the next blockbuster FPS within this framework. :)

Traveler
02-09-2011, 12:06 PM
Unless I misunderstood, but the starter edition doesn't have the multiple OS support, right?

LP
02-09-2011, 03:36 PM
I was thinking they would release Delphi on 8th of September or close to this date - this is when I'll be visiting their RAD Studio XE2 World Tour (hope to get a discount for the professional version ;)).

I've been using their RTM version since I'm in beta program so can only comment on that. It's an enormous step from the previous Delphi versions, it's 64-bit support is rather impressive. I'm also very happy that you can use 64-bit assembler.

There are other things in Delphi XE 2 which I think Embarcadero guys accomplished very well in Delphi XE 2, but I'll comment on this later (after getting my XE 2 version since now I'm still under NDA).


I haven't had a chance to get the MacOSX working yet because I need to update my MacBook to Snow Leopard - DVD has been ordered. I tried using a virtual mac running inside virtualbox but so far that has been a failure - but I am hoping that is just because it is a virtual mac and not real hardware.
FireMonkey by default seems to use hardware acceleration so I think this can be causing the problems.


I am hoping that better heads than mine can create a game engine to work inside firemonkey so that same code can be compiled to work on pc, mac and ios from what I have seen there is no reason that this cannot be achieved.
They abstracted FireMonkey's wrapper for hardware very well and you can take advantage of that. In my own case, I already managed to hook Asphyre into FireMonkey: in this case, FireMonkey does the initialization part, while Asphyre still uses DX9/OGL/EGL natively. This answers one of my earlier questions - yes, you can use Direct3D / OpenGL / OpenGL ES with FireMonkey without problems, if you do it nicely.

Andru
02-09-2011, 05:23 PM
If they not provide headers for Cocoa there will be nothing interesting for game developers under iOS and MacOS X, IMHO.

czar
02-09-2011, 06:42 PM
They abstracted FireMonkey's wrapper for hardware very well and you can take advantage of that. In my own case, I already managed to hook Asphyre into FireMonkey: in this case, FireMonkey does the initialization part, while Asphyre still uses DX9/OGL/EGL natively. This answers one of my earlier questions - yes, you can use Direct3D / OpenGL / OpenGL ES with FireMonkey without problems, if you do it nicely.

That sounds exciting.

Andru - from what I understood you do have access to accelerometer and gps and all those hardware bit of the ipad/iphone

czar
02-09-2011, 06:43 PM
Unless I misunderstood, but the starter edition doesn't have the multiple OS support, right?


The feature list I saw had starter edition for $199 and it did have ios and macosx listed

However, now I can't find it - it would be a mistake if they did not include it.

Andru
02-09-2011, 07:05 PM
Andru - from what I understood you do have access to accelerometer and gps and all those hardware bit of the ipad/iphone
That is great, but what about implementing In App Purchase or additional functionality for publishers? Without Cocoa headers(and some Carbon) it will be absolutely unusable. But seems it uses FreePascal for iOS, so it will be possible to implement all these. But this means that there is no need to buy Delphi XE2... but maybe they provide some functionality for iOS-devices as it provided by XCode?

Stoney
02-09-2011, 09:24 PM
The feature list I saw had starter edition for $199 and it did have ios and macosx listed

The official feature list from Emba doesn't include it: http://edn.embarcadero.com/article/41563
It's a shame though, I was planning on buying the Starter edition if Win64, Mac OS X and iOS were included, but I can't afford Delphi XE2 Professional.

czar
02-09-2011, 09:34 PM
bugger!

Short sighted people making those kinds of decisions. You would think embarcadero would want to grow their user base.

When I went to the embarcadero day 95% of delegates were over 40 - myself included - if I need to hire someone else for my team where do I get someone with experience? Bad move.

deathshadow
03-09-2011, 07:01 AM
It's a shame though, I was planning on buying the Starter edition if Win64, Mac OS X and iOS were included, but I can't afford Delphi XE2 Professional.
I'm a little miffed they don't even include the command line compiler in Starter.

The "pro" price makes my eyes bug out -- what is this, 1979? Far cry from Borland's "If we price this at $60 it'll sell like hotcakes". It's become the opposite of what made many of use Borland compilers in the first place instead of say... Microsoft compilers...

LP
03-09-2011, 04:28 PM
I think Delphi XE 2 Professional is worth the price considering that it supports 3 platforms. Just think of Flash CS5 that costs $700 and 3D Studio Max that costs $3500.

I think they rushed the release of Delphi XE 2, should have waited one more month, but again, product of this size will need few iterations in several years to become fully mature.

Delphi XE 2 now includes many features I've been waiting for years, but they still have missed one - inline/automatic documentation that is available in Visual Studio since 2007 (or earlier, I'm not sure), where you write comments and they are displayed every time you write the function along with the descriptions of the parameters and so on.

deathshadow
03-09-2011, 05:15 PM
I think Delphi XE 2 Professional is worth the price considering that it supports 3 platforms. Just think of Flash CS5 that costs $700 and 3D Studio Max that costs $3500.
... and FPC/Lazarus which costs nothing... much less GCC, GAS...

I think what makes it seem so ludicrous is the price disparity between starter and pro --- 425% price increase off of a $200 base just to go cross platform and toss in the command line version of the compiler? BULL!

phibermon
03-09-2011, 07:29 PM
Oh well that's that then. Starter not listing OSX/IOS as targets? that's the death bell for it being used for games development. Only companies are going to be able to afford the higher editions (and they wouldn't purchase for games, can't get the staff, C better commercial choice etc) and there can only be a handful of hobbiests that can afford the pro edition.

They should adopt a different licencing strategy, perhaps one version of Delphi that does everything but the different licences restrict your volume of sales/projects etc similar to the way FMOD does it.

Anyway, it's a good thing for OOP that Delphi XE2 exists and if you can afford Pro then enjoy your cross-platform development!

Everybody else? join us in FPC land :)

LP
03-09-2011, 09:05 PM
I think what makes it seem so ludicrous is the price disparity between starter and pro --- 425% price increase off of a $200 base just to go cross platform and toss in the command line version of the compiler? BULL!
Yes, Starter Edition is rip-off (http://en.wikipedia.org/wiki/Rip_off).

It does not mean FPC/Lazarus is the solution as in my own case I found moving to FPC/Lazarus very difficult because of several issues related to IDE functionality and the compilation process really eats up your time. Metaphorically speaking, when I move from Delphi XE 2 Beta IDE to Lazarus, it feels like I'm using Notepad.

AirPas
04-09-2011, 01:26 PM
i like XE2 , except one thing , the exe size ( empty VCL form = 4mb ) ( empty firemonkey form = 8mb )

VilleK
04-09-2011, 02:20 PM
That's debug build. Empty vcl-form in release mode is 1,5 mb. So it's not so bad :)

phibermon
04-09-2011, 08:54 PM
It does not mean FPC/Lazarus is the solution as in my own case I found moving to FPC/Lazarus very difficult because of several issues related to IDE functionality and the compilation process really eats up your time. Metaphorically speaking, when I move from Delphi XE 2 Beta IDE to Lazarus, it feels like I'm using Notepad.

Nobody said Lazarus was perfect :) If you've got the money then I wish you many happy coding sessions in Delphi XE2.

But I personally don't have any issues using FPC+Lazarus. It's an advanced cross platform solution that certainly doesn't feel like 'Notepad' when compared to commercial IDEs.

I've written and/or debugged complex systems, 3D Engines, Virtual Machines, Emulators and compilers. It provides me with all the tools I want and more importantly it supports all the platforms and architechtures I want to use.

For free? you can't argue that it's not good value for money :)

But Delphi? Nearly a thousand dollars to support a fraction of the platforms? umm, not for me.

I'm not against purchasing Delphi but I'll wait until they add native support in their compiler for ARM and PowerPC; add RTLs for Linux, Haiku; add support for JVM and LLVM etc etc etc

Delphi is a commercial quality product, it's synomynous with Visual Studio in it's quality and target Audience and it has commerical quality support for IOS which is a big thing that lots of people want. It's geared towards databases and money making, and all of that is needed and it's great for the OOP language.

FreePascal is more like GCC, it's an Open, vastly cross platform toolchain. It's for people that want to use their language of choice on all platforms, Linux, embedded systems etc

In my opinion, pretty much all the reasons someone would choose GCC over Visual Studio are the same reasons someone would choose FPC over Delphi.

Yes if I had the money I'd buy delphi, of course I would. But only if it produced faster code than FPC on it's target systems, which is quite likely does. at the moment.

FPC however is gearing up to support LLVM and unless Delphi supports it too then it'll never out-perform FPC because really it'll be trying to out-perform LLVM and if you don't know what that is, look it up and know that I'm right.

As stated in a previous post, embarcado should drop their native compiler, use FPC and focus on their IDE and libs. Plenty of big companies work on Linux, Apache, GCC etc for reasons that make sound commercial sence. I don't see how this is any different, FPC is without question going to dominate. It's probably got ten times the number of developers and they all work for free...

LP
05-09-2011, 01:06 AM
But I personally don't have any issues using FPC+Lazarus. It's an advanced cross platform solution that certainly doesn't feel like 'Notepad' when compared to commercial IDEs.
Mouse scrolling doesn't work in IDE and you can't change this behavior. The code editor is unpredictable when setting tab/spaces to 1. Refactoring limited to the unit and not entire project. These are some issues I'm having, among others.


I've written and/or debugged complex systems, 3D Engines, Virtual Machines, Emulators and compilers. It provides me with all the tools I want and more importantly it supports all the platforms and architechtures I want to use.
Really? The debugger never worked for me. On stock installation, empty new project it always crashes, both on Vista and Win7, on 32-bit and 64-bit. On every machine I've tried. In the latest builds, it allows you to step 1-3 lines before crashing again. It's hard to believe you could actually use it to debug some complex project.


As stated in a previous post, embarcado should drop their native compiler, use FPC and focus on their IDE and libs.
I agree. There is not much innovation going on with Delphi's compiler when compared to FreePascal, which supported 64-bit and Mac OS since long time ago. I would actually like to see Delphi's integration with FPC even on Windows platform.

WILL
05-09-2011, 03:32 AM
I have to admit that I'm rather disappointed in Embarcadero on their OS X/iOS/64-bit removal decision for Starter XE2. Mainly because they worked so hard to get us indies all riled and excited about Delphi again with a more cost effective edition then they they 'pull our pants off' by not including the new platforms in it's next major version.

Who else wants to get on the Mac or the iPad more then game developers? And what other denomination of indie developers makes games? So this was a little backhanded in my own personal opinion.

czar
05-09-2011, 07:02 AM
Short-sighted stupidity - Embarcadero could certainly learn a thing or two about growing their user base and fans

chronozphere
05-09-2011, 07:15 PM
I couldn't agree more. :(

I'm actually happy that I have some experience with FPC allready, because these issues really push me towards FPC. Delphi is just too expensive and has not enough features for the price you pay. I'm not willing to support that by buying the product, even if I would have the money.

The bigger problem is, as said, that the average age of experienced delphi programmers is growing. Embarcadero is creating it's own problem for the future.

phibermon
05-09-2011, 09:45 PM
@Lifepower - Thank you very much for debating my points :) and you're quite right there are parts of the IDE that need some polish although I am suprised to hear you've experienced crashes during debugging, If you'll take my word for it I've not had an issue stepping through many lines of code and not experienced the behaviour you described.

If you've tried multiple builds and still experience that issue I just don't know what to say. Obviously you'd notice if your system was unstable in other ways. There's the outside possiblity that some memory masking rootkit/virus plauges some common link between your platforms or perhaps there's some bizzare in memory conflict with your antivirus or some other such thing, softice etc.

I must insist that you can debug without issue, perhaps someone else would be kind enough to validate.

---


I agree. There is not much innovation going on with Delphi's compiler when compared to FreePascal, which supported 64-bit and Mac OS since long time ago. I would actually like to see Delphi's integration with FPC even on Windows platform.

Even if it wasn't a complete replacement, it would be very nice to see support for switching between compilers although I suspect that they store very different forms of debug information in builds which may very well require quite a lot of work to intergrate into the Delphi environment (breakpoints, watches, decode views etc) although I might be wrong and they use somthing close to GDB.

paul_nicholls
05-09-2011, 11:43 PM
I love the fact that according to the email from Embarcadero the other day, Delphi XE2 includes Android support!! :D

cheers,
Paul

WILL
06-09-2011, 12:02 AM
I think they said Prism not Delphi. They are making the distinction from Delphi and their RemObjects partnership project this version.

I know David talked and talked about getting Delphi on everything. Android was one of those 'everythings'. :P

paul_nicholls
06-09-2011, 12:50 AM
hmm...here is the bit from my email :)


Take a look at this! With RAD Studio XE2, you can now create…

NEW! 64-bit Delphi applications to take advantage of the latest hardware
NEW! Truly stunning visual business applications with FireMonkey™
NEW! High-performance Windows, Mac and iOS native applications
NEW! LiveBindings™ to connect any visual element to any type of data
NEW! Mobile and cloud connectivity to extend multi-tier DataSnap
NEW! Standalone mobile apps for iOS (iPhone/iPad) and Android
NEW! Mobile-optimized web applications

cheers,
Paul

czar
06-09-2011, 01:42 AM
At the Auckland meeting they showed how to make an android project using radphp or prism - i can't remember - looked complicated

paul_nicholls
06-09-2011, 02:06 AM
At the Auckland meeting they showed how to make an android project using radphp or prism - i can't remember - looked complicated

RemObject's project Cooper (in beta ATM) can make Android projects - very similar to Prism (almost same syntax, but different compiler)

cheers,
Paul

WILL
06-09-2011, 04:07 AM
Well it's .NET or Java take your pick. ;)

paul_nicholls
06-09-2011, 04:37 AM
Well it's .NET or Java take your pick. ;)

hehe, true enough :)

LP
09-09-2011, 05:42 PM
So, did anyone managed to run a Mac OS application compiled with Delphi XE 2 on actual Mac without installing the debugger (PAServer)?

The empty project seems to run fine on my Mac Mini with Leopard 10.6.2 after copying dylibs from Delphi's directory, but in addition to the GUI window, it also opens Terminal window.

After updating Leopard to 10.6.8, it doesn't even run. Clicking on the application opens Terminal window, which is blank.

czar
09-09-2011, 07:06 PM
I have just tried it - shut down pa server and started up my mac app and it runs fine. macosx 10.6.8

However, I have found that the GetCurrentDir command returns '/' when I run the application by double clicking on the Mac. Whereas if I start my App up with paserver running that same command returns a full path to the executable within the .app folder.

That GetCurrentDir only returns "/" is very annoying.

LP
09-09-2011, 07:53 PM
Czar, thanks for the reply. However, when you install pa server, it installs a bunch of other stuff required for the application to run.

How can you distribute the compiled Mac OS applications without having to install pa server? Or is the debugger a requirement and need to be bundled with every Mac OS application you make?

czar
09-09-2011, 08:04 PM
I have not got access to a second mac to try that but I would be surprised if you had to distribute other files - have you set your build to "release" - perhaps if you leave it on "debugger" it requires extra files. You can change setting in the project group.

LP
09-09-2011, 08:16 PM
I have not got access to a second mac to try that but I would be surprised if you had to distribute other files - have you set your build to "release" - perhaps if you leave it on "debugger" it requires extra files. You can change setting in the project group.

Yes, my test machine is Mac Mini with Core 2 Duo 2.2 Ghz and Nvidia Geforce 9300. I've put fresh installation of OS X Leopard 10.6.2, updated it to 10.6.8. In Delphi XE 2, target Mac OS, Release Build. It's basically an application of an edit box, button and memo. If you simply copy the application to Mac Mini and run it, Terminal opens. This time, passing dylib files from Delphi's folder didn't help - running application does nothing but opens an empty terminal window.

In my previous tests I've succeeded only after installing PAServer. However, I want to test the application on "Clean Install" of Mac OS, similar to what the customers will be using. It seems that you need to deploy PAServer along with your Mac OS application compiled with Delphi XE 2, which is a bit of nuisance.

czar
09-09-2011, 09:14 PM
That would seem to be a right bother.

I would have thought the pa server was only used for debugging and that the "deployed" application should be run as is.

I would like a bit more clarity on the whole issue.

I have also discovered that the MacBook that I own is quite slow - I believe it is because it doesn't have a GPU as such just a crappy intel graphics chip. Which means I also have to be aware of what effects etc are performance killers.

czar
09-09-2011, 09:23 PM
http://stackoverflow.com/questions/7363894/why-does-my-firemonkey-app-open-a-terminal-window-on-osx-but-not-on-win32

czar
10-09-2011, 09:46 AM
HI Lifepower

I have been asking at the emb forums

https://forums.embarcadero.com/thread.jspa?messageID=390749#390749

LP
10-09-2011, 02:26 PM
Thanks for the post, I've replied on EMB forums.

By the way, compiling similar project with one edit box, one button and a memo in FPC/Lazarus works without problems on the same Mac, and it does not open terminal window.

LP
12-09-2011, 05:54 PM
After playing more with Delphi XE 2 Professional, I'd like to share my comments about the product.

I've been using Delphi XE 2 beta in its last months before release and it is why I've purchased Delphi XE 2 Professional right after the release. It was expensive, had to sell one of my best laptops and a home pc, since my budget was quite low, in addition to purchasing used Mac Mini with pretty good specs.

I think this release is a real bargain and it is a product I would really like to see evolve. I am still unhappy about Embarcadero's business practices, specifically the activation limit on Delphi XE 2 and the crippled/overpaid Starter editions, but I think they have finally made a product that is worth buying after Delphi 7 and Turbo Delphi.

The IDE of Delphi XE 2 is somewhat unstable, it messes up after 10-20 compilations (either internal error or a compiler error about perfectly fine code), after which you have to restart the IDE. This is strange, since the beta I've been using was rock stable.

The 32-bit compiler seems to be the same as in Delphi XE and earlier versions. Although some people always complained about its FPU performance, for me it seemed pretty good, performance critical tasks could always be coded in assembly using MMX/SSE instructions.

The 64-bit compiler is excellent in optimizations. Suffice to say that 32-bit pixel alpha blending coded in Pascal, which in 32-bit compiler was a performance black-hole, in 64-bit compiler is highly optimized - the entire blending is made without memory accesses using internal registers. The compiler seem to use a great deal of available internal CPU registers (although I would like to see it using all of them).

I was also surprised that they have provided DirectX headers that work perfectly both in 32-bit and 64-bit, although OpenGL headers on Windows seem to be quite outdated.

Mac OS compiler seems to be quite polished as well, although it is still 32-bit (but this is an advantage because Delphi's 32-bit compiler is very well polished). Although I'm still not fond of the PAServer requirement, I like their solution to overcome Apple's barriers.

Documentation still requires a lot of work, for certain parts of FireMonkey there is no documentation at all, so you have to do a lot of cross-platform source code digging.

FireMonkey itself, although an elegant solution to cross-platform problem, at this moment is more a marketing hype than reality. It is a very large framework that still requires a lot of work. GPU acceleration is a marketing trend, since VCL (based on GDI) on Windows XP and Windows 7 is also GPU accelerated.

FireMonkey's DirectX implementation is on the level of "Hello World" program; it seems to be made by a person who has no experience in making Direct3D applications: device initialization and texture handling are the worst (at very minimal level of implementation), the rendering pipeline is prone to DrawPrimitive overhead with no caching whatsoever. To illustrate, drawing a grid of small images 30 by 30 will give you 10 FPS or less. They really need to hire someone with Direct3D experience to rework this part.

FireMonkey's OpenGL implementation seems to be pretty polished. I wonder why they didn't provide implementation based on OpenGL for Windows, since it will require minimal code changes and is less prone to the overhead mentioned earlier.

Personally, I still think they have misjudged FireMonkey's potential as a whole - instead of purchasing this intellectual property, they should have worked on Cocoa-based VCL-like API (even if it's not compatible with VCL), since on Windows there is no beating VCL. Windows Vista and 7 native GUI controls look much better than those in FireMonkey, and they work according to user's preferences (thinking of those people who change the Windows look and those with disabilities who prefer higher contrast and different color schemes).

In any case, there are several opportunities for improvement, but even in its current state, I think Delphi XE 2 as a whole product has a lot of potential. I hope that other people can also decide to purchase Delphi XE 2 to support their development team, so we can see updates coming out very soon. ;)

Traveler
13-09-2011, 08:23 AM
Thanks for the review! I've been on the fence about buying for quite some time. It really sounded like it was a genuine step forward. But the price (well over 1000 euros for the pro version) is a pretty steep one. From your review I gather it's a good product, but still not quite there in some of the key areas. I think I'm going to hold off at least until it has matured somewhat more.

czar
13-09-2011, 09:03 PM
Hi Lifepower

I had written big long reply but then I lost it - so I will do short reply instead.

I agree mostly with your assessment. However, I have not had any IDE issues at all even though it has been the only compiler I have been using.

I really hope EMB continue to develop FMX and improve samples, documentation and performance. Lifepower, can't you go an work for them? ;)