Xojoとは - わかりやすく解説 Weblio辞書 (original) (raw)

Xojo

Macで動作させた状態をキャプチャーしたスクリーンショット。
開発元 Xojo, Inc.
最新版 Xojo 2023r4 / 2023年12月12日 (6か月前) (2023-12-12)[1]
対応OS Windows macOS Linux Web Raspberry Pi iOS
対応言語 英語
種別 プログラミング
ライセンス フリーミアム
公式サイト xojo.com
テンプレートを表示

Xojoは、Xojo社によって開発されたソフトウェアの開発ツールであり、オブジェクト指向を採用した独自のBASIC言語を使用し、統合開発環境を備える。2013年までは「REALbasic」(1997年の買収以前製品名は「CrossBASIC」)と呼ばれた。

あらかじめ備えられている機能が豊富なことやGUIのデザインが簡単であること、非常に理解しやすい言語仕様などから、とくに初心者に愛用される。日本では株式会社アスキーソリューションズが代理店となり販売およびサポートを提供していたが、2007年4月に開発元であるReal Software社に移管されることが発表された。

主にMacintosh版が知られ、しばしば「Macintosh版のVisual Basic」と喩えられるが、Windows版ならびにLinux/x86版も存在する。また、利用している環境に関わらず、全てのプラットフォーム用の実行バイナリを出力することができるため、双方向のクロスプラットフォーム開発が可能である。

なお、Xojoは、Universal Binaryアプリケーションを作成することのできる、サードパーティー開発ツールのひとつである。

主な機能

Xojoの主な機能は以下のとおり。

機能と特徴

習得のしやすさ

Macでのプログラミングを複雑にしているToolboxやその他のAPIを学ばずに済む点は初心者にとって非常にありがたい点であるが、同時に、複雑な機能を実現することが難しくなっている。それをカバーするためにプラグインシステムなどが採用されており、サードパーティーから優れたプラグインが多数開発されている。

言語仕様については、BASIC言語をベースにしているため、基本的な命令その他習得の容易さは他の追随を許さない。また、オブジェクト指向的実装についても、クラスインタフェースなど、Java相当の機能を実現している。

マルチメディア機能

マルチメディア機能についてはQuickTimeの機能をかなり引き出すことが可能であり、ビルトインの命令としてQuickTimeムービーを編集する機能も備える。グラフィック周りは、処理の遅さに目をつぶれば、ラスターイメージからベクターイメージ、3DCGまでを扱え、256階調グレースケールマスクによるアルファブレンドも簡単に実現でき、ソフトウェアレベルでスプライト機能さえも有する[2]。スプライトに関しては一切コーディングすることなくスプライト同士が接触したかを判定することまで可能。画像の透過に関しては、アルファブレンドを有しながら特定の色を透過したりアルファチャンネルが使えないなど、中途半端な感もある。

比較的充実したグラフィックス機能を備える反面、サウンド機能は貧弱である。あらかじめ用意したサウンドファイルを読み込み、再生することしかできず、リアルタイムでの音声処理はプラグインに依存する必要が有る。

巨大なアプリケーション

アプリケーションサイズが大きいというのはREALbasic製のアプリケーションのあまり望ましくない特徴といえるだろう。たとえば、何もコーディングを行っていない場合であってもmacOSに最適化されたコードであるMach-O Carbon Universal Binaryでコンパイルすると8.8MBのファイルサイズを消費する。これは、REALbasicのフレームワーク自体をアプリケーションに内蔵してしまうことと、PowerPCx86の2つのアーキテクチャの実行ファイルが生成されるためである。また、アプリケーション内で特定のコントロールや機能(例えばXMLパーサなど)を使用している場合、さらにファイルサイズは増加する。

とはいえ、今日のPCにおいてはハードディスクの容量も十分に大容量化されており、ファイルサイズの大きさが問題となる場面はあまりないと言える。

処理速度

処理速度の遅さもREALbasic製のアプリケーションの特徴。とくにグラフィックや多言語関係の機能は比較的遅い。このため、処理速度を補う目的で、内蔵関数と同等の機能を備える高速なプラグインを作成することもしばしば行われる。

フロントエンドの開発

サーバデータベースフロントエンドや、UNIXシェルDOSコマンドラインのGUIフロントエンドの開発するための各種命令も豊富。

Mac OSの機能への対応

Windowsの機能への対応

自動メモリ管理

メモリは自動的に管理しているため、プログラマメモリに関して特に意識しせずに開発が可能である。参照カウントを用いたガベージコレクションも備える。

優れた拡張性

プラグインを組み込むことによりIDE自体の拡張が行えるほか、Mac OS版ではXCMDやXFCN、AppleScript、AppleEvent、UNIXシェル、PowerPC共有ライブラリなどを利用することで、言語が備えていない機能を実現することも可能である。

REALbasicの現状

2010r1バージョンよりIDEの名称がREAL Studioとなった。2010年12月14日現在、英語版、日本語版共にバージョン2010 Release 5がリリースされている。なお、Mac版についてはバージョン2010 Release 4 からIntelプロセッサを搭載したMac専用となったため、PowerPCプロセッサを搭載したMacでは使用できなくなった。2010年9月にリリースされたバージョン2010 Release 3.2 がPowerPC搭載Mac上で動作する最後のバージョンである。なお、Intel Mac上でPowerPC搭載Mac用のアプリケーションやUniversal Binaryを作成することは可能である。

2013年6月4日リリース予定の2013r1より、製品名および言語名が「Xojo」、会社名が「Xojo Inc.」に変更されることが発表された[3]

サンプルコード

//コメントは“//”“'”あるいは“REM”を用い、改行までがコメントとみなされる Dim result As Integer //変数宣言と型定義。変数名“result”を“Integer”(整数値)型として定義 result = Pow(10, 10) //10の10乗を計算し、resultに代入 MsgBox Str(result) //メッセージボックスにresultの内容を文字列として表示

脚注

  1. ^ https://documentation.xojo.com/resources/release_notes/2023r4.html
  2. ^ 3D CGを扱うRB3Dと、スプライトを扱うSpriteSurfaceは、開発終了となっている。“Deprecations in REALbasic - REAL Software Documentation” (英語). Real Software, Inc.. 2012年1月3日閲覧。
  3. ^Real Software: A New Beginning with Xojo”. 2013年4月29日閲覧。

外部リンク

BASIC
古典的BASIC 99Basic BASIC/98 BASIC STUDIO F-BASIC GAME BASIC for SEGASATURN Hu-BASIC Microsoft BASIC MSX-BASIC N-BASIC N88-BASIC PC-BASIC S-BASIC Tiny BASIC UBASIC X-BASIC ダートマスBASIC ファミリーベーシック
現代化BASIC FutureBASIC PureBasic QBasic QuickBASIC Small Basic Turbo Basic FreeBASIC
オブジェクト拡張 ActiveBasic AutoIt Chipmunk Basic FreeBASIC Gambas Visual Basic Visual Basic .NET Xojo
マイクロソフト Microsoft BASIC QuickBASIC QBasic Small Basic VBScript Visual Basic VBA Visual Basic .NET
その他 DISK-BASIC ROM-BASIC スタンドアロンBASIC
カテゴリ ウィキブックス