Developing Multi-Device Applications
Go Up to Multi-Device Applications Index
Contents
You can use RAD Studio on the Win32 platform to develop multi-device applications that run on other platforms.
Supported Platforms
RAD Studio supports multi-device application development for the following platforms:
- 32-bit Windows
- 64-bit Windows
- macOS 64-bit (Intel)
- macOS 64-bit (ARM)
- 64-bit iOS Device
- 32-bit Android
- 64-bit Android
- 64-bit Linux (only for console applications unless you use FmxLinux from GetIt)
{Delphi}} supports all platforms.
Supported Frameworks and Libraries
RAD Studio supports three major libraries and several 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 | macOS 64-bit (Intel) and macOS 64-bit (ARM) | iOS Device | Android | Linux |
---|---|---|---|---|---|---|
FMX |
Yes |
Yes |
Yes |
Yes |
Yes |
Supported only by FmxLinux from GetIt |
RTL |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
VCL |
Yes |
Yes |
Not supported |
Not supported |
Not supported |
Not supported |
Technical Advice
Advice on Android development
Android devices can be connected directly and are considerably faster than using the Android emulator.
Advice on macOS and iOS development
In most countries, developing for iOS and macOS requires Apple hardware to code sign native applications. This is due to EULA restrictions on the macOS that require it to run on Apple hardware. It’s not uncommon for a team of developers to share an Apple device and use VNC access or to rent a Mac in the cloud.
If developing from a laptop, many developers get a MacBook Pro and run a virtual machine for Windows (e.g., VMWare Fusion or Parallels). It is then possible to install a PA Server on the Mac and run a fast local connection to enable access to the iOS Simulator, to run and test iOS and macOS builds, and code sign applications on the Apple hardware.
Types of Multi-Device Applications You Can Create
- Mobile apps that run on iOS and Android devices
- FireMonkey (macOS 64-bit (Intel), macOS 64-bit (ARM), Win64 -- native Win32 is also supported)
- VCL Forms
- DataSnap clients (macOS 64-bit (Intel), macOS 64-bit (ARM), Win64 -- native Win32 is also supported)
- DataSnap servers (Windows, Linux)
- 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 Multi-Device Application
The basic development cycle for a multi-device application is as follows:
- Configure your development system and RAD Studio to support the target platform.
- If your development system runs 32-bit Windows and your application targets 64-bit Windows:
- Install and run PAServer, the multi-device server, on the 64-bit PC.
- Create a connection profile that describes the connection to the Platform Assistant server on the 64-bit PC.
- If your application targets macOS 64-bit (Intel), macOS 64-bit (ARM), or iOS:
- Connect your development PC to the Mac.
- Install and run PAServer, the multi-device server, on the Mac.
- Create a connection profile that describes the connection to the Platform Assistant server on the Mac.
- Add an SDK to build your application.
- If your development system runs 32-bit Windows and your application targets 64-bit Windows:
- In the IDE, create and configure a multi-device 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.
- Note: If you use a connection profile, you can test the connection on the Connection Profile Manager page.
- Compile and build as usual.
- Debug using the integrated multi-device debugger.
- Keep in mind that running a multi-device application requires the IDE to deploy the application.
- Deploy your multi-device application.
Multi-Device Topics
- Supported Target Platforms
- Target Platforms Overview
- Requirements for Multi-Device Applications
- Securing the Network Connections of Your Multi-Device Apps
- Creating and Deploying App Icons
- Distributing Your Multi-Device Apps
- Types of Multi-Device Applications You Can Create
- 64-bit Application Development for Windows
- FireMonkey Application Platform - Multi-Device
- macOS Application Development
- iOS Mobile Application Development
- Migrating Delphi Code to Mobile from Desktop
- Mobile Tutorials: Mobile Application Development (iOS and Android)
- Mobile Tutorial: Set Up Your Development Environment on the Mac (iOS)
- Mobile Tutorial: Set Up Your Development Environment on Windows PC (iOS)
- Mobile Tutorial: Set Up Your Development Environment on Windows PC (Android)
- Mobile Tutorial: Creating an Application for Mobile Platforms (iOS and Android)
- Mobile Tutorial: Using a Button Component with Different Styles (iOS and Android)
- Mobile Tutorial: Using a Calendar Component to Pick a Date (iOS and Android)
- Mobile Tutorial: Using Combo Box Components to Pick Items from a List (iOS and Android)
- Mobile Tutorial: Using the Web Browser Component (iOS and Android)
- Mobile Tutorial: Using Tab Components to Display Pages (iOS and Android)
- Mobile Tutorial: Using ListBox Components to Display a Table View (iOS and Android)
- Mobile Tutorial: Using LiveBindings to Populate a ListView (iOS and Android)
- Mobile Tutorial: Using LiveBindings to Populate a ListBox in Mobile Applications (iOS and Android)
- Mobile Tutorial: Using Layout to Adjust Different Form Sizes or Orientations (iOS and Android)
- Mobile Tutorial: Taking and Sharing a Picture, and Sharing Text (iOS and Android)
- Mobile Tutorial: Using Location Sensors (iOS and Android)
- Mobile Tutorial: Using Notifications (iOS and Android)
- Mobile Tutorial: Using BaaS for Backend Storage (iOS and Android)
- Mobile Tutorial: Using InterBase ToGo with dbExpress (iOS and Android)
- Mobile Tutorial: Using dbExpress and SQLite (iOS and Android)
- Mobile Tutorial: Connecting to an Enterprise Database from a Mobile Client (iOS and Android)
- Mobile Tutorial: Using FireDAC in Mobile Applications (iOS and Android)
- Mobile Tutorial: Using FireDAC and SQLite (iOS and Android)
- Android Mobile Application Development
- Android Devices Supported for Application Development
- Adding an Android SDK
- Enabling USB Debugging on an Android Device
- Configuring Your System to Detect Your Android Device
- Running Your Android Application on an Android Device
- Preparing an Android Application for Deployment
- Creating a Keystore File
- Adding a Certificate to a Keystore File
- Deploying Your Signed Android Application
- Using FireMonkey in Multi-Device Applications
- Using the RTL in Multi-Device Applications
- Multi-Device Database Applications
- DataSnap Connectors for Mobile Devices
- Steps in Creating Multi-Device Applications
- Previewing your Multi-Device Application
- Compiling and Building Multi-Device Applications
- Debugging Multi-Device Applications
- Deploying Multi-Device Applications