Basic4ppc(「Basic for PPC」と発音)は、元々はAnywhere Software社が開発した、Windows Mobileオペレーティングシステムを実行するPocket PCハンドヘルドコンピュータ向けのプログラミング言語です。2014年以降、 B4x(「B for x」)に名称変更され、現在(2023年)は、デスクトップおよびモバイルソリューションを含む複数のデバイスとそのOSをサポートし、これらの環境向けに開発が適応されています。[ 1 ]この言語はBASICライクな構文に基づいており、Microsoftの.NETテクノロジーを活用して、追加ライブラリ、Windowsフォームのグラフィカルユーザーインターフェイス設計、ラピッドアプリケーション開発(RAD)、および.NETフレームワーク互換コンパイルを可能にしています。この言語は、オブジェクト指向ではない独自の方法でプログラムにオブジェクトを追加します。その利点は、シンプルさ、開発速度、および.NETフレームワークとの統合です。統合開発環境(IDE)の特別なバージョンを使用すると、Windows Mobileデバイスに直接開発できます。 Windows Mobileオペレーティングシステムとその搭載デバイスの終焉に伴い、Basic4PPCも2012年頃にその役割を終えました。しかし、Basic4PPCの所有者にとっては、Windows環境で直接コードを実行でき、プロジェクトをWindows実行ファイル(.exeファイル)にコンパイルしてWindowsプログラムとして使用できるという点で、依然として便利なWindowsデスクトップBASICコンパイラです。
2010年にはAndroidスマートフォン/タブレット向けのバージョンがリリースされました。これは同じ方針で動作する別の環境で、言語は「ベーシック」に似ており、Androidデバイスにコンパイルできます。[ 4 ]
デュアル開発プラットフォーム:Basic4ppcは、完全互換のデバイスIDEを介して、携帯端末上で直接開発を行うことができます。デバイスIDEまたはデスクトップIDEのどちらで記述されたコードも、両プラットフォームおよびオペレーティングシステムで同一です。ただし、オペレーティングシステムが異なるため、コンパイルはデバイスまたはデスクトップのいずれかをターゲットにする必要があります。
コンパイルは、 Windows実行ファイル、 Pocket PC用デバイス実行ファイル(オートスケールあり/なし)、デスクトップ実行ファイル、スマートフォン実行ファイル( Windows Mobile OS搭載の携帯電話用)の4つのモードで利用可能です。コンパイルされた.EXEファイルを使用するには、対象マシンに.NET Framework 2.0がインストールされている必要があります。これは通常、Windows XP SP2以降では自動的に適用されますが、それ以前のバージョンでは手動でインストールする必要があります。
追加ライブラリ:Microsoft .NETフレームワークをベースとするBasic4ppcは、.NET .dllファイル内のコードをBasic4ppc用に調整することで使用できます(これはMicrosoft開発ツールを使用するプログラマーであれば誰でも可能です)。このような追加ライブラリは多数存在し、そのほとんどはオープンソースで、ユーザーによって作成され、Basic4ppcフォーラムからアクセスできます。
マージ:追加ライブラリのコードは、ほとんどの場合、メインの実行ファイルにマージされます。これにより、単一のファイルでデプロイが可能になります。
Basic4ppcは手続き型で構造的なプログラミング言語であり、部分的なオブジェクト指向プログラミングモデルを採用しています。構文は一般的なBasic方言に似ており、Visual Basicの影響を強く受けています。イベントをサポートしています。多くの最新言語と同様に、開発環境にはグラフィカルユーザーインターフェース設計ツールが用意されています。ユーザーはドラッグ&ドロップによるコンポーネントベースのUIを使用してアプリケーションを構築します。これはデバイスとデスクトップの両方で可能であり、この点においてBasic4ppcは他に類を見ません。
他の多くのBasicバージョンと同様に、if…thenやfor…nextといった通常のフロー構造がサポートされています。
予約語:Basic4ppcには膨大な数の予約語が含まれています。これは変数宣言のスコープによるものです。
変数は、ローカル(サブルーチン全体でアクセス可能)、グローバル(モジュール全体でアクセス可能)、またはパブリック(プログラム全体でアクセス可能)のいずれかになります。すべての変数は型を持ちません。つまり、次のコードを記述できます。
Sub App_Start numA = "Five " numB = "5" numC = 6SUM1 = numA & numB 'remark: = "Five 5" SUM2 = numB + numC 'remark: = 11 End Sub変数を明示的に宣言する必要はありません。
サブルーチン(「Sub」とも呼ばれる)は、コードの最も基本的な単位です。すべてのコードはサブルーチン内に記述する必要があります。サブルーチンは値を返すことができます。
直接命名リファレンス:すべての内部コントロールは、文字列として表現された名前を指定することで直接アクセスでき、サブルーチンへのパラメータとして渡すことができます。これにより、プログラマは渡すコントロールを事前に知らなくても、ポインタやオブジェクト指向プログラミングを扱うことなく、コントロールをパラメータとして渡すことができます。
オートスケールモードでは、さまざまな画面解像度に対応した開発が可能になり、言語がUIの外観に必要な調整を自動的に行います。
以下に、この言語の例を示します。 アプリケーション起動時にフォームを読み込むことなく、「Hello, World!」というメッセージボックスを表示するコードスニペットです。
Sub App_Start MsgBox ( "こんにちは、世界!) End SubBasic4ppcはMicrosoftの.NETテクノロジーをベースに、若干の調整を加えることで.NET DLLをサポートしています。これにより、ユーザーは多くのオープンソースライブラリを作成することができ、それらは通常、完全なソースコードとともにBasic4ppcフォーラムからダウンロードできます。他の多くのプログラミング言語と同様に、追加ライブラリには実際の言語機能のほとんどが含まれています。追加ライブラリは、グラフィックス、データベース、ユーザーインターフェース、GPS、バーコードリーダーと周辺機器、デバッグ、接続性(Bluetooth、Wi-Fi、HTTP、FTPなどのデータ転送プロトコル)、XMLなど、幅広い分野をカバーしています。