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中文使用者事務部門頁面

## 基本資料

- 編程范型：面向對象編程(物件導向式編程)
- 發行時間：1997年
- 設計者：Xojo, Inc
- 開發者：Xojo, Inc
- 軟體版本週期：2017 Release 3
- 軟體版本週期：2017年12月5日
- dialects：XojoScript
- 受影響於：Visual Basic和Java
- 作業系統：跨平台、Windows、Mac OS X、Linux、iOS
- 許可證：免費使用，編譯部署付費
- 網站： Xojo, Inc.