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 所獲獎項

2.1 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 上也可用）。

2.2 Windows 平臺

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

2.3 Linux 平臺

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

2.4 其他

在 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 平臺。