Category: Embarcadero

Embarcadero recently started a Delphi certification service. This allows you to test your Delphi skills and get certified by Embarcadero. The certificate is meant to show employers that you are well educated in the usage of Delphi and all of it’s concepts. If you hold a Delphi XE license, you are able to take the certification test free of charge (unless you have an academic license like me). Otherwise the entry free for the test is $49, which is affordable, while ensuring that people don’t take the test lightly. A master certification test is also available, passing this would identify you as an elite member of the Delphi community. The master test can however only be taken at a licensed Delphi certification center at a fee of $149.

Ever since Embarcadero has been in charge of Delphi’s development, they have made great strides to bring the language back from the brink of death. From the start they have therefor also been developing a 64-bit compiler for Delphi, which unfortunately has been postponed for quite some time. I can’t really blame them, if the product isn’t finished, there’s no point in releasing it, it would only make matters worse, but now, finally they have started giving Beta testers access to the 64-bit compiler preview.

As usual, also with this new compiler, Embarcadero has dedicated huge efforts towards keeping backwards compatibility as much as possible. This results in the face that most old Delphi code will still compile with this 64-bit compiler. The size of Integers, Int64, and most other datatypes have gone unchanged. However, NativeInt for example has the size of the integer on the system you’re on. Pointers on 64-bit are also 8 bytes, but as long as you always use SizeOf or similar methods that don’t rely on specifying a size of a datatype manually, your code should work in 64-bit. If you have any dependencies on dll libraries or activex components, these will have to be upgraded to 64-bit versions as well of course.

The final edition of the 64-bit compiler should be included in the next release of Delphi, the XE2 release. In XE3 the compiler will also compile code from C++ builder into 64-bit applications and libraries. Alongside the 64-bit compiler, Embarcadero also promises to include a cross-platform compiler in RAD Studio XE2 which can compile 32-bit applications to Mac OSX and possibly Linux. The additions of these new features may finally revitalize the interest of developers in this language as most other mainstream language already have at least in some way the ability to compile to 64-bit platforms and platforms other than MS Windows.

You can sign up to get into the beta program for the 64-bit compiler, if you have a license to RAD Studio XE, Delphi XE or ToolCloud, you may get priority access to the beta.

A while back in a post I mentioned that Embarcadero had plans to release a new Delphi license for hobbyists and others with a low price so people can get access to a license easier in case they don’t require it for commercial development. Embarcadero has now indeed come through with that promise and is now selling the Delphi XE Starter Edition on their website. There is only a starter edition available for Delphi, none of the other products like RAD Studio or C++ Builder and a license in the US store is priced at $199. Alongside this there are also upgrades available to Delphi Professional and RAD Studio Professional at reduced costs when coming from the Starter Edition.

The most important question regarding this new license is fairly obvious of course. What’s the difference with the Professional Edition? There are a few restrictions put in place. The Starter Edition is fully functional, there shouldn’t be any restrictions there, however, you can use it for commercial development if your yearly revenue stays under $1000. For small companies the usage is also permitted if their total revenue stays under $1000 and have less than or 5 people using the product for development. Once these conditions are no longer met, you are required to upgrade to the Professional edition. The academic licenses for Professional and will remain available.

Unfortunatly due to a busy schedule I was not able to attend CodeRage 5 and because of that I was also not able to write about it on this blog. Embarcadero will be making the entire conference available for replay on their site starting October 18th.

I received my license for RAD Studio XE yesterday and I was quite excited to take a look at RadPHP XE. I had not formerly tried Delphi For PHP 1 and 2 and honnestly, I haden’t heard any good things about them either.

A first thing I noticed was that RadPHP does not come as a part of RAD Studio itself. Though the product does integrate into the IDE flawlessly, it is not accessible from RAD Studio itself, neither is it included in the RAD Studio installer. You have to download RadPHP separately and open it separately from the main RAD Studio IDE.

As advertised by Embarcadero, the RadPHP experience feels very much like working with Delphi, it uses the same layout, you create projects the same way etc. The most noticeable projects are the Facebook application and RPCL application. Both of these use the RadPhp Component Library.

When creating a new project some of the differences quickly become obvious. As expected your form designer does not show a form, rather a page, with the same grid layout. The tool palette has a fairly large selection of available components of which many look very familiar. However, this is the point some things started to disappoint me. Though Embarcadero has certainly succeeded at creating a very convenient way to create PHP applications, there’s several things I’m certainly missing. Components do not come with properties like Align, Anchors, Margins and more. A lot of innovative VCL features that were added after Delphi 7 like the ability to use imagelists for buttons are also nowhere to be found in RadPHP. Overall I would say, even though the experience is similar to working with Delphi, the product still has some issues that should be addressed.

RadPHP does seem to have some interesting features nonetheless, such as integration of several 3rd party APIs like Google Maps, the Facebook API, jQuery, etc… Though I would like to have seen some additional Google APIs in there. The product currently seems mostly targeted at the development of Facebook applications.

One thing I checked for was if it came with an OpenTools API like RAD Studio itself, and it does, so it is extensible, maybe we will see some interesting 3rd party tools appearing in the future.

A final thing worth mentioning is that none of the new tools added to RAD Studio such as BeyondCompare are not integrated into the RadPHP IDE, neither is the subversion integration. This may be the result of having installed RadPHP after RAD Studio, but I doubt that is the case.

Conclusion
After having a first look at RadPHP I would have to say it seems it was just added to RAD Studio to have an additional feature in the package. However, with some work it could become a very powerful development tool and hopefully it will in the future.

I visited the launch event for RAD Studio XE in Brussels yesterday, we got a 4 hour presentation about the new features in RAD Studio XE including a set of demos and there was some very tasty Delphi Cake. The cake wasn’t a lie…

I’m going to give you a small summary of what’s new in RAD Studio XE.

What does XE stand for? It stands for Heterogeneous Embarcadero and Toolcloud Enabled. All Embarcadero products will now be named XE, next year RAD Studio 2012 will be named RAD Studio XE 2 and so on.

A lot of focus now goes out to the Embarcadero All-Access product which allows you to access all Embarcadero products instantly including older versions of the products for testing backwards compatibility of your code. All-Access allows you to run these products without installing them and they run using a sort of visualization technology so it’s completely sandboxed.

For the future Embarcadero plans to create a new Delphi compiler which will be more flexible and will be easier to adapt to other platforms. Aside from that they plan to create a new better VCL library, move EDN up to the next level using new modern technologies and more. The x64 and xPlatform support that was going to be in RAD Studio XE has been moved up to the next release because it simply was not ready for release, so that’s certainly something to look out for.

“We do not want to publish another Delphi 8.”

Embarcadero is currently also working on a “Starter” edition of RAD Studio/Delphi which will be free or available for a low price, targeting students and hobbyists.

Inside the IDE we find the new Subversion integration as one of the main new features. It allows you to easily add a project to subversion and work with it, the IDE will only commit files you actually need to have in your repository, being the source files, dfm files, etc… The entire subversion integration has been open-sourced in the open tools api which allows 3rd party developers to modify or even add support for other version control systems into the IDE, however this is not done by default as Subversion is the most popular version control system available today. Subversion support is available in all products in RAD Studio including Delphi Prism. Another addition is improved support for code formatting. The code formatting has been improved upon and now works with profiles which you can import/export so you can format on a project-basis. You can now also format an entire project at once. Command-line support for the formatter has now also been included. A small addition to the form designer is that you now have the ability to copy a form and paste an image of it in for example paint. A last addition that was discussed is the ability to rename threads in the threads debugging view.

The Delphi language itself has gotten no extra additions, only the VCL library has gotten a few improvements and generics have been tweaked further. Embarcadero has however put a lot of effort in making C++ Builder comply with the ISO standards for the language.

UML support in Delphi has been extended, most people do not use the UML integration, but it is quite extensive, it can automatically reverse engineer your project and create an UML diagram for it, you can also add classes and more to your project from the UML diagrams. You now have the ability to generate sequence diagrams of your code in UML which allows you to visually inspect how your code works. Aside from this you can now also easily add ancestors of your classes to the diagrams.

The main focus of the XE release is the DataSnap technology and the newly added support for cloud computing with Windows Azure and Amazon EC2. It is now possible to create DataSnap servers in C++ Builder. Clients can be created in Delphi, C++ Builder, RadPHP, and so on. Extra wizards to create web servers have also been added to the program and the REST protocol for communication between server and client. Furthermore the Windows Azure support is component based, which will allow you to easily interact with the Windows Azure cloud. The cloud computing support for Azure is also very powerful and will let you easily execute functions inside of your server that is running in the cloud from clients as if they were running locally.

I’ll be receiving my own copy of RAD Studio XE Professional in a few days and will share my thoughts about it then.

Today Embarcadero released the 3rd and final preview of RAD Studio XE, the preview shows the new ability to generate DataSnap servers in C++ Builder, connectivity to DataSnap servers from C++ Builder, Delphi and RadPHP, the new support for Microsoft Azure cloud computing and more. I’m don’t use most of these technologies myself so I won’t go into detail about them.

After doing some further investigation it seems that the cross-platform support for Delphi has yet again been moved up to a next release. The fact that Embarcadero wants to wait for them to fully stabilize the product before releasing it is certainly an admirable thing to do, but it does bring up some questions…

So what does this mean for RAD Studio XE? We’ve seen 2 previews so far, it shows us some nice new features, a lot of integrations of 3rd party applications to make coding more convenient. However, a lot of these applications are limited because they have a paying version, yet there’s barely any or no details on how this is dealt with in RAD Studio. Another somewhat big concern is whether this release is actually worth purchasing when updating from RAD Studio 2010. So far we have seen no actual new Delphi language features being previewed, all that remains is a bunch of new tools in the IDE of which now part only seem to be added to somewhat bulk up the product and make it appear as more than just a bugfix release. Personally I’m waiting for some details on language features, however i must admit that the addition of RadPHP makes the product somewhat more appealing as it had to be purchased separately previously and since the initial release as Delphi for PHP, RadPHP seems to have matured quite a lot.

It seems Embarcadero has also released a new roadmap, though there’s very little communication from the company about why the cross-platform support was moved up or even that it was, it clearly shows on the new roadmap that was released just 6 days ago. The cross-platform support has been jumping around a lot on the roadmap since it was initially announced, but it seems they have now finally brought everything together in a release named project “Pulsar”, which I assume will be Delphi 2012. The release promises to include x64 support for windows applications and the inclusion of cross-platform compiling for 32-bit mac applications, only for Delphi however. The release has no mentioning of Linux support which previously vanished from the roadmap, however it has reappeared in the Wheelhouse release, however note that they carefully refer to the Linux support as support for Linux servers which might suggest it will not support GUI applications. This release will also bring the cross-platform and x64 support to the other RAD Studio products, mainly C++ Builder of course.

It seems to be clear Embarcadero wants to have the product catching up with competing products with the Commodore release, which will feature full 32- and 64-bit support for all platforms. However, when counting the number of projects it would suggest this being part of Delphi 2014. Even though they are certainly making an effort, it seems Embarcadero is once again dropping the ball here as they are already losing many (potential) customers because they do not support 64-bit and cross-platform at the present time, certainly 64-bit support will also become more pressing in the future as gradually more and more platforms are moving over to 64-bit. Will there be a market left for them when they finally catch up with the current day products of their competitors in 3 years from now?

An interesting item that I’m coming across a few times on the roadmap is the considered addition of a cross-platform VCL library. Originally this item was part of the roadmap as a somewhat standard item included with cross-platform support. However it seems that currently they are only considering to add this. How will this affect the cross-platform support? As I mentioned before they are saying that they will only include Linux server support into the Wheelhouse release, that would certainly require no GUI, so a cross-platform VCL library would not be required. However, for the Mac support you would want to be able to build visual applications. When they say they might not include a cross-platform VCL library, I’m guessing this means they intend to add a custom Mac-only library for compiling to Mac, personally i find the thought of this somewhat horrifying, the reason people are so eager to get cross-platform support is obviously to compile their applications to multiple platforms, having more than 1 visual component library needed to do so will obviously complicate things a lot. Because of this I am certainly expecting they will eventually move this feature over to the actual plans for one of the releases.

The 2nd RAD Studio XE preview has been released today! After viewing it I find myself a bit disappointed as there is still no mentioning of the cross-platform compiling which was the most anticipated feature of the product. Although there has been no video release of the #3 preview yet which is planned for the 24th, they did already release details on what it’s about, still no mentioning of cross-platform though.

Embarcadero has been building a lot of 3rd party applications into RAD Studio XE, in the 1st preview they already showed the integration of 3rd party difference software and now they’ve added Raize CodeSite, a piece of logging software from their technology partner Raize Software which develops Delphi components and tools, the AQTime profiler and FinalBuilder. The upside to doing this integration is the obvious fact that they don’t have to develop their own versions of these products from scratch but instead can use finished products that have already gone through a lot of releases making them very stable en reliable. The downside is that most of these products are somewhat limited in use unless you purchase their extended versions.

What drew my attention mostly in this preview was the addition of FinalBuilder, it allows you to schedule automated builds. As i understand it, it has been integrated into all of the RAD Studio products which will enable you to create automated builds very easily.

CodeRage 5 is slowly getting closer. For those of you who are not familiar with CodeRage, it’s a yearly online technical conference for software development, hosted by Embarcadero Technologies. The conference focuses on all of the Embarcadero products with speakers from all over the world. If you missed CodeRage 4 last year, you can find all sessions from back then on the embarcadero website (http://conferences.embarcadero.com/coderage/sessions). CodeRage 5 is planned for the 4th of October this year and will last 4 days, it will include over 90 free technical sessions. Embarcadero is currently accepting submissions of abstracts for people to be considered as a speaker on the conference. I’ll be keeping a close eye on the conference once it’s start and keep you updated on some of the topics brought forward there