1. はじめに
@araidon さんの以下記事で、「APEXでこんなモダンなUIのアプリが作れるんだ!」っとちょっと刺激された自分も試してみました。
ただ、環境を構築するのが若干億劫だったので、、codexでIaCを作成しました。
これをOCIのResource Managerに入れれば10分ほどで以下の開発環境ができます。
予備知識: APEXとは?APEXlangとは?
-
Oracle APEX
Oracle Database上で動作するWebアプリを、画面操作を中心に少ないコードで開発できるローコード開発基盤。 -
APEXlang
APEXアプリの画面や処理などを、人やAIが読み書きしやすいテキストで記述するアプリケーション定義言語。
2. 前提条件
- OCIアカウント(Always Free環境でもOK!)
- Codexを利用できること(OpenAIのアカウントは別途必要)
Always Freeで試す方へ(念の為)
- 以下のAlways Freeリソースが未使用であることをご確認ください
- ADB
- VM.Standard.A1.Flex(2 OCPU, 12GB Memory)
- 特にVM.Standard.A1.Flexは最近4 OCPU 24GB Memoryから2 OCPU, 12GB Memoryに減っているので要注意です
3. OCI Resource Managerからデプロイ
早速デプロイしていきましょう。
今回は、OCIのAlways Free環境でデプロイしていきます。
まずは以下のGithubにアクセスします。
以下のDeploy to Oracle Cloudをクリック。
(OCIに未ログインの場合)以下のベージに移動するので、OCIへログインします。

ログインできると、以下のResource Managerの画面に飛ぶので、まずは矢印のチェックボックスをクリックしてGithubから情報を読み込ませます。

デプロイに必要な設定画面になるので、項目を記入していきます。
配置先のパートについては特にAlways Freeへのチェックを注意します。その他は既存のものを選択すればOKです。

接続許可パートではVMにログインするopcのSSH公開鍵や、アクセスする環境(自宅や会社)からの接続許可として接続元IPの入力を行います。

Autonomous DatabaseパートではADMINや、開発で利用するAPEXLABのパスワードを指定します。

ここまで全て入力できたら画面下部のNextをクリックし、次の確認画面に移るのでCreateをクリックします。
約10分ほどで完了し、以下のようになります。もしFailedとなった場合は、Logsタブで状況の確認が必要です。
無事にSucceededとなった場合は、Stack detailsに行きましょう。

Application Informationタブでは作成できた環境の情報が確認できます。今後使うのでここで諸々確認できることを覚えておきましょう。

4. Always Freeであることを確認
念の為ですが、ちゃんとAlways Freeなリソースで作られていることを確認します。
※私も会社のアカウントではなく、個人のAlways Free環境でデプロイをしたので課金されないかのチェックは重要です!
まずはADB。Always Freeタグが付いているので安心です。

続いて開発用VM。こちらにはタグは付いていませんが、VM.Standard.A1.Flexで2 OCPUで12GBメモリであるため、Always Freeの範囲内です。

細かいところですが、上記VMのBoot VolumeはlistBootVolumes.alwaysFreeが付いているのでこちらも大丈夫です。

念には念を入れて、翌日Cost Analyticsを確認しました。
コストは発生していないですね、これで安心です。
5. VMへログインしてCodexをセットアップ
手元のPCからVMにSSH接続し、開発用VMにアクセスしましょう。
接続先のIPは先ほどのResource ManagerのApplicationタブに記載されています。
codexはインストール済みなので、お持ちのアカウントで認証を行いましょう。
codex login --device-auth
6. CodexからAPEXアプリを作る
以下のように作成済みの開発用ディレクトリに移動して開発を進めましょう。すでに開発において利用するAGENTS.mdも配置されています。
[opc@apexdev ~]$ cd projects/apex-study/
[opc@apexdev apex-study]$ ls
AGENTS.md
[opc@apexdev apex-study]$
一旦、APEXの管理UIにアクセスもしておきましょう。URLはResource ManagerのApplication Informationタブの以下をコピーするとアクセスできます。

Usernameはapexlabで、Passwordはデプロイ時に入力したパスワードです。

サインインすると以下の画面になります。APEXLABをクリックします。

ではcodexを起動し開発を進めます。
codex
APEXlangのskillはインストール済みなので、以下のようにスキル($apexlang)を指定して指示をします。
モデルについて
- 個人的にはgpt-5.6-sol xhigh以上が良いかなと感じました
$apexlang
› APEXアプリを作ります。todoistのようなタスク管理アプリを作りたい。
ただし、APEXとはわからないUIで構成したい。
以下のような回答・出力が得られました。
• Todoist風のタスク管理アプリ「TaskFlow」を作成しました。APEX標準感を抑え、オフホワイト+コーラルを基調にした独自UIです。
主な機能:
- Today / Inbox / Upcoming
- プロジェクト・ラベル管理
- 優先度、期限、完了状態、サブタスク
- 右ドロワー形式の追加・編集
- 認証ユーザー単位のデータ分離
- APEXロゴ・Built with APEX表示なし
- モバイル対応
主要ファイル:
- 導入手順 (taskflow/README.md)
- APEXlangアプリ (taskflow/applications/taskflow/application.apx)
- カスタムUI CSS (taskflow/applications/taskflow/shared-components/static-files/taskflow.css)
- DBセットアップSQL (taskflow/db/setup.sql)
- DB確認SQL (taskflow/db/verify.sql)
- 画面・機能仕様 (taskflow/.apexlang/application-spec.md)
検証結果:
- SQLcl APEXlang検証:Validation successful.
- APEXlangローカル総合検査:成功
- 語彙互換・DSL lint・セキュリティ検査:成功
- 補助的なcompiler-truth監査のみ、Classic Report列と標準表フォームの判定限界による32件の静的指摘があります。同じソースはSQLcl本体で正常に検証されています。
DBセットアップ、APEXインポート、ブラウザ動作確認は未実行です。次は導入手順 (taskflow/README.md:15)に従い、adb-connect APEXLAB で接続後、DBセットアップ→確認→アプリインポートの順で作業してください。
ここで出てくるadb-connect APEXLABは開発VMで実行するコマンドで、ADBにSQL接続できます。
開発用VMにもう一つSSH接続して、以下を試します。パスワードはデプロイ時に指定したパスワードです。
[opc@apexdev ~]$ adb-connect APEXLAB
SQLcl: Release 26.2 Production on Wed Sep 23 02:01:00 2026
Copyright (c) 1982, 2026, Oracle. All rights reserved.
Password? (**********?) *************
Connected.
SQL>
ここでcodexで、以下のように「接続しました」と伝えると対話しながら進め方を教えてくれます。
› 接続しました
• 接続中のSQLclで、まず既存オブジェクトを確認してください。
select object_name, object_type, status
from user_objects
where object_name in (
'TF_PROJECTS',
'TF_LABELS',
'TF_TASKS',
'TF_TASK_LIST_V',
'TF_PROJECTS_BIU',
'TF_LABELS_BIU',
'TF_TASKS_BIU'
)
order by object_type, object_name;
結果を教えてください。no rows selected なら初回セットアップへ進めます。既存オブジェクトが表示された場合は、setup.sql を再実行しません。
その後何回かのやりとり、わからないことはcodex自身に質問をしながら何度か修正→再インポートをしながら動作するところまで行けました。
• 現在のSQLcl接続で再インポートしてください。
apex import -input /home/opc/projects/apex-study/taskflow/applications/taskflow
完了後、ブラウザを強制再読み込みして左メニューを確認してください。
7. 作成されたアプリ
APEXぽくはありますが、、実用性のあるタスク管理アプリが1〜1.5時間ほどで作成されました。

8. おわりに
APEXは以前にも触ったことがありましたが、当時は簡単なアプリを作るにも画面上での操作や設定にそれなりの手間がかかり、自分にとっては学習コストが高いと感じていました。
今回、CodexとAPEXlangを使ってみると、作りたいものを自然言語で伝えながらアプリを形にでき、以前とはまったく違う体験でした。「どの画面で何を設定するか」よりも「どんなアプリを作りたいか」に意識を向けられ、作りたいものに早くたどり着ける感覚がありました。
「これ本当にAPEX?」という驚きは、出来上がったUIだけでなく、アプリを作る体験そのものに対しても感じたものです。
今回は、この体験を気軽に試せるように環境構築をIaC化しました。条件が揃っている方は、ぜひ自分の作りたいアプリで試してみてください。





