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

Xojo
編程範型面向對象編程(物件導向式編程)
設計者Xojo, Inc
實作者Xojo, Inc
釋出時間1997年
當前版本
  • 2023r1.1(2023年4月11日)[1]
編輯維基數據鏈接
作業系統跨平台WindowsMac OS XLinuxiOS
許可證免費使用,編譯部署付費
網站Xojo, Inc.
主要實作產品
Xojo
衍生副語言
XojoScript
啟發語言
Visual BasicJava
Xojo界面編輯器
Xojo代碼/程式碼編輯器

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

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

Xojo的編譯器曾經可以為X8668KPowerPC三大類晶片編譯原生程序,隨着後兩者的衰落,目前只支持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數據庫引擎,同時支持OracleMySQL社區版(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系列開發包[2],並通過後者的Office自動化支持來提供這一功能(Xojo的微軟Office自動化功能在Windows上也可用)。

Windows平台

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

Linux平台

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

其他

在2005年2月份的DEMO@15軟件展示大會上,獲得了DEMOgod大獎[5]

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平台。

參考資料

  1. ^ Release Notes for Xojo 2023r1.1 (英語). 
  2. ^ MacOFFX:值包安裝REALbasic在錯誤的位置
  3. ^ Jolt獎2005年獲獎名單頁面存檔備份,存於互聯網檔案館),該獎有軟件業奧斯卡之稱,EclipseIntelliJ IDEAXcodePythonNetBeans都獲得過該獎勵
  4. ^ 2005 SYS-CON LinuxWorld Readers' Choice Awards相关新闻. [2013-07-31]. (原始內容存檔於2015-05-01). 
  5. ^ DEMOgod获奖新闻. [2013-07-31]. (原始內容存檔於2013-07-31). 

外部連結