Xojo

**Xojo**（讀作「啁啾」）是一個跨平台程式語言及多平台開發工具，能為 Windows、Mac OS X 及 Linux 這三種操作系統編寫具有圖形用戶界面的桌面（Desktop）程序、沒有圖形用戶界面的控制台或後台服務程序、網絡（Web）程序（有嵌入網絡伺服器功能的可獨立運行版本以及支持 Apache 和 IIS 的 CGI 兩種方式），並即將支持 iOS 等移動平台。Xojo 通過交叉編譯在開發平台上為各種操作系統生成本機代碼的原生的應用程式，即程序由 CPU 可以直接執行的指令組成，幾乎所有界面控制項也都是相應操作系統的原生界面控制項。

Xojo 語言是完全物件導向（物件導向）的程式語言，支持繼承、重構、多態，像 Java 和 C# 一樣支持類接口（class interface）和命名空間（名稱空間，namespace）。除此之外，還有委託（delegate）、反射 / 自省（introspection）等現代程式語言所具有的功能。Xojo 語言是強類型語言，所有變量需要先定義後使用。

Xojo 的集成開發環境（整合開發環境，IDE）提供了工程管理器、界面設計器、菜單設計器、工具欄設計器、報表設計器、代碼編輯器、編譯器、調試器等全套工具。

Xojo 的編譯器曾經可以為 X86、68K、PowerPC 三大類晶片編譯原生程序，隨著後兩者的衰落，目前只支持 Intel X86 系列及其兼容晶片，能為 Windows 生成 PE 格式可執行文件，為 Mac OS X 生成 Mach-O 格式程序包（以前還支持 PEF 格式的單一可執行文件），為 Linux 生成 ELF 格式的可執行文件。Xojo 的編譯器後端將在不久的將來採用 LLVM 代替自行編寫的編譯器，從而能為 iOS 和安卓等移動系統所支持的 CPU 編譯原生應用程式。

Xojo 目前支持的作業系統程序庫包括 Microsoft Windows 上的 Win32 及兼容 API，Apple Mac OS X 系統的 Carbon 框架和 Cocoa 框架，Linux 上的 GTK 圖形界面。以前還曾支持過 Mac OS Classic 平台，並且將會支持 iOS 的 Cocoa Touch 開發框架。Xojo 提供插件（plugin）開發包 SDK，使用戶能將用 C/C++ 等語言編寫的程序庫進行包裝後在 Xojo 程序中調用。Xojo 的 Mac OS X 程序還支持嵌入 AppleScript 腳本，所嵌入的腳本可以作為工程中的一個全局方法來調用，在 Windows 上則支持大部分 ActiveX 控制項。Xojo 語言通過與 VB 類似的 Declare 語句提供對作業系統 API 和各平台上的動態庫、靜態庫文件中的函數進行直接調用。

Xojo 提供內嵌的 SQLite 資料庫引擎，同時支持 Oracle、MySQL 社區版（MySQL 的許可證不允許同時支持開源社區版和付費版的軟體存在，因此目前僅支持社區版）、PostgreSQL、MS SQL Server（當然僅限 Windows）等大部分主流的 SQL 資料庫伺服器，也支持以 ODBC 方式訪問資料庫。

## Xojo 的特殊功能

很多開發工具都有一些大部分其他工具所不具備的功能，Xojo 提供的功能比如：

* 本地化 / 多國語言支持：Xojo 工程中的所有界面元素上的文本和要顯示給用戶的文字都可以使用全局級或模塊級字符串常量，而 Xojo 語言中的全局或模塊級字符串常量可以被設置為「動態字符串」，使用文件菜單的「導出可本地化的常量」功能，可將工程中所有的動態字符串導出為一個 Xojo Locale 文件。這類文件可以交給語言專家使用 Xojo 提供的 Lingua 程序翻譯為其他語言。翻譯後的文件可以轉換為外掛的界面文字文件，從而使任何程序都能輕鬆提供多國語言版本。
* 自動化 / 腳本支持：Xojo 語言通過 XojoScript 類等提供了一個腳本編譯和執行環境，其所支持的腳本是 Xojo 語言的一個子集。使用這一功能，程序開發人員可以使他們的軟體的高級用戶能像在 Microsoft Office 中使用 VBA 和宏那樣對他們的程序進行自動化控制。

Xojo 的 IDE 就是使用 Xojo 語言編寫的，因此也充分利用了上述功能來實現多國語言支持和自動化。比如開發人員可以使用 Xojo IDE 的自動化腳本功能讓 Xojo 在編譯程序之後自動將程序所需的外部文件複製到程序文件夾中，或自動生成安裝包等。

## Xojo 所獲獎項

### Mac 平台

Xojo 誕生之時，Apple 自己的 Mac OS X 平台開發工具 XCode 還未面世，因此不久就與 CodeWarrior（時為摩托羅拉下屬飛思卡爾公司的產品）一起成為了 Mac OS X 平台上的重要開發工具，在 1999～2001 年連續三屆獲得 Apple Design Award 提名，曾被 Mac 用戶界著名的 Macworld 雜誌給與了 4.5 隻「老鼠」的好評（滿分為 5 隻，但極少打出滿分），在 2003 MacInTouch 讀者評選中被評為最佳開發工具。

在前 Mac Apple Store 時代，Apple 通過其官方網站上的下載欄目提供第三方軟體下載，並為一些較為重要的軟體加上「Staff Pick」（蘋果公司員工選擇）標記，當時 Xojo 一直是 Staff-Picked 產品。微軟公司的 Mac 產品開發部門曾一度長期使用 Xojo，IE for Mac 的主體功能和 Microsoft Office 的 Mac 版（2004 及更早版本）中的實用工具（如 ODBC 連接器等）都是使用 Xojo 編寫的。Microsoft Office 的蘋果版其實一直支持自動化操作，但直到最近的版本才提供了內嵌的 VBA 編輯器，在此之前 Office 的蘋果版安裝包中自帶 Xojo 的 5.x 系列開發包，並通過後者的 Office 自動化支持來提供這一功能（Xojo 的微軟 Office 自動化功能在 Windows 上也可用）。

### Windows 平台

2005 年 3 月，5.5 的 Windows 版獲得了 CMP 評選的 Jolt 獎的語言與開發環境獎類生產力獎。

### Linux 平台

2006 年 1 月，經過一年的讀者投票之後，2005 Linux 版以絕對優勢獲得了 SYS-CON 的 LinuxWorld 雜誌 2005 讀者選擇獎的最佳 Linux 編程環境和最佳 Linux 開發工具兩項大獎。

### 其他

在 2005 年 2 月份的 DEMO@15 軟體展示大會上，獲得了 DEMOgod 大獎。

## Xojo 的歷史

1997 年美國人 Andrew Barry 發布了一款名為 CrossBasic 的快速開發環境（RAD），這是他用業餘時間編寫的，通過它，用戶能用 BASIC 語言編寫圖形界面應用程式，然後編譯成能運行於 680X0（68K）晶片的 Macintosh 機的程序和 Java 程序。同年 9 月 CrossBasic 被位於德克薩斯州首府奧斯汀市的 FYI 軟體公司收購，由於 CrossBasic 已經被另一家美國公司註冊成為軟體產品的商標，因此決定更名為 REALbasic，FYI 軟體公司也隨之更名為 REAL Software, Inc.。

1998 年 7 月 14 日，REALbasic 1.0 正式發布，它能為 68K 晶片和 PowerPC 晶片的 Mac 機創建應用程式。因此 REALbasic 成為了 Macintosh 平台主流開發工具之一，也是當時所有 Macintosh 主流開發工具中唯一一款使用 BASIC 語言的可視化、面相對象的 IDE，但是取消了生成 Java 字節碼的功能。接著從 1999 年到 2001 年，REALbasic 連續三年獲得 Apple Design Award 提名。

2000 年 4 月 17 日，REALbasic 2.1 發布，從該版本起用戶能在 Mac 上為 Windows 創建應用程式。同時微軟 Internet Explorer 的 Macintosh 版的產品經理也宣稱 REALbasic 是開發 Internet Explorer 5 Macintosh 版的重要工具。

2001 年 7 月 18 日，REALbasic 3.5 推出，開始支持蘋果電腦的下一代作業系統 Mac OS X 之外，並提供了對 3D 技術、微軟 Office 自動化的支持，推出了 RBScript 腳本語言（後來的 XojoScript 腳本語言）。

2003 年 2 月 24 日推出 REALbasic 5.0 Mac 版，4 月 28 日，Xojo 首個 Windows 版上市，此後用戶能在任意一個系統中為兩個系統開發應用程式。

2003 年 7 月被 Macworld 雜誌給與了 4.5 隻「老鼠」的好評（滿分為 5 隻，但極少給滿分），隨後在 12 月 16 日的 2003 MacInTouch 讀者評選中被評為最佳開發工具。

2004 年 2 月 25 日，REALbasic 5.5 面世，可以在 Windows 和 Mac 平台為 Linux 編譯程序，開始支持控制台 / 後台服務程序。並成為 Microsoft Office 2004 Macintosh 版（發布於同年的 5 月 18 日）的附帶軟體。同時 REAL 公司為了展示 REALbasic 中完善的 Office 自動化控制功能還為 Microsoft Office 2004 開發了 5 款實用工具（Office Power Pack）。除了與微軟 Macintosh 部門進行了密切合作之外，Novell 和 RedHat 也從這一年起成為了 REALbasic 的合作夥伴，尤其是 Novell 在其官方網站等媒體中編寫了專題，演示如何將 VB 程序通過 REALbasic 轉換為 Linux 程序。這年 3 月年度開發者大會首次舉行。

2005 年，REALbasic 5.5 獲得 Jolt Product Excellence 大獎（由 CMP Media 的《Software Development》雜誌評選，SD 雜誌於 2006 年合併入《Dr.Dobb's Journal》）和 SYS-CON 的 LinuxWorld 讀者選擇大獎提名。前者由業界和媒體評選，後者由讀者投票選出。2005 年 3 月，REALbasic 5.5 Windows 版獲得了 Jolt 開發工具類生產率大獎；並在 2006 年 1 月經過一年的讀者投票之後，REALbasic 2005 Linux 版獲得了 LinuxWorld 的最佳 Linux 編程環境和最佳 Linux 開發工具兩項讀者選擇大獎。此外在 2005 年 2 月份的 DEMO@15 軟體展示大會上，該公司還獲得了 DEMOgod 大獎。

2004 年 2 月 25 日一直到次年 7 月，公司用 REALbasic 重新編寫了 REALbasic 的開發環境，結束以前在 Windows 和 Mac 上分別用兩種略有區別的 C++ 語言各自編寫開發環境的歷史。2005 年 7 月 14 日用 REALbasic 重寫的 REALbasic 2005R1 的 Windows 和 Macintosh 版本推出，9 月 13 日 Linux 平台版正式推出。在 2005 年 5 月 5 日，公司還與 SQLabs 公司簽訂了協議，雇用後者合作開發 REAL SQL Server。

2006 年 3 月 7 日，波蘭教育及科學部為全國 300 多所高中統一採購了 3500 份 REALbasic，以代替不再被微軟支持的 VB6，並改用 REALbasic 新教材進行基本的程序設計課教學。7 月 25 日發布了名為 REAL SQL Server 的跨平台多用戶資料庫系統（後改稱 REAL Server）。8 月，簡體中文和繁體中文版正式上市。2009 年中期開始提供由三個平台的 REALbasic 專業版和 REAL Server 組成的四合一 REAL Studio 產品。

2010 年 2 月 9 日，2010 第一版發布，開發工具產品正式更名為 REAL Studio，原 REAL Studio 改稱 REAL Studio 企業版。2010 年 9 月，REAL Server 產品停止銷售。從 2010 第五版開始支持 Web 程序開發。之後大概從 2011 年末開始，公司和產品名中的 REAL 逐漸不再大寫，產品名因此書寫成了 Real Studio。從 2011 到 2013 年 6 月，完善對 Web 程序和 Cocoa 的支持以及 IDE 的重新設計成為主要工作，編譯器後端改為 LLVM 的工作也在進行種，再此期間新版本發布較少。

2013 年 6 月 4 日，2013 第一版發布，公司於同日宣布集成開發工具產品、程式語言和公司名稱同時變更為 Xojo，名稱來源於 X-platform ObJect Orientation，即跨平台物件導向，並稱可能在年內或稍晚開始支持 iOS 平台。

## 參考資料

## 外部連結

* Xojo, Inc. （頁面存檔備份，存於網際網路檔案館），Xojo 官方中文網站。
* Xojo 中文用戶事務部門 （頁面存檔備份，存於網際網路檔案館），Xojo 中文用戶事務部門頁面