Developing Cross-Platform Applications
Go Up to Cross-Platform Applications Index
Contents |
You can use RAD Studio on the Win32 platform to develop cross-platform applications.
Platforms, Compilers, and Libraries Supported in XE4
RAD Studio supports cross-platform application development for the following platforms:
- Mac OS X platform (both Delphi and C++)
- Win64 (both Delphi and C++)
- iOS (Delphi only)
The native Win32 platform is also supported by both Delphi and C++Builder.
Compilers
Six compilers are provided for cross-platform application development:
- DCC64.EXE, the Delphi Cross Compiler for Win64
- DCCOSX.EXE, the Delphi Cross Compiler for Mac OS X]
- BCCOSX.EXE, the C++ Cross Compiler for Mac OS X
- BCC64.EXE, the C++ 64-bit Windows Compiler
- DCCIOS32.EXE, the Delphi Cross Compiler for the iOS Simulator
- DCCIOSARM.EXE, the Delphi Cross Compiler for the iOS Device
Libraries and Platforms
RAD Studio supports three major libraries and three platforms. The following table lists the target platforms supported by the libraries in RAD Studio:
- FMX is FireMonkey (FMX.Forms, and so forth).
- RTL (run-time library) contains the convenience and utility functions and types (found in System.SysUtils and System.IOUtils, among others) that support both VCL and FMX.
- VCL is the longstanding Visual Component Library.
The following table summarizes the platform support by the various libraries in RAD Studio:
| Library\Platform | Win32 | Win64 (Delphi and C++) | Mac OS X | Mobile (iOS Simulator and Device) |
|---|---|---|---|---|
|
FMX |
Yes |
Yes |
Yes |
Yes |
|
RTL |
Yes |
Yes |
Yes |
Yes |
|
VCL |
Yes |
Yes |
Not supported |
Not supported |
Note: The table above is a high-level representation of library support for platforms. Some exceptions exist in RTL and VCL support for specific platforms. For example, BDE is not supported on Win64 or Mac OS X.
Types of Cross-Platform Applications You Can Create
- Mobile (iOS) apps that run on the iOS simulator and on a connected iOS device
- FireMonkey (Mac OS X, Win64 -- native Win32 is also supported)
- VCL Forms (Delphi and C++ Win64)
- DataSnap clients (Mac OS X, Win64 -- native Win32 is also supported)
- DataSnap servers (Windows only)
- DataSnap connectors (iOS Free Pascal, iOS Objective C, Blackberry Java, Android Java, Windows Phone 7 C#Silverlight)
- Console applications
- 64-bit Windows applications are considered cross-platform because the RAD Studio IDE is a 32-bit Windows application
Developing a Cross-Platform Application
The basic development cycle for a cross-platform application is as follows:
- Connect the development PC to the machine where you plan to install the PAServer (see the next step). See Working with a Mac and a PC or Connecting Your 32-bit PC to a Win64 PC.
- Install and run PAServer, the cross-platform server, on the target platform or on an intermediate platform that supports the target platform. For example, for the iOS Device target platform, you need to install the PAServer on an OS X platform.
- Create a connection profile that describes the connection to the Platform Assistant server on the target machine.
- Add an SDK to build your application. Only for Mac OS X C++ applications and iOS device applications.
- In the IDE, create and configure a cross-platform project:
- Add the target platform that you want.
- Activate the target platform.
- Configure the target platform with a connection profile, and an SDK if needed.
- Test the connection on the Connection Profile Manager page.
- Compile and build as usual.
- Debug using the cross-platform debugger.
- Keep in mind that running a cross-platform application requires the IDE to deploy the application.
- Deploy your cross-platform application.
Cross-Platform Topics
- Supported Target Platforms
- Target Platforms Overview
- Requirements for Cross-Platform Applications
- Types of Cross-Platform Applications You Can Create
- 64-bit Cross-Platform Application Development for Windows
- FireMonkey Application Platform - Cross-Platform
- Mac OS X Application Development
- iOS Mobile Application Development
- Migrating Delphi Code to iOS from Desktop
- IOS Tutorials: Delphi iOS Application Development
- IOS Tutorial: Set Up Your Development Environment on the Mac
- iOS Tutorial: Set Up Your Development Environment on Windows PC
- IOS Tutorial: Creating a FireMonkey iOS Application
- IOS Tutorial: Using a Button Component with Different Styles in an iOS Application
- IOS Tutorial: Using a Calendar Component to Pick a Date in an iOS Application
- IOS Tutorial: Using Combo Box Components to Pick Items from a List in an iOS Application
- IOS Tutorial: Using Tab Components to Display Pages in an iOS Application
- Cross-Platform Database Applications
- DataSnap Connectors for Mobile Devices
- Steps in Creating Cross-Platform Applications
- Compiling and Building Cross-Platform Applications
- Debugging Cross-Platform Applications
- Deploying Cross-Platform Applications