Delphi Prism XE Reviewer's Guide

By: Tim DelChiaro

Abstract: Overview of Delphi Prism XE for reviewers and users evaluating the product

This reviewer's guide is also available in PDF format. Download the Delphi Prism XE Reviewer's Guide PDF.

    Delphi Prism™ XE - Product Reviewer’s Guide

September 2010

 

     Overview

    Introduction

Thank you for your interest in reviewing Delphi Prism XE, Embarcadero’s cross-platform heterogeneous .NET development tool. This reviewer’s guide will give you an overview of some of the key benefits that .NET developers will enjoy with Delphi Prism XE.

    Product Description

Embarcadero® Delphi Prism™ XE provides a cross-platform development solution and robust programming language for rapidly developing .NET, Mono, ASP.NET, and data-driven applications for Windows®, Linux®, and Mac OS® X. It can also be used with Novell MonoTouch to build iPhone and iPad applications. Delphi Prism combines easy-to-learn syntax based on the Delphi language and enhances the .NET developer experience with key language features like parallel computing and aspect-oriented programming for quickly building high-performance, secure, and reliable applications. Delphi Prism XE includes true cross-platform flexibility to develop on both Windows and Mac systems.


    Quick Links to Product Information

    Delphi Prism XE Highlights

    New and Interesting Features of Delphi Prism XE

  • Cross Platform Development on Windows and Mac OS X - Previously Delphi Prism included a Visual Studio based IDE for development on Windows. Now it also includes the MonoDevelop IDE for development on both Windows and Mac OS.
  • Support for the latest .NET 4.0 and Silverlight Technologies - .NET 4.0 and Silverlight 4 are fully supported along with new improvements in supporting better native/managed interoperability, threading improvements, enhanced garbage collection, and many others.
  • Visual Studio 2010 Shell Based IDE - The new Visual Studio 2010 Shell IDE provides a more streamlined and efficient IDE experience, support for multiple monitors, an improved code editor, enhanced debugging, and easy access to the latest .NET functionality. You can also install into Visual Studio 2010 or 2008.
  • Integrated Subversion – Integrated source code control inside the Delphi Prism development environment.
  • Work with all your data sources - Delphi Prism XE leverages ADO.NET for database connectivity in .NET applications. In addition, Delphi Prism provides developers with a database access framework called dbExpress for fast, easy access to Embarcadero’s InterBase® database. ASP.NET developers can provide support for membership, roles, profiles, and the other features of the ASP.NET provider interface for multiple backend databases.
  • Language and Compiler Features - Delphi Prism XE includes enhanced support for parallel programming, functional programming with new “if”, “case” and “for” expressions; integrated support for .NET 4.0 BigInteger constants, and new syntax for defining extension methods.
  • Import or Copy and Paste C# Code as Delphi Prism Code - Do you have, or come across, C# code snippets or files and wish you could use them in Delphi Prism? Now you can import or copy and paste C# code and .cs files into Delphi Prism and automatically convert them to Delphi Prism code.
  • Build Apps for iPhone OS - Delphi Prism XE can be used with Novell MonoTouch (sold separately) to create applications for the Apple iPhone OS to run on the iPhone, iPod Touch and iPad.
  • Code Obfuscation - Obfuscate your code to increase security and deter reverse engineering of your applications. Use the Oxfuscator Project template to add obfuscation to your solution and include it in the build process or run it standalone.
  • CodeSite logging system - The Raize CodeSite Logging System gives developers deeper insight into how their code is executing, which enables them to locate problems more quickly and ensure their application is running correctly. CodeSite's logging classes let developers capture all kinds of information while their code executes and then send that information to a live display or to a log file.

    Key Benefits for .NET Developers

  • Work in the latest .NET development environments available today. Delphi Prism XE developers can use either Visual Studio 2010 or the MonoDevelop IDE.
  • Build cutting-edge .NET applications with the latest framework support for .NET and ASP.NET 4.0 from Microsoft.
  • Subversion version control integration in the IDE.
  • Take advantage of the advanced tooling available to get the job done faster than ever before, including unique productivity tools like copy C# code to Delphi Prism code and many others.
  • Create astonishing Silverlight enabled applications from the Microsoft Visual Studio environment or create Mono Moonlight (open source version of Silverlight) applications with the MonoDevelop IDE.
  • Find bugs and increase code security with the new integrated tools like Raize CodeSite advanced logging features and the new Oxfuscator tool for obfuscating any .NET application.
  • Create Apple iPhone applications with Novell’s MonoTouch product (sold separately) using the same .NET language you know and love.

    Delphi Prism XE statement of authenticity!

One of the most frequent questions asked about Delphi Prism; “Is it a real .NET language?” The answer is a definite “YES!”

Delphi Prism is based on RemObjects Oxygene, a powerful CLR compiler engine that can support a variety of CLR based platforms such as Microsoft’s .NET and the Open Source Mono runtime.

  • Complete solution for .NET Windows development: With fully CLS compliant assemblies, developers have total access to all language and runtime features of .NET 4.x. including ASP.NET 4.x, Silverlight 3&4, WPF, Windows Forms, and LINQ.
  • Powerful full-featured Delphi Prism development language: Allows developers to write managed applications using a modern and powerful, yet easy to use, object-oriented language with roots in Delphi and Object Pascal, and features such as generics, sequences, queries and parallel computing.

    Experience cross-platform .NET development with Delphi Prism XE

Delphi Prism XE morphs to your style of development and does not leave you hanging like other .NET environments. That is because Delphi Prism XE comes with both the latest Visual Studio 2010 integration and the cross-platform open source MonoDevelop IDE.

Hide image
Click to see full-sized image

   

Hide image
Click to see full-sized image

The included MonoDevelop IDE can be used on the Windows and Apple Mac OS X operating systems.

   

Or, it can be used on the Windows operating system, just like the Visual Studio IDE for Delphi Prism. We allow the developer to make the call on the environment they need, and when they need it.

Hide image
Click to see full-sized image

   

    Target the OS of your choice

Delphi Prism XE allows the developer to build standard Microsoft based .NET applications or they can use the Mono framework. The Mono framework is an open-source .NET platform and framework that adheres to the EMCA standard for .NET.

This means users of Delphi Prism XE can target multiple platforms for deployment. These platforms include Windows, Linux, and Mac OS X operating systems.

Note: Mono may have to be loaded onto the target machines before the applications will work. This is the same dependency that any Microsoft .NET application has, that the .NET Framework and libraries must be loaded on the target Windows machine before a .NET application will run.

     Project Development

After installing Delphi Prism XE, you must set up a project to get started. In Delphi Prism XE, this can be accomplished in either IDE by simply clicking the New Solution from the File menu.

Hide image
Click to see full-sized image

 Hide image
Click to see full-sized image

Once the desired project type is selected and named, the IDE will walk the developer through any additional steps that may be needed to create the project.

Once the project is created through the wizard, it is ready to start building the actual application or library the developer is creating.

Notice in the Delphi Prism Visual Studio New Project, that it is also possible to create an Apple Mac OS X application. After a Mac application is created in the Windows-based IDE, it would have to be transferred to the target operating system (in this case, the Mac).

    .NET application types you build with Delphi Prism XE

If you can build it in .NET, you can build it with Delphi Prism XE. What is unique about Delphi Prism XE is that it is focused beyond simple .NET applications and really focuses on the cross-platform aspects of .NET. Of course, inside the Microsoft Visual Studio Shell or plug-in environments, you can build all the classic .NET applications from the solutions manager.

    Silverlight support

In order to use Delphi Prism XE Silverlight tooling libraries, the developer should download the latest Silverlight integration from the Microsoft. The primary reason for this is because the plug-ins and libraries were not official at the time of our build.

Hide image
Click to see full-sized image

Seamlessly work in either the Silverlight GUI designer or work in the lower-level XAML language. Either way allows developers to work in the way they are most comfortable.

    Creating WPF Applications

Users of Delphi Prism XE can take advantage of the latest WPF (Windows Presentation Foundation) approach to building applications. Delphi Prism XE fully supports both WPF Applications and the creation of WPF User Control Libraries.

    Creating Windows Forms Applications

Delphi Prism XE is focused on the latest and greatest offered from the .NET framework and platform but also has support for older technologies like Window Forms. Developers can use the New Project creator to build Console, WinForms applications, or WinForms User Controls from the IDE and share those with any other .NET application.

    Other .NET features supported

The Delphi Prism XE environment fully supports new .NET 4.0 and ASP.NET 4.0 versions, including design-time and runtime support for Windows Forms, ASP.NET, Windows Presentation Foundation (WPF), Parallel FX and LINQ.

    Develop cross-platform applications with Mono and MonoDevelop

    How does Mono development differ from Microsoft’s .NET development?

This answer is two-fold, the main differences depends on how the developer approaches a solution. If the developer uses the Visual Studio 2010 integration, the experience is going to be very similar, or almost exact to how they develop regular .NET applications. If the developer decides to use the MonoDevelop IDE, then there will be slight differences in menu items, advanced tools, and such, but the underlying code should be the same or very close to identical. There can be platform nuances that can change the code slightly.

    Can MonoDevelop create Graphical User Interfaces (GUI)?

Mono and MonoDevelop sure can, however, in the areas of GUI development, different approaches will be used. Instead of Windows Forms or WPF as would be used with Microsoft .NET, developers in the Mono world would create a Gtk# Project, which is the main cross-platform approach to Graphical User Interface (GUI) development. Keep in mind that this is true for GUIs being built that target the Windows, Linux, and Apple Mac OS X operating systems.

Hide image
Click to see full-sized image Hide image
Click to see full-sized image

The overall development experience inside MonoDevelop is still very rich and allows developers to get a lot of work done in a very short amount of time. Besides the slightly different approach to building GUI applications, MonoDevelop has many of the same features that Visual Studio has, but it is running on other platforms.

    Can MonoDevelop create ASP.NET applications?

Yes, MonoDevelop can create ASP.NET applications out of the box. All a developer needs to do is create an ASP.NET solution from the File|Solutions wizard.

    Can MonoDevelop create Silverlight applications?

Moonlight is the open-source equivalent to Silverlight. It is supposed to be compatible with the Silverlight code. The current implementation is basically a library and runtime. In the future, MonoDevelop will support Moonlight designers. As of this writing most all Moonlight applications are code only based. Also, keep in mind that Moonlight is a separate download from the Mono website.

    Building iPhone apps with MonoTouch

Delphi Prism XE can be used with Novell MonoTouch to create applications for the Apple iPhone OS to run on the iPhone, iPod Touch and iPad.

Novell’s MonoTouch is a separate download from the MonoTouch website.

Hide image

   

    Integrated Source Code Management

With new support for Subversion in IDE, you can now manage source code with one of the most used source code management systems in the world.

Hide image
Click to see full-sized image

This is complete integration into the Visual Studio 2010 Shell, and has all of the common tasks integrated in the solutions manager, menu systems and additional panels like shown about with the pending changes panel.

    Working with Databases and DataSources

    InterBase Developer Edition

Delphi Prism ships with a Developer Edition of InterBase, Embarcadero’s native, cross platform Relational Database Management System (RDBMS). InterBase Developer Edition allows developers five connections to the server hosted on their local machine for the purpose of developing applications that use InterBase. Once the application is developed, developers can purchase deployment licensing from Embarcadero.

    Other Databases and Datasources

Since Delphi Prism is built on the .NET framework, it has the ability to connect to any .NET datasource. This means that if you need connection to any of the standard enterprise databases besides InterBase, you can do so without major issues. Connecting to Microsoft SQL Server, Oracle, SAP/Sybase and many others are possible through the standard .NET connection methods.

    New language features

In Delphi Prism XE, there are many new advanced language features and some general updates from the compiler. This means easier programming and faster development. The following list outlines these new features and upgrades:

  • Expressions:
    • If
    • Case
    • For
  • BigInteger Constants
    Allow large number constants
  • Extension Methods
  • New support for Read-only local variables
  • Support for classic "begin/end" assembly entry point
  • Language support for the .NET 4.0 Tuple types
  • Support for .NET 4.0 PIA

    New Productivity features

One of the key new features is the ability to copy C# code and paste that code into a Delphi Prism application as Delphi Prism code called Oxygene. This is a real time saver as many developers used tested algorithms that have already been written and tested in C#. Normally, the Developer would have to convert the algorithm by hand, but this is as simple as copying one piece of code and pasting.

For example, we have a normal open block of code in a method:

method Window1.MyButton1_Click(sender: System.Object; e: System.Windows.RoutedEventArgs);

end;

Next, we have the following C# code that we want to use:

// Compose a string that consists of three lines.
string lines = "First line.\r\nSecond line.\r\nThird line.";

// Write the string to a file.
System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt");
file.WriteLine(lines);

file.Close();
 

Using the Copy C# / Paste Oxygene item:

Hide image
Click to see full-sized image

The following code is instantly put into the program:

method Window1.MyButton1_Click(sender: System.Object; e: System.Windows.RoutedEventArgs);
    begin
     // Compose a string that consists of three lines.
    var lines: System.String := 'First line.'#13#10'Second line.'#13#10'Third line.';

    // Write the string to a file.
    var file: System.IO.StreamWriter := new System.IO.StreamWriter('c:\test.txt');
    file.WriteLine(lines);

    file.Close(); 
end;
 
This should be a huge productivity gain for most developers who know Object Pascal and want to re-use C# code in Delphi Prism.

 

    Increase Code Understanding and Security

As we all know, time is a valuable commodity, especially when it comes to programming and getting complex solutions working as fast as possible. One of the most time tested ways to find issues is using logging. Delphi Prism XE includes Raize CodeSite Logging System, which gives developers deeper insight into how their code is executing, which enables them to locate problems more quickly and ensure their application is running correctly. CodeSite's logging classes let developers capture all kinds of information while their code executes, and then send that information to a live display or to a log file, which again is a big productivity gain.

It is also important in today’s world to protect your code from all kinds of things. It is always amazing how many programmers write awesome code and then don’t protect it. That is where Obfuscation comes in. Delphi Prism XE now includes an innovative .NET obfuscation tool called Oxfuscator. The new tool is used to increase the security and deter reverse engineering of your applications. Use the Oxfuscator Project template to add obfuscation to your solution and include it in the build process or run it as a standalone.

Hide image

Embarcadero Technologies, Inc. is the leading provider of software tools that empower application developers and data management professionals to design, build, and run applications and databases more efficiently in heterogeneous IT environments. Over 90 of the Fortune 100 and an active community of more than three million users worldwide rely on Embarcadero’s award-winning products to optimize costs, streamline compliance, and accelerate development and innovation. Founded in 1993, Embarcadero is headquartered in San Francisco with offices located around the world. Embarcadero is online at www.embarcadero.com.

Server Response from: ETNASC04