Delphi 長期以來一直是高效穩健的跨平台應用程式開發工具,其最新版本持續強化行動裝置和桌面應用程式的開發能力。本文不僅涵蓋前端介面設計,也探討後端多層架構的建立,特別是利用 RAD Server 構築 REST 和 SOAP 服務。此外,Delphi 提供的 FireMonkey 框架讓開發者能以單一程式碼函式庫,快速建構適用於 Windows、macOS、iOS 和 Android 等多平台的原生應用程式。本文也詳細說明資料函式庫的整合、網路服務的串接以及應用程式佈署的流程,適合不同經驗程度的 Delphi 開發者。

Expert Delphi:穩健且快速的跨平台應用程式開發

Delphi作為一個強大的開發工具,一直以來都為開發者提供了高效、穩健的跨平台應用程式開發能力。《Expert Delphi》一書由Marco Cantù和已故的Paweł Głowacki共同撰寫,為讀者提供了深入瞭解Delphi的機會,並展示瞭如何利用這一工具開發從前端到後端的各種應用程式。

本文內容與特點

本文的第二版由Marco Cantù精心修訂,結合了Paweł Głowacki多年來在Delphi社群中的豐富經驗與知識。全書涵蓋了Delphi的最新發展,包括行動裝置與桌面應用程式開發、3D開發、資料庫存取以及後端多層架構的建立與使用,特別是在RAD Server上的SOAP與REST應用。

重點技術與實務應用

  1. 跨平台開發:Delphi的強大之處在於其跨平台能力,本文詳細介紹瞭如何利用Delphi開發適用於不同平台的應用程式。

  2. 前端與後端開發:涵蓋了從前端應用程式開發到後端多層架構的建立,包括了行動裝置、桌面、3D開發等技術。

  3. 資料庫存取:介紹瞭如何在Delphi應用程式中嵌入資料庫存取功能,使開發者能夠更有效地管理資料。

  4. RAD Server與REST/SOAP:本文探討瞭如何使用RAD Server建立後端服務,並利用REST與SOAP實作不同系統之間的通訊。

作者簡介

  • Marco Cantù:Delphi專家,自1995年以來一直從事Delphi相關工作,目前在Embarcadero Technologies擔任RAD Studio產品經理。他撰寫了多本關於Delphi的書籍,並在全球多個Delphi與程式設計會議上發表演講。

  • Paweł Głowacki:曾任Embarcadero的歐洲技術主管,在Delphi社群中具有很高的聲譽。他在生前為Delphi開發者提供了大量的資源和培訓。

本文價值

《Expert Delphi》不僅是一本技術,更是Delphi開發者社群的一份寶貴遺產。透過本文,讀者可以學習到如何利用Delphi高效地開發跨平台應用程式,並深入瞭解相關技術的最佳實踐。無論是Delphi的新手還是經驗豐富的開發者,都能從本文中獲得寶貴的知識和啟發。

移動應用開發的超級英雄之路:Delphi跨平台開發實戰

在當今快速變化的科技世界中,移動應用開發正變得越來越複雜。每天,新的移動作業系統版本被發布,移動裝置不斷獲得新的功能,使用者的期望值也在不斷提高。要在這個競爭激烈的市場中脫穎而出,開發者需要掌握超級工具,成為開發超級英雄。本文將帶您踏上使用Delphi開發移動應用的旅程,學習如何快速構建跨平台的移動應用,並掌握開發高品質應用的技巧。

Delphi安裝與環境組態

首先,我們需要安裝Delphi並熟悉其整合開發環境(IDE)。Delphi提供了強大的工具和功能,可以幫助開發者快速構建高品質的應用。

執行Delphi安裝程式

  1. 下載Delphi安裝程式:存取Delphi官方網站,下載最新版本的安裝程式。
  2. 執行安裝程式:雙擊下載的安裝程式,按照提示完成安裝過程。
  3. 自定義安裝元件:在安裝過程中,您可以選擇需要安裝的元件,例如IDE、函式庫檔案等。

組態IDE選項

  1. 啟動Delphi IDE:安裝完成後,啟動Delphi IDE。
  2. 組態編輯器選項:在IDE中,您可以組態編輯器的字型、顏色、縮排等選項,以提高編碼效率。
  3. 設定除錯選項:組態偵錯程式的選項,例如斷點、中斷條件等,以幫助您更好地除錯應用。

使用Delphi進行跨平台開發

Delphi提供了跨平台開發的能力,可以讓您使用一套程式碼函式庫開發出適用於多個平台的應用。

FireMonkey框架

FireMonkey是Delphi的跨平台UI框架,可以讓您構建適用於Windows、macOS、iOS和Android等平台的應用。

使用FireMonkey構建UI
  1. 建立FireMonkey專案:在Delphi IDE中建立一個新的FireMonkey專案。
  2. 設計UI介面:使用FireMonkey的UI控制元件設計應用介面。
  3. 使用樣式定製介面:FireMonkey提供了豐富的樣式,可以讓您定製應用的外觀。

移動裝置功能存取

Delphi提供了存取移動裝置功能的API,可以讓您存取裝置的攝像頭、GPS、感測器等功能。

使用攝像頭
  1. 新增攝像頭元件:在FireMonkey專案中新增攝像頭元件。
  2. 存取攝像頭:使用Delphi提供的API存取攝像頭,捕捉影像或影片。

資料函式庫與網路服務整合

在移動應用開發中,資料函式庫和網路服務的整合是非常重要的。Delphi提供了豐富的資料函式庫和網路服務元件,可以幫助您輕鬆整合這些功能。

使用FireDAC存取資料函式庫

FireDAC是Delphi的資料庫存取框架,可以讓您存取多種資料函式庫。

  1. 新增FireDAC元件:在Delphi專案中新增FireDAC元件。
  2. 組態資料函式庫連線:組態資料函式庫連線引數,連線到目標資料函式庫。

整合REST網路服務

Delphi提供了REST網路服務元件,可以讓您輕鬆整合RESTful API。

  1. 新增REST元件:在Delphi專案中新增REST元件。
  2. 組態REST客戶端:組態REST客戶端,呼叫目標RESTful API。

測試與佈署

在完成應用開發後,需要進行測試和佈署。Delphi提供了豐富的測試和佈署工具,可以幫助您提高應用的品質和可靠性。

使用單元測試

單元測試是確保程式碼品質的一種重要手段。Delphi提供了單元測試框架,可以幫助您編寫和執行單元測試。

  1. 建立單元測試專案:在Delphi IDE中建立一個新的單元測試專案。
  2. 編寫測試使用案例:編寫測試使用案例,驗證程式碼的正確性。

佈署到應用商店

完成測試後,需要將應用佈署到應用商店。Delphi提供了佈署工具,可以幫助您簡化佈署過程。

  1. 準備應用商店提交材料:準備應用商店提交所需的材料,例如圖示、截圖等。
  2. 使用Delphi佈署工具:使用Delphi提供的佈署工具,將應用佈署到目標應用商店。

使用Delphi進行行動應用開發的優勢與簡介

Delphi是一種強大的開發工具,能夠讓開發者使用單一程式語言和一套使用者介面控制項,開發出同時適用於iOS和Android的行動應用程式。這種跨平台的開發能力使得Delphi成為行動開發者的理想選擇。除了行動應用開發外,Delphi還提供了建立REST API後端服務的能力,讓行動應用能夠存取自定義的服務。

誰適合閱讀本文

本文主要針對具備基礎程式設計知識的軟體開發者,尤其是那些希望學習使用Delphi進行行動應用開發的開發者。如果你從未寫過程式碼,本文可能不適合你。本文特別針對那些從未使用Delphi或只用於Windows VCL應用開發的開發者,內容著重於使用Delphi和FireMonkey進行iOS和Android的行動應用開發。

本文涵蓋的內容

本文共分為15章,內容涵蓋了從Delphi IDE的基本介紹到行動應用開發的高階主題。以下是各章節的簡要介紹:

第一章:Fasten Your Seat Belts

介紹Delphi IDE,並引導讀者進行跨平台應用開發的第一步。

第二章:Mind Your Language

介紹Delphi的Object Pascal語言,包括其基礎和最新的語言擴充套件。

第三章:Packing Up Your Toolbox

探討Delphi的核心執行期函式庫功能,特別是如何管理不同格式的檔案,包括JSON和XML。

第四章:Using the Parallel Programming Library

專注於多執行緒、平行程式設計和執行緒同步。

第五章:Playing with FireMonkey

介紹FireMonkey UI函式庫,並引導讀者開發實際的應用程式。

第六章:FireMonkey in 3D

探討如何在FireMonkey中開發3D應用程式,展示多種不同的技術。

第七章:Building User Interfaces with Style

探討FireMonkey的樣式架構,這是FireMonkey的核心架構元素。

第八章:Working with Mobile Operating System

著重於裝置感測器、相機和整合的網頁瀏覽器。

第九章:Desktop Apps and Mobile Bridges

討論桌面開發和行動應用之間的橋接技術,稱為tethering。

第十章:Embedding Databases

介紹資料函式庫開發、FireDAC資料存取函式庫和實時繫結。

第十一章:Integrating with Web Services

講解如何透過HTTP、REST客戶端、SOAP客戶端或雲端存取函式庫呼叫外部網路服務。

第十二章:Building Mobile Back-ends

開始探討如何開發可作為行動應用後端的伺服器函式庫,涵蓋WebBroker和DataSnap。

第十三章:Easy REST API Publishing with RAD Server

專注於RAD Server技術,這是Delphi高階版本中可用的技術。

第十四章:App Deployment

涵蓋將應用程式佈署到行動商店,包括Apple的App Store和Google的Play Store。

第十五章:The Road Ahead

簡短的結論,建議讀者在讀完本文後可以做的事情。

如何充分利用本文

本文透過實際示範和逐步來教授Delphi和FireMonkey的應用開發。因此,讀者需要準備好Delphi的副本,並盡可能準備一個可以佈署應用程式的行動裝置。對於macOS和iOS開發,需要一台Apple Mac,而對於Android開發,一台安裝了Delphi和整合的Android SDK的Windows機器就足夠了。

軟體/硬體需求

  • Embarcadero Delphi IDE:可以在Windows上執行,或是在不同作業系統上託管的Windows虛擬機器中執行。需要Delphi的授權,大部分內容和示範可以使用免費的Community Edition。
  • Android開發:只需要一部Android手機或平板電腦電腦,最好是較新的作業系統版本。
  • iOS開發:需要一台Mac和一個(付費的)Apple開發者帳戶來佈署到裝置上,以及一部實際的iPhone或iPad。
  • DataSnap和RAD Server框架:僅在Delphi的高階付費版本中可用。
  • App Store佈署:需要在Apple或Google線上商店擁有付費開發者帳戶。

下載範例程式碼

本文使用的慣例

本文中使用了一些文字慣例,例如:

  • 程式碼在文字中:表示文字中的程式碼字、資料函式庫表名、資料夾名稱、檔名、檔案副檔名、路徑名、虛擬URL、使用者輸入和Twitter帳號。
// 這是一個範例程式碼
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('Hello, Delphi!');
end;

內容解密:

上述程式碼定義了一個按鈕點選事件處理程式,當按鈕被點選時,會顯示一個訊息對話方塊,內容為「Hello, Delphi!」。這段程式碼展示瞭如何在Delphi中使用VCL控制項和事件處理。

  1. TForm1.Button1Click:這是按鈕點選事件的處理程式名稱,TForm1代表表單類別,Button1Click則是事件處理程式名稱。
  2. ShowMessage:這是一個用於顯示訊息對話方塊的函式,其引數為要顯示的訊息內容。
  3. 'Hello, Delphi!':這是要顯示在訊息對話方塊中的文字內容。

這段程式碼簡單明瞭,展示了Delphi中事件驅動程式設計的基本用法。

圖表翻譯: 此圖示展示了一個簡單的事件驅動流程。當程式開始執行後,它會檢查按鈕是否被點選。如果按鈕被點選,則顯示訊息對話方塊;如果沒有,則繼續等待按鈕被點選,直到按鈕被點選為止,最後結束流程。

Delphi 開發環境建置與 IDE 簡介

Delphi 是行動應用開發的重要工具,其強大的跨平台編譯能力使得開發者能夠從相同的原始碼編譯出原生 Android 與 iOS 應用程式。本章將引導讀者完成 Delphi 的安裝、熟悉 IDE 基本操作,並為行動裝置開發做好準備。

Delphi 安裝流程

Delphi 為 Windows 程式,因此需在具備適當 Windows 版本的電腦上安裝,並確保硬碟有足夠的可用空間。開發者可選擇在實體電腦或 Windows 虛擬機器上安裝 Delphi。虛擬機器的使用在跨平台開發中具有一定優勢,因為建立 iOS 應用程式仍需要 Mac 電腦的支援。

安裝步驟與注意事項

  1. 硬體與軟體需求:確認電腦符合 Delphi 的系統需求,包括適當的 Windows 版本和足夠的硬碟空間。
  2. 虛擬機器安裝:可使用 VMWare 等虛擬化方案在 Mac 電腦上執行 Windows 虛擬機器,從而安裝 Delphi。
  3. 跨平台開發考量:即使用虛擬機器安裝 Delphi,仍需確保能夠存取 Mac 電腦以支援 iOS 應用程式的開發。

熟悉 Delphi IDE

Delphi 的整合開發環境(IDE)是開發者主要的工作介面。掌握 IDE 的最佳實踐能夠提升開發效率,為未來的專案開發打下良好基礎。

IDE 主要功能簡介

  • 程式碼編輯器:提供豐富的程式碼編輯功能,包括語法突顯、自動完成等。
  • 視覺化表單設計器:允許開發者以拖曳方式設計應用程式介面。
  • 專案管理工具:協助管理專案檔案和資源。
  • 偵錯工具:提供強大的偵錯功能,幫助開發者快速定位和修復問題。

自訂 IDE 環境

開發者可根據個人偏好調整 IDE 的佈局和設定,例如調整工具列、變更主題等,以提高工作效率。

佈署應用至行動裝置

完成 Delphi 安裝和 IDE 熟悉後,下一步是將應用程式佈署到行動裝置上。本文將介紹如何設定開發環境以支援 Android 和 iOS 裝置。

Android 佈署

  1. 設定 Android SDK:確保已安裝適當版本的 Android SDK,並在 Delphi 中正確設定路徑。
  2. 連線 Android 裝置:透過 USB 或無線方式連線 Android 裝置,並啟用除錯模式。
  3. 編譯與佈署:使用 Delphi 編譯專案,並佈署到連線的 Android 裝置上。

iOS 佈署

  1. 設定 iOS 開發環境:需準備 Mac 電腦,並安裝 Xcode 和必要的開發工具。
  2. 設定 Provisioning Profile:在 Apple 開發者帳戶中建立並下載適當的 Provisioning Profile。
  3. 連線 iOS 裝置:透過 USB 連線 iOS 裝置,並在 Delphi 中設定相關引數。
  4. 編譯與佈署:編譯專案,並佈署到連線的 iOS 裝置上。

重點整理

  • Delphi 提供跨平台開發能力,能夠從相同原始碼編譯出原生 Android 和 iOS 應用。
  • 正確安裝和設定 Delphi 是行動應用開發的第一步。
  • 熟悉 Delphi IDE 的功能和操作能夠提升開發效率。
  • 正確設定和佈署流程是成功將應用程式佈署到行動裝置的關鍵。

Delphi 安裝與設定

Delphi 是由 Embarcadero 開發的一款功能強大的原生 Windows 應用程式開發工具,建議在 64 位元的 Windows 11 或最新版的 Windows 10 上安裝使用。

Delphi 版本選擇

Delphi 提供多個版本供開發者選擇,包括 Community Edition (CE)、Professional、Enterprise 和 Architect。在下載安裝程式之前,必須根據需求選擇合適的版本。

  • Community Edition (CE):免費版本,功能與 Professional 版本相近,但僅限於個人愛好者、初創公司或年收入不超過 5,000 美元的開發者或公司使用。需遵守 End User License Agreement (EULA) 的規定。
  • Professional:適合開發跨平台應用程式(Windows、macOS、Android 和 iOS),但不包含高階資料庫存取、多層架構支援等功能。
  • Enterprise:完整版本,包含 Professional 的所有功能,並支援 Linux 伺服器應用程式開發、所有資料函式庫的存取、DataSnap 和 RAD Server 多層解決方案等。本將以此版本為主。
  • Architect:最高階版本,包含 Enterprise 版本,並額外提供其他工具,如 Aqua Data Studio 和 Ext JS。

Delphi 安裝步驟

本將以 Delphi 12.0 Enterprise 版本為例進行說明。

  1. 下載安裝程式:可從 Embarcadero 官方網站下載 Delphi 安裝程式,包括 30 天試用版和 CE 版本。
  2. 執行安裝程式:Delphi 提供線上安裝程式和離線安裝程式(ISO 映像檔)兩種方式。線上安裝程式較為快速,但需要網路連線。
  3. 輸入序號和登入帳戶:安裝過程中需輸入 Embarcadero 提供的序號,並登入 Embarcadero Developer Network (EDN) 帳戶。如果沒有 EDN 帳戶,可在安裝程式中或官網上免費註冊。
  4. 選擇平台和功能:安裝完成後,可選擇要安裝的平台和附加功能。建議選擇完整安裝,除了非英語語言外。

平台選擇畫面

此圖示顯示了 Delphi 12 中的平台選擇畫面:

@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle

title Delphi 跨平台應用程式開發

package "網路架構" {
    package "應用層" {
        component [HTTP/HTTPS] as http
        component [WebSocket] as ws
        component [gRPC] as grpc
    }

    package "傳輸層" {
        component [TCP] as tcp
        component [UDP] as udp
        component [TLS/SSL] as tls
    }

    package "網路層" {
        component [IP] as ip
        component [ICMP] as icmp
        component [路由協議] as routing
    }

    package "鏈路層" {
        component [Ethernet] as eth
        component [WiFi] as wifi
        component [ARP] as arp
    }
}

http --> tcp
ws --> tcp
grpc --> tcp
tcp --> tls : 加密
tls --> ip
udp --> ip
ip --> routing
routing --> eth
routing --> wifi
eth --> arp

@enduml

圖表翻譯: 此圖表呈現了 Delphi 12 的平台選擇畫面,開發者可根據需求選擇要安裝的目標平台,包括 Windows、macOS、Android、iOS 和 Linux。

安裝注意事項

  • 需要管理員許可權才能安裝 Delphi。
  • 如果在安裝過程中遇到問題,可參考 Embarcadero DocWiki 上的 Delphi Installation Notes。

程式碼範例與說明

以下是一個簡單的 Delphi 程式碼範例,用於建立一個視窗應用程式:

unit MainForm;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // 在此新增程式碼
end;

end.

內容解密:

  • unit MainForm; 定義了一個單元名稱為 MainForm。
  • interface 部分定義了單元的介面,包括使用的單元、類別定義等。
  • TForm1 是一個繼承自 TForm 的類別,用於建立視窗表單。
  • procedure FormCreate(Sender: TObject); 是表單建立時的事件處理程式,可在其中新增自訂程式碼。
  • implementation 部分包含了單元的實作細節。
  • {$R *.dfm} 是編譯器指令,用於連結表單資源檔(.dfm)。