REALbasic

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

REALbasic(リアルベーシック)は、Real Software社によって開発されたソフトウェアの開発ツールであり、オブジェクト指向を採用した独自のBASIC言語を使用し、統合開発環境を備える。かつては「CrossBASIC」と呼ばれた。

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

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

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

REALbasicの機能[編集]

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

機能と特徴[編集]

習得のしやすさ[編集]

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

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

マルチメディア機能[編集]

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

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

巨大なアプリケーション[編集]

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

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

処理速度[編集]

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

フロントエンドの開発[編集]

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

Mac OSの機能への対応[編集]

  • AppleScriptAppleEventのサポートにより、他のアプリケーションと連携することも可能
  • UNIXコマンドを実行可能
  • Quartz」を利用した平面画像の描画、「Quesa(オープンソースのQuickDraw 3D互換3Dグラフィックライブラリ)」による3D描画のサポート
  • リソースフォーク、バイナリデータのリトルエンディアンビッグエンディアンの使い分け、255文字までのロングファイルネームなどもサポート
  • キーチェーン・Spotlight・アドレスブックへのアクセスをサポート
  • Toolbox、PowerPC共有ライブラリ(InterfaceLibなど、他のアプリケーションが共有できるPower Mac用サブルーチン群)へのアクセスの対応
  • GUI部品のAquaでの描画に対応

Windowsの機能への対応[編集]

  • OLE (COM)、タスクトレイの使用をサポート
  • MDIのサポート
  • Windows XPのサポート、GUI部品のLuna(Windows XP標準の外観)での描画に対応
  • Win32 APIへのアクセス、レジストリへのアクセスのサポート
  • DOSコマンドを実行可能

自動メモリ管理[編集]

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

優れた拡張性[編集]

プラグインを組み込むことにより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.」に変更されることが発表された[2]

サンプルコード[編集]

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

脚注[編集]

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

外部リンク[編集]