logo

 

     
 
Home
Site Map
Search
 
:: Bitwise Courses ::
 
Bitwise Dusty Archives
 
 
 

rss

 
 

ruby in steel

learn aikido in north devon

Learn Aikido in North Devon

 


Section :: interviews

- Format For Printing...

RAD Studio XE2 - Embarcadero interview

Delphi, Mac, iOS and more....
Sunday 30 October 2011.
 

Embarcadero recently launched the latest release of its RAD Studio application development suite, which includes tools for developing using C++, PHP and Delphi, the Pascal language tool originally created by Borland. One of the new features of RAD Studio XE2 is its support for both Mac OSX and iOS development in addition to Windows. When I spoke to Embarcadero’s Chief Evangelist, David Intersimone, I asked him about RAD Studio’s cross-platform features. But, as a long-time Delphi programmer myself, I began by asking about Delphi…

Huw C: I understand that Delphi sales have been increasing over the past few years. Given the predominance of all those C-like language (C++, C#, Java and so on) I think some people might be surprised that a Pascal language is growing in popularity. What’s the explanation?

David I: There are several explanations for the resurgence of Delphi (and the Pascal language). First, since we have become part of Embarcadero Technologies increased investment in the RAD tools business has allowed us to provide to our customers year by year consistent releases with new functionality and higher quality. Customers have responded to this commitment with renewed confidence in Delphi and C++Builder. Second, the rise of multiple platforms beyond just Windows including cloud architectures, RESTful web services, and new multi-tier needs have focused attention on Delphi support for Microsoft Azure and Amazon cloud storage, direct support for REST in addition to SOAP, and our DataSnap technology for easily building multi-tier applications that can use TCP, HTTP and HTTPS protocols. Third, there are the additional new capabilities in Delphi XE2 that gives developers one language and one business application platform to cross compile to create the same application on Windows, Macintosh, Web and Mobile means that Delphi developers can expand the reach of their applications on multiple platforms with the same code. And finally, the component, RAD based visual development of Delphi still is the fastest way to build applications that can run on Windows (32 and 64-bit), Mac, support multiple databases and multiple software architectures. Delphi is no longer just an alternative to Visual Studio on Windows, it goes way beyond just Windows.

Huw C: Delphi XE2 claims to provide the “fastest way to build native Windows, Mac and iOS applications”. Let’s start with Mac applications. As a Delphi programmer using Windows, what do I need to do to compile and deploy my application on a Mac?

David I: Build a Delphi FireMonkey or command line application on Windows. Then in the IDE, add Mac OS X target to the new platform node in the project manager. Build the same application using the integrated Delphi for Mac OS X compiler. On the Macintosh you start our Platform Assistant (the next generation beyond our remote debugger) and the IDE will deploy the Macintosh application to the target Mac machine. The platform assistant allows deployment, debugging and execution from the Windows IDE to the target Mac. On the Macintosh you now have a native code Delphi application in an application package that you can copy to any number of Mac machines. You can use your favourite install tool as well to deploy your applications. The Windows IDE provides the same user build, debug, deploy experience for Windows and Macintosh. FireMonkey, dbExpress, DataSnap, and the Delphi RTL is available on Macintosh (in addition to 32 and 64-bit Windows) to link in or use runtime packages. You have full access to the Macintosh OS as well (just has you have access to the Windows API on Windows) to do any lower level programming you need.

Huw C: And what about iOS? Can I create a Windows application in Delphi and then simply compile and deploy direct to iOS? Or do I need a Mac as well as a PC to do this? What exactly are the steps I need to take to get my Delphi apps up and running on iOS?

David I: For iOS we provide the ability to design and build you application on Windows using the IDE, designer and components. You then have a tool, DPR2XCode, which creates an XCode project from the IDE’s MS Build project file. Then you move over to the Macintosh and use XCode and the Free Pascal Compiler to compile and link with FireMonkey and the Delphi RTL to generate an iOS ARM native code application. You can then do final debug and deploy from XCode. You can do a lot of development and testing work in the Windows IDE. When our next generation Delphi compiler is available that will support compiling to iOS and ARM processor, then we can have the complete iOS development experience in the Windows IDE. Anders Ohlsson in Developer Relations has a series of blog posts showing how to use Delphi and FireMonkey with the iOS operating system, file system and hardware – see http://blogs.embarcadero.com/ao/.

Huw C: Is the cross-platform support the same for both Delphi and C++? If not, what are the fundamental differences?

David I The multi-platform support for Windows 32 and Mac OS X 32 is the same process for C++Builder. You use our C++ compiler, FireMonkey and the RTL to build the same source code project for Windows and Mac.

Huw C: What about debugging? If I were to develop a Mac or iOS application in RADStudio, how would I go about debugging it?

David I: For Windows and Mac you use the Windows IDE debugger to debug your applications. The new Platform Assistant (the next generation of capabilities beyond our Remote Debugger) gives you the same IDE debugging experience of hitting step, step over, step into, watch variables, conditional breakpoints, etc. The IDE uses a remote profile that contains the connection (IP address and port) between the IDE and the target machine. The platform assistant can run on a remote Windows (32/64) machine/server, Macintosh and also Windows virtual machines in Microsoft Azure and Amazon EC2 as well. For iOS you can do a lot of the application debugging in the Windows IDE on a Windows target (providing ifdefs around the Free Pascal Compiler specific code (ifdef FPC), and then do final iOS debugging inside of XCode.

Huw C: I see no mention of Android anywhere. Do you have any plans to support Android? If not, why not?

David I: Android support is on our future roadmap. This was listed in a recent John Thomas (JT), Director of Product Management for Developer Tools, blog post where he talked about the future generation of compilers, Android native code support, Windows 8 Metro, and additional capabilities. When we have our next generation compilers targeting ARM processors, then you can take your Delphi FireMonkey applications and cross compile them for Windows, Mac, iOS, Android and additional platforms. In this way you program to the FireMonkey business application platform, use RAD visual components and your Delphi code instead of having to write platform specific code for different operating systems, different event models, different graphics models, etc. You can leverage all of your UI, application, database, and architecture code on multiple platforms and devices in the same way you build Windows, Mac and iOS applications today. We will be providing additional OS and hardware components that will do the right things on each platform using one set of interfaces. All native code for high speed performance and smaller memory footprints. You can find JT’s the road ahead blog post at http://blogs.embarcadero.com/jtembarcadero/2011/09/17/may-the-roadmap-rise-with-you/.

Huw C: Let’s assume I am a Windows developer – I’m not interested in Macs and mobile devices. I have to make a decision whether to base my next project on C++, C#, VB or Delphi. What compelling arguments are there to make me choose Delphi?

David I: If you are only doing Windows development, then Delphi and C++Builder provide the RAD, Visual component based development and high speed native code compilers for 32 and 64-bit Windows. We will continue to support Windows in the future as Microsoft continues to evolve Windows. At the same time, with smart phones, tablets and other alternative PCs and desktops as well as multiple cloud architectures – there are very few “Windows only” developers these days. Developers are being asked by their companies and their customers to add additional client access to the application infrastructures including iPhones, iPads and Android devices. If developers want fast, native code for all of their work, then Delphi and C++Builder provide the compilers that can be used. In parts of the world, Apple is selling more Macintoshes (30% and growing) taking desktops away from Windows and for these non-Windows PCs, Delphi and C++Builder are the only multiple platform native code solution providing support for both.

Huw C: And what about the other features of RADStudio? Can you highlight two or three things that you think might be of special to developers?

David I: Besides the new FireMonkey application platform with it’s HD and 3D GPU accelerated UI components, Delphi 64-bit Windows support, Macintosh and iOS support we have added many new capabilities in RAD Studio XE2.LiveBindings is a new technology that allows developers enhanced flexibility in the binding of data and objects to the UI components in their applications. With LiveBindings you can create expressions and methods to bind properties and data in one way and bi-directional ways. LiveBindings leverages the enhanced RTTI that is available in Delphi and C++Builder to allow design time and runtime bindings instead of having to do everything in code. dbExpress now also supports ODBC connections allowing Delphi and C++Builder developers to add additional database sources in their applications. RadPHP XE2, which is a part of RAD Studio XE2, now includes support for building mobile applications that seamlessly connect to your PHP server side applications. RadPHP XE2 has PHP component wrappers for mobile UI, mobile hardware and mobile file systems and a deployment wizard that takes the HTML, JavaScript and CSS client and builds native code applications for iOS and Android.


David Intersimone is Vice President of Developer Relations and Chief Evangelist More information on Rad Studio XE: http://embarcadero.com/products/rad-studio

- See also: RAD Studio 2010, Interview with Michael Rozlog, Senior Director of Delphi Solutions

AddThis Social Bookmark Button

Forum

  • RAD Studio XE2 - Embarcadero interview
    1 November 2011, by Brad

    Huw- How would you rate Delphi compared to C++ and Java? C++ and Java seem to give programmers a very polarized set of options with no middle ground. On the one hand you have C++ with unchecked pointers, memory allocation, unchecked strings and array bounds, weak typing, generics. Then you have the Java reaction to all of this which is to do away with pointers, no malloc/new, no generics and then add garbage collection and run on a VM. So where does Delphi factor in all of this? Are pointers dangerous in Delphi? Is the OO equal to that of C++ and Java? How does Delphi handle garbage collection? Is Delphi as fast as C++ or is it significantly faster than Java? Could you see Delphi replace Java’s domination of enterprise infrastructure?

    • RAD Studio XE2 - Embarcadero interview
      1 November 2011, by Huw Collingbourne

      I programmed Delphi for many years and I generally like the clear syntax. Its version of OOP takes the ’middle way’ I’d say. It’s certainly not as complex as C++ but it does require memory allocation/deallocation, an understanding of pointers, virtual methods etc. Yes, pointers can be dangerous if not used correctly and maybe someone who’s only ever used a garbage-collected language/runtime would have trouble. But anyone who’s programmed the "old way" won’t. ;-) A few years ago, I would have said that Delphi had probably had its day. Now I’m not so sure. MS has .NET development all wrapped up but has more or less forsaken Win32 development. OK, there’s C++ sure, but that’s not the most user-friendly programming language and Delphi seems now to fill the gap that VB once occupied. I think ObjectPascal is actually a much nicer language than VB. If I had to do Win32 development, I’d certainly choose Delphi. Whether or not it can cut the ice for Mac/iOS development, on the other hand, remains to be seen.


Home