【第1回】Oracle APEXを入門:ローコードで簡単にWebアプリ開発
はじめに
こんにちは、株式会社メンバーズの中村です。
Oracle APEXについて、記念すべき第1回目の記事となります。
最近Webアプリの開発で使っているローコードツールなので、そのご紹介をさせていただきます。
「これからOracle APEXを使ってみようか」「Oracle Cloudの活用を検討している」
といった方に向けて、本記事では基本的な概要に加え、始め方についても解説しています。
ローコード開発に興味がある方や、素早くWebアプリを公開したい方にとって、学習の手助けとなれば幸いです。
Oracle APEXとは?ローコード開発の魅力
Oracle Database上で動作するローコード・アプリケーション・プラットフォームです。
APEX開発画面は基本的にWebブラウザ上で動作し、Webアプリ画面を作るためのいろんなテンプレートが用意されているので、それを組み合わせていくことで簡単に検索画面等を作ることができます。Web開発でいうところのフロントエンド、バックエンドを両方一緒に構築していくイメージです。
片方だけの機能にすることもできますが、それだとローコードツールであるAPEXとしての強みをあまり引き出せない気がします。なお、ローコードツールなので何も意識しなくても、レスポンシブ対応やSQLインジェクション対策もされた状態でアプリが出来上がります。
公式サイトから無料で試すこともできますので、気になった方は後述を参考に是非触ってみてください。
無料で試せる!Oracle APEXの始め方について
まず無料で始める方法が、大きく以下の3つありますのでそこから始めていきましょう。
①無料のワークスペースの取得
②Oracle Cloudの無料制限内で構築
③オンプレミス環境をインストール
いち早く動かしてみたい方は、①からがお勧めです。容量が少ないので慣れてきたら②に挑戦していくと実際の開発環境に近づくので良いと思います。③は自分で試したことがありませんので、お好みと開発の要件次第かと思います。
なお現状は無料期間に期限がないという大きなメリットがありますので、そこはAWS等と異なり安心してお試しできるかなと思います。ただし環境作成後に放置しすぎるとインスタンスの停止、さらに削除されて使えなくなってしまうためご注意ください。
具体的な始め方は、後述する「Oracle APEXの参考サイト」をご参照ください。
Oracle APEXの参考サイト
始めるにあたって公式サイトのチュートリアル等は、途中から基本英語となるので日本人にはハードルが少し高いです。そのため、公式サイト以外を紹介します。
・Oracle APEXでソーシャル・メディア・アプリケーションを作成しよう! - Speaker Deck
前述した無料の始め方も含めて、参考になるサイトです。公式のチュートリアルを親切にも日本語化してくださったサイトなので、初心者には公式サイトよりお勧めです。内容をPDFダウンロードもできるので、その方がコードなどをコピーしながらできるので使いやすいです。後半難しいと感じたら、次に紹介する「YouTube」からご覧ください。
・Oracle APEX Workshop I 日本語版 - YouTube
前述した「無料のワークスペース作成」の内容から始まり、いくつかの機能をハンズオン用に動画のリストにしてくれています。少し古い内容もあるかもしれませんが、一つ一つの動画が長くないので、気軽に視聴してみるだけでも少しイメージをつかむことができるのでお勧めです。
技術的に困ったときに参考になるブログです。日本オラクルの方が書いていて、あまり情報が少ないツールなので重宝します。目的がなく眺めるには少し難易度が高いので、何か調べたい時に覗いてみてください。
上記ブログの参考サイトにも記載がありますが、公式の日本語のマニュアル検索に役立ちます。
APEX開発画面の基本と初期設定
すでに参考サイトはご紹介しましたが、この記事だけでも少しイメージしていただけるように、以下にAPEXによる開発画面を貼り付けていきます。開発環境(無料)が出来上がったあとの画面になりますのでご了承ください。
01 ワークスペースログイン画面
まずは開発画面にサインインしてください。「無料のワークスペースの取得」で作った場合は登録したメールアドレスとパスワードになるかと思います。
※もし日本語になっていない場合は、画面下部の言語設定で日本語を選択してください。

(アカウント作成等の上位設定ができるの管理サービス画面は別にありますが、「無料のワークスペースの取得」では入ることができないので省略します。)
02 開発画面
アプリケーション・ビルダーを選択して、ビルダー画面に移動します

03 アプリケーション・ビルダー画面
作成を選択して、アプリ作成画面に移動します。

04 アプリケーション作成画面
アプリ名を入力後、「アプリケーションの作成」を選択して、アプリを作成します。

05 アプリ作成後画面
「アプリケーション・ビルダー画面」で作成したアプリが表示されているため選択して、アプリ開発画面に移動します。

06 アプリ開発画面
アプリケーションの実行を選択して、アプリ起動画面に移動します。実はこの時点でデフォルトのアプリがクラウド上に出来上がっています。

07 アプリサインイン画面
サインイン画面もデフォルトで作成されるので、まずはその画面が表示されます。ひとまずワークスペースログインと同じアカウントでサインインできるかと思うのでサインインしてみてください。

08 アプリ初期(ホーム)画面
サインインできるとホーム画面に飛びます。当然コンテンツはまだないですが、左側のサイドメニューも開けるようになっています。さらには、どこからでもアクセスできるアプリになっているので、URLをコピーして別の端末から入ってみてください。こんな風に簡単に、Web上にログイン機能を持ったアプリを作成することができます。

09 ホーム開発画面選択
開発画面に戻って「1.ホーム」を選択してみましょう。(上記で立ち上げたアプリは別タブで開かれているはずなので特に気にしなくて良いです。)

10 ホーム開発画面
こちらが先ほどアプリサインイン後に開いたホームのページ開発画面になります。基本的な開発は、赤く囲ったページの設定と、リージョン、アイテム、ボタン(+動的アクション:イベント)の組み合わせになります。
リージョンは、表やグラフなど、一定の機能を持ったコンポーネントだと思ってください。
アイテムは、機能としてはもう少し小さいラベルや、チェックボックスなどの部品です。

11 静的コンテンツ
現在は以下のように、Breadcrumb(パンくずリスト)の位置に1つのリージョン「静的コンテンツ(空の枠のようなもの)」が一つあるだけです。

12 Body作成
Body部にはまず、リージョン、アイテム、ボタンのいずれかを作成することができます。これでアプリ開発の始まりです。たくさん触れる部分があって混乱するかもしれないですが、少しづつ慣れていきましょう。今回は導入ということでここまでにします。

APEX開発に必要なスキル
※あくまで参考程度です。
<必須>
①データベースや、SQLの基礎
<あると良い>
①Web開発の基礎、フロント技術(HTML、CSS、JavaScript)の知識
②PL/SQLの知識
③クラウドの知識
上記について、もう少し個人的な所感を述べさせていただきます。
<必須>
①データベースや、SQLの基礎
静的な画面はデータベースを参照しなくても作れなくはないですが、何かしらデータを扱うのが一般的かと思います。Oracleのローコードツールだけあって、Oracle DBに対してのCRUD機能が基本となることが多いでしょう。単テーブルを参照する程度なら特に必要ないですが、少しでも参照条件やテーブル結合が発生する場合は直接SQLを書くことになります。
個人的には独自のORMを使ったコードより直接SQLが書けるほうが、覚えることが少なくていいかと思っているので、直接SQLを書ける枠組みがあるのでむしろメリットとも感じています。
<あると良い>
①Web開発の基礎、フロント技術(HTML、CSS、JavaScript)の知識
基本的にWebで表示する画面を開発するので、何かデザインをカスタマイズしたり少し複雑なイベントを処理したい場合は、上記のスキルが必要になってきます。
ただしAPEXの中に専用のCSSクラスや、JavaScriptモジュールが用意されているのでなるべくそれを使うようにしないと、APEX自身の機能と相性が悪くて思いがけない不具合を混入させてしまうかもしれません。
(APEXは機能重視であり、あまり自由なデザインにこだわるような開発には向かないかと思います)
開発する機能やデザインが、どうにかAPEX内の部品で実現できるかを調べることで、よりシンプルで保守性の高いアプリケーションができると考えられるため、独自のCSS、JavaScriptをなるべく使わないというポリシーの下で開発するのも良いかと思います。
②PL/SQLの知識
データベース言語とも言われていますが、SQLを拡張したようなプログラミング言語です。変数や関数を使って逐次的な処理の中にSQLも書けたりと、より複雑な処理をDB内で行えます。APEXでの開発では直接PL/SQLの関数を呼ぶような形も作れます。独自に勉強されている方は少ないかと思いますが、バックエンド中心に働いてきた方が活躍しやすいツールとも言えるかもしれません。
③クラウドの知識
オンプレミスでも開発できるみたいなのですが、APEXはWeb画面上での開発が基本となり、はじめはAPEX自体がOracle CloudのOracle DB上で起動されているものという考えが一番シンプルかと思います。そのため初めの環境構築はOracle Cloudを使うのが第一候補となるでしょう。
私自身は試したことないですが、最近はAmazon RDSでもサポートされたので、AWSでもAPEX開発が可能になっているようです。
最後に
いかがでしたでしょうか?最後まで読んでいただきありがとうございます。
いくつか前提知識があると開発しやすいとは思いますが、興味があったらとにかく無料版でお試ししてみてください。時間があるときに、第2回目の記事を作成しようとも思っていますのでその時までお楽しみに!
この記事を書いた人

Advent Calendar!
Advent Calendar 2024開催中!