Oracle APEX 是一个完整的低代码平台,用于快速构建安全、可扩展、规模和复杂度不限的企业应用。开发者在浏览器中使用 APEX App Builder,通过配置内置组件和数据源来定义页面与功能;只有真正体现自身业务差异的逻辑,才需要补充 SQL、PL/SQL 或 JavaScript。
来源页面:Oracle APEX 26.1 Developer's Companion - 1 Introduction
1 Oracle APEX 简介#
本章先建立对 APEX 的整体认识:它不是单一的页面生成器,而是同时提供开发、运行、安全、数据访问、集成、自动化、报表、AI 和运维能力的应用平台。应用定义以元数据形式保存在 Oracle Database 中,运行时由 APEX 平台解释并呈现为 Web 应用。
学习本章时,可以把 APEX 理解为三层能力的组合:第一层是浏览器中的 App Builder;第二层是数据库内的元数据、SQL、PL/SQL 和安全模型;第三层是面向最终用户的运行时页面、组件、流程和集成接口。
1.1 基于浏览器的企业应用开发#
开发和运行 APEX 应用只需要 Web 浏览器。数据模型设计、数据装载、业务逻辑实现、用户界面配置、问题跟踪、部署、监控和访问控制,都可以在同一个浏览器环境中完成。
团队成员可以在共享工作区中协作。不同开发者可以使用主应用的工作副本(working copy)隔离各自的功能或修复,完成后再通过浏览器将变更合并回主应用,用于测试和发布。这种方式减少了本地开发工具差异,也让应用交付流程更容易标准化。
1.2 模型驱动与直接数据访问#
APEX 是模型驱动的执行引擎。应用页面、组件和行为以声明式元数据的形式存储在数据库中,运行时由 APEX 根据这些元数据动态生成页面。开发者主要配置属性,只在需要表达定制业务逻辑时编写 SQL、PL/SQL 或 JavaScript。
这种模式让开发过程非常迭代:修改配置后刷新浏览器即可看到结果。因为 APEX 运行时负责渲染页面和处理最终用户交互,平台升级带来的性能、安全和组件改进,也能更自然地惠及已有应用。
APEX 与数据同处 Oracle Database,避免了应用层与数据库之间不必要的网络往返,并直接利用事务、并发控制、会话状态、高可用、灾备、分析、SQL 和 PL/SQL 等数据库能力。身份验证与授权机制确保用户只能访问被允许的页面和数据。
1.3 可扩展的高能力组件#
APEX 内置大量原生组件,包括用于搜索、创建、编辑、可视化、分析、地图展示和业务处理的区域与页面项。开发者将这些组件放到页面上,再声明它们使用的数据源和交互行为。
组件可以使用本地数据库,也可以在需要时连接远程数据源。配置体验保持一致,因此团队可以用同一套低代码技能处理本地表、视图、SQL 查询或外部 REST 数据。
当原生能力不足时,APEX 还支持插件和模板组件。社区在 apex.world 上维护了大量可复用插件;熟悉 HTML 和 CSS 的开发者也可以创建模板组件,把自定义属性和模板指令封装成团队可复用的声明式组件,复杂场景再按需加入 JavaScript。
1.4 响应式且成熟的用户界面#
在 APEX Page Designer 中,开发者使用直观的网格布局来放置和调整组件。页面会自动适配桌面和移动设备;Universal Theme 设计系统负责提供一致、专业的视觉基础,让没有专业前端背景的开发者也能交付整洁的业务应用。
开发者可以选择内置主题样式,并在浏览器中通过 Theme Roller 调整颜色、字体、图标等外观细节,使应用符合企业视觉规范。启用安装能力后,最终用户可以像启动原生应用一样,从主屏幕、Dock 或任务栏打开 APEX 应用;应用还可以使用位置、定制键盘、多摄像头等设备能力。
1.5 完整的应用平台#
APEX 不只处理数据录入和查询。平台还支持业务流程与人工审批、AI、机器学习预测、像素级精确报表、Oracle Fusion Applications 扩展、远程 REST 数据、外部数据文件装载、图片和文件上传、后台任务、自动化处理、REST API 暴露以及最终用户通知。
这些能力集中在同一开发和运行环境中,可以减少企业应用常见的拼装成本。页面、会话、安全、事务、流程、报表和集成都共享数据库与 APEX 平台提供的基础服务。
1.6 开放且适合智能体处理的 APEXlang#
APEX 应用由元数据驱动。APEXlang 将这些元数据表示为开放、可读的文本格式,让开发者、外部工具和 AI 编码智能体都可以创建和编辑 APEX 应用定义。
SQLcl 可以在不连接数据库的情况下验证 APEXlang 文件,从而让工具和编码智能体在导入前获得错误反馈并修正问题。Visual Studio Code 的 SQL Developer 扩展还提供代码补全、主动错误提示以及内置导入导出支持。开发者可以继续使用 App Builder,也可以在外部工具中处理 APEXlang,或者两者结合;这些路径都指向同一套开放的应用元数据。
APEXlang 的目标是描述 APEX 应用模型,而不是生成独立运行的应用代码。会话、身份验证、授权、事务、数据访问、页面渲染、审批和工作流仍由 APEX 平台提供。应用还可以定义带工具的 AI Agent,为大语言模型约定允许查询的数据和允许执行的动作。因为产物是有文档结构的人类可读元数据,开发者可以审查、维护和增强智能体参与生成的内容。
1.7 规范驱动的应用脚手架#
APEX Blueprint 可以把功能规格说明和数据模型描述转换成可运行的脚手架应用。团队从初稿功能规格和数据模型开始,使用 AI 编码智能体结合 Oracle 提供的蓝图生成提示,产出结构化 Markdown 计划,描述页面、导航、报表、表单、图表、筛选器、动作和初始页面行为。
干系人可以在需求仍容易修改时审阅蓝图,更重要的是可以试用根据当前规格生成的脚手架应用。APEX 导入蓝图后,会从 APEXlang 模板确定性地生成脚手架。关键用户能看到真实页面、点击真实导航并及早反馈,模糊需求会更快暴露。
脚手架不是最终应用。它的价值在于帮助团队快速收敛规格、发现遗漏并确认应用形态。干系人确认后,最终脚手架可以成为交付应用的基础;开发团队再继续完善用户体验、业务逻辑和集成。
1.8 许可与部署选择#
Oracle APEX 可随 Oracle AI Database 许可证使用,包括 Oracle Database 26ai Free;也可以使用按量计费的完全托管云服务。APEX 本身不限制应用数量、开发者数量或最终用户数量。
应用可以部署在本地数据中心、Oracle Cloud 或第三方云中,应用定义不需要因为部署位置变化而重写。对企业而言,关键决策通常不是“APEX 能否运行”,而是数据驻留、网络、安全、运维、成本模型和组织治理如何匹配。
1.9 活跃且乐于互助的社区#
全球 Oracle APEX 开发者社区规模庞大且活跃。社区成员通过用户组会议、开发者聚会、论坛、博客、培训和示例应用分享经验。遇到问题时,APEX Forum 是官方和社区专家共同参与答疑的重要入口。
apex.world 汇集 APEX 相关新闻、博客文章、会议、培训、社交媒体内容和 400 多个可复用插件。对学习者而言,它既是寻找组件的目录,也是观察真实社区实践的窗口。
1.10 以服务方式提供应用开发能力#
企业可以使用 Oracle APEX 提供“App Dev as a Service”能力,让员工把业务想法快速转化为应用。APEX 是多租户低代码平台,以工作区组织开发活动。不同开发者或团队可以在同一个 APEX 实例上使用各自的工作区,独立的工作区解析方案提供数据隔离。
APEX 的自助供应模式允许开发者申请新工作区,并通过确认邮件获得登录链接。新申请可以人工审批,也可以自动审批。Oracle 内部也将这种能力提供给大量员工,用于创建支撑日常运营的应用;官方示例中,一个大型内部 APEX 实例支持超过 7000 个活跃工作区和数千个生产应用。
1.11 学习资源与免费工作区#
oracle.com/apex/getting-started 是学习 Oracle APEX 的起点,集中提供文档、培训与认证、实验、教程、视频和其他资源。学习者可以点击 Sign Up for Free 申请免费工作区,在浏览器中使用最新版本的 APEX 进行学习、探索或原型开发,且没有时间限制。
也可以在 Oracle Cloud Infrastructure 中开通 Always Free-Tier 租户。每个 OCI Autonomous AI Database 都预装 Oracle APEX,适合学习者进一步理解数据库、APEX、ORDS 和云上运维之间的关系。