Trong nhiều năm, cách phát triển Oracle APEX quen thuộc là mở App Builder, vào Page Designer,
chọn region, tạo item, chỉnh process, thêm Dynamic Action, rồi chạy thử trực tiếp trên trình duyệt.
Cách làm này rất mạnh vì APEX là nền tảng low-code trực quan, giúp developer xây ứng dụng nhanh
mà không cần viết quá nhiều boilerplate code.
Nhưng khi AI coding assistant, VS Code, Git, CI/CD và source-driven development ngày càng phổ biến,
một câu hỏi mới xuất hiện: liệu developer APEX có thể làm việc nhiều hơn trong môi trường code editor,
dùng AI hỗ trợ chỉnh ứng dụng, review thay đổi bằng diff và đồng bộ lại vào APEX hay không?
Với Oracle APEX 26.1 và APEXlang, câu trả lời bắt đầu trở nên rõ ràng hơn.
APEXlang cho phép ứng dụng APEX được biểu diễn dưới dạng các file đặc tả có cấu trúc,
dễ đọc hơn, dễ version control hơn và thân thiện hơn với AI assistant.
Đây là nền tảng quan trọng cho một phong cách làm việc mới: vibe coding Oracle APEX.
Vibe coding trong Oracle APEX là gì?
“Vibe coding” có thể hiểu đơn giản là cách developer làm việc cùng AI theo hướng mô tả ý định,
đưa ngữ cảnh, để AI hỗ trợ tạo hoặc chỉnh code, sau đó developer review, test và quyết định kết quả cuối cùng.
Với Oracle APEX, vibe coding không có nghĩa là bỏ Page Designer.
Page Designer vẫn là nơi rất mạnh để thiết kế giao diện, kiểm tra component, cấu hình property
và chạy thử ứng dụng. Nhưng với APEXlang, một phần cấu trúc ứng dụng có thể được export thành file,
mở trong VS Code, đưa cho AI assistant phân tích hoặc chỉnh sửa, rồi import/đồng bộ lại vào APEX.
Sự thay đổi nằm ở chỗ developer không còn chỉ click trong App Builder.
Developer có thêm một luồng làm việc gần với software engineering truyền thống hơn:
export, edit, review diff, commit, validate và import.
Lược đồ quy trình APEXlang + VS Code
Vibe coding Oracle APEX với APEXlang và VS Code
Export
Export ứng dụng APEX 26.1 sang định dạng APEXlang.
→
Edit
Mở file .apx trong VS Code, chỉnh cấu trúc app hoặc page.
→
AI Assist
Dùng Copilot, Codex hoặc AI assistant để gợi ý thay đổi.
→
Import
Validate, review diff, rồi import lại vào APEX workspace.
APEXlang không thay thế App Builder. Nó bổ sung một workflow mới, giúp APEX developer làm việc tốt hơn
với Git, VS Code, AI assistant, review process và source-driven development.
APEXlang thay đổi điều gì?
Trước đây, export ứng dụng APEX thường là một file SQL lớn chứa metadata ứng dụng.
File này rất hữu ích cho backup, deploy và version control, nhưng không phải lúc nào cũng dễ đọc,
dễ diff hoặc dễ để AI assistant hiểu ý định ứng dụng.
APEXlang đưa ra một cách biểu diễn khác: ứng dụng được mô tả bằng các file có cấu trúc,
hướng đến việc dễ đọc hơn, dễ review hơn và dễ đưa vào quy trình phát triển hiện đại hơn.
Lợi ích thực tế:
- Dễ đưa ứng dụng APEX vào Git hơn.
- Dễ review thay đổi bằng diff hơn.
- Dễ để AI assistant hiểu cấu trúc ứng dụng hơn.
- Dễ chuẩn hóa quy trình export, chỉnh sửa, validate và import.
- Dễ kết hợp với VS Code, SQL Developer Extension và các công cụ developer hiện đại.
Đây là một bước rất quan trọng, vì nó đưa APEX gần hơn với cách làm việc của các team phần mềm hiện đại,
trong khi vẫn giữ được sức mạnh low-code của App Builder.
VS Code có vai trò gì?
VS Code là môi trường quen thuộc của rất nhiều developer.
Khi APEXlang có thể được mở và chỉnh trong VS Code, developer có thể tận dụng nhiều công cụ sẵn có:
- Git integration.
- Search toàn project.
- AI coding assistant.
- Diff viewer.
- Markdown documentation.
- SQL và PL/SQL files.
- Workspace settings.
- Extensions hỗ trợ Oracle Database.
Điều này giúp developer APEX làm việc liền mạch hơn giữa phần database, PL/SQL,
APEX application specification và tài liệu kỹ thuật.
Ví dụ, trong cùng một workspace VS Code, bạn có thể có:
src/
apex/
application.apx
pages/
shared-components/
database/
tables/
views/
packages/
docs/
requirements.md
ui-patterns.md
agents.md
Khi tất cả nằm trong một repository, AI assistant có nhiều ngữ cảnh hơn để hỗ trợ.
AI assistant giúp gì trong workflow này?
Khi ứng dụng APEX được biểu diễn bằng APEXlang, AI assistant có thể hỗ trợ theo nhiều cách.
Nhưng cần hiểu đúng: AI không nên tự ý thay đổi production app.
AI nên hỗ trợ tạo đề xuất, còn developer review và quyết định.
Một số việc AI có thể hỗ trợ:
- Giải thích cấu trúc một page APEX.
- Tìm region, item, button hoặc process theo mô tả.
- Đề xuất đổi label, help text hoặc placeholder.
- Gợi ý thêm validation cho page item.
- Kiểm tra page nào thiếu authorization.
- Review naming convention.
- Tạo tài liệu cho page hoặc module.
- Đề xuất refactor SQL source sang view.
- So sánh thay đổi giữa hai phiên bản app.
Ví dụ prompt:
Đọc các file APEXlang trong thư mục src/apex.
Liệt kê các page có form nhập dữ liệu nhưng chưa thấy validation bắt buộc
cho các item quan trọng. Chỉ tạo báo cáo, không sửa file.
Hoặc:
Kiểm tra page 10 trong APEXlang.
Đề xuất cải thiện label, help text và validation message
để người dùng dễ hiểu hơn. Không thay đổi file, chỉ đưa đề xuất.
Workflow thực tế: export, chỉnh, validate, import
Một quy trình làm việc cơ bản có thể như sau:
- Developer export ứng dụng APEX sang APEXlang.
- Mở project trong VS Code.
- Commit trạng thái hiện tại vào Git.
- Dùng AI assistant để phân tích hoặc đề xuất thay đổi.
- Developer chỉnh file hoặc yêu cầu AI tạo patch.
- Review diff trong Git.
- Validate APEXlang nếu công cụ hỗ trợ.
- Import lại vào workspace dev.
- Chạy app và test trong APEX.
- Sau khi ổn, commit và đưa vào quy trình deploy.
Điểm quan trọng là luôn có bước review diff và test.
Không nên để AI sửa file rồi import ngay mà không đọc lại.
APEXlang không thay thế Page Designer
Có thể một số developer nghĩ rằng nếu có APEXlang thì không cần Page Designer nữa.
Đây là cách hiểu chưa đúng.
Page Designer vẫn là công cụ chính để thiết kế và kiểm tra ứng dụng APEX.
Nó cho bạn thấy component tree, property editor, layout, template options, dynamic actions,
validations, processes và runtime behavior theo cách trực quan.
APEXlang bổ sung một workflow khác:
- Làm việc với source files.
- Dùng Git để review thay đổi.
- Dùng AI để phân tích cấu trúc app.
- Chỉnh nhiều thành phần theo pattern.
- Tự động hóa một số thao tác lặp lại.
Cách tốt nhất là dùng cả hai: Page Designer cho thiết kế trực quan,
APEXlang + VS Code cho source-driven workflow và AI-assisted review.
Use case 1: Chuẩn hóa label và help text
Một ứng dụng APEX lớn có thể có hàng trăm page item.
Sau nhiều năm, label và help text dễ bị thiếu nhất quán.
Có item viết “Customer”, có item viết “Client”, có item viết “Cust Name”.
Với APEXlang trong VS Code, bạn có thể yêu cầu AI:
Đọc toàn bộ page items trong APEXlang.
Tìm các label không nhất quán liên quan đến customer/client.
Đề xuất chuẩn hóa về "Khách hàng" trong tiếng Việt.
Chỉ tạo báo cáo trước, chưa sửa file.
Sau khi xem báo cáo, bạn có thể yêu cầu AI tạo patch cho các thay đổi được duyệt.
Use case 2: Tìm page thiếu authorization
Bảo mật là một phần rất phù hợp để dùng AI hỗ trợ rà soát.
AI có thể đọc cấu trúc APEXlang và liệt kê những page hoặc component có dấu hiệu thiếu authorization.
Kiểm tra các page trong APEXlang.
Liệt kê page có form cập nhật dữ liệu nhưng chưa thấy authorization scheme.
Chỉ tạo checklist để developer review.
Kết quả này không thay thế security review thật,
nhưng giúp developer phát hiện nhanh các điểm cần kiểm tra.
Use case 3: Review Dynamic Actions
Dynamic Action rất mạnh, nhưng trong app lớn chúng có thể trở nên khó kiểm soát.
Có những Dynamic Action gọi Execute Server-side Code, có action show/hide phức tạp,
có action bị trùng hoặc không còn dùng.
Prompt ví dụ:
Đọc APEXlang và liệt kê các Dynamic Action có Execute Server-side Code.
Với mỗi action, cho biết page, triggering item, items to submit và items to return nếu có.
Đánh dấu các action có khả năng thiếu Items to Submit.
Đây là kiểu review rất hữu ích khi debug lỗi session state hoặc chuẩn bị nâng cấp ứng dụng.
Use case 4: Tạo tài liệu ứng dụng
Tài liệu luôn là điểm yếu của nhiều dự án APEX.
Với APEXlang, AI có thể đọc cấu trúc app và tạo bản nháp tài liệu.
Tạo tài liệu APPLICATION_OVERVIEW.md từ APEXlang.
Bao gồm:
- danh sách page chính
- mục đích từng page
- shared components quan trọng
- authentication và authorization
- các workflow chính
- các điểm cần review thêm
Developer vẫn cần đọc lại và chỉnh sửa,
nhưng AI có thể giúp tạo bản nháp nhanh hơn rất nhiều so với viết từ đầu.
Use case 5: Refactor theo pattern
Khi có nhiều page tương tự nhau, AI có thể hỗ trợ phát hiện pattern và đề xuất refactor.
Ví dụ:
Kiểm tra các report source trong APEXlang.
Tìm các SQL query đang join trực tiếp BLOG_POSTS và BLOG_CATEGORIES.
Đề xuất thay bằng view V_BLOG_POST_LIST.
Chỉ tạo danh sách page/region cần chỉnh.
Sau đó developer có thể quyết định tạo view, cập nhật region source và test lại.
AGENTS.md rất quan trọng
Khi dùng AI assistant trong VS Code, bạn nên có file AGENTS.md
hoặc tài liệu tương tự để nói rõ quy tắc dự án.
Ví dụ nội dung:
# Oracle APEX Project Rules
- Do not modify production export files directly.
- Always create a summary before changing APEXlang files.
- Never remove authorization schemes.
- Do not introduce inline JavaScript unless approved.
- Prefer views for complex report sources.
- Keep page item names using P<PAGE_ID>_ prefix.
- Use Vietnamese labels for end-user UI.
- Create a diff summary after every change.
- Do not change database objects unless explicitly requested.
File này giúp AI hiểu ranh giới làm việc.
Tuy nhiên, cần nhớ rằng AGENTS.md chỉ là hướng dẫn, không phải lớp bảo mật.
Developer vẫn phải review mọi thay đổi.
Git trở nên quan trọng hơn
Khi APEX application có thể được biểu diễn bằng source files dễ đọc hơn,
Git trở nên quan trọng hơn rất nhiều trong quy trình APEX.
Một workflow tốt nên có:
- Export APEXlang từ môi trường dev.
- Commit bản export sạch trước khi chỉnh.
- Tạo branch cho từng thay đổi.
- Dùng AI assistant để hỗ trợ nhưng luôn review diff.
- Không commit thay đổi không hiểu rõ.
- Import vào workspace dev để test.
- Chỉ merge khi app chạy đúng và review hoàn tất.
Git giúp bạn trả lời các câu hỏi quan trọng:
- Ai đã đổi gì?
- Khi nào đổi?
- Vì sao đổi?
- Có thể rollback không?
- Thay đổi này ảnh hưởng page nào?
Những gì không nên vibe coding một cách mù quáng
Dù APEXlang + AI rất hấp dẫn, không phải mọi thứ đều nên để AI tự xử lý.
Bạn cần đặc biệt cẩn thận với:
- Authentication scheme.
- Authorization scheme.
- Security attributes.
- Session State Protection.
- Page Access Protection.
- Process ghi dữ liệu.
- Dynamic SQL.
- REST API endpoint.
- File upload/download.
- Workflow approval quan trọng.
Với các thành phần này, AI có thể hỗ trợ review hoặc đề xuất,
nhưng quyết định cuối cùng phải do developer hiểu hệ thống đưa ra.
Vibe coding không có nghĩa là thiếu kỷ luật
Tên gọi “vibe coding” có thể khiến người ta nghĩ đây là cách làm ngẫu hứng.
Nhưng với ứng dụng doanh nghiệp, vibe coding tốt cần rất nhiều kỷ luật.
Bạn cần:
- Đặc tả rõ ràng.
- Repository sạch.
- AGENTS.md rõ quy tắc.
- Git workflow nghiêm túc.
- Review diff trước khi import.
- Test trong workspace dev.
- Backup/export trước thay đổi lớn.
- Không cho AI tự quyết định bảo mật.
AI giúp tăng tốc, nhưng kỷ luật kỹ thuật mới quyết định chất lượng.
Các bước thử nghiệm an toàn
Nếu bạn muốn thử APEXlang + VS Code + AI, nên bắt đầu bằng môi trường học tập hoặc app demo.
- Tạo một app APEX nhỏ trong môi trường dev.
- Export app sang APEXlang.
- Đưa folder export vào Git.
- Mở project trong VS Code.
- Tạo file AGENTS.md với quy tắc an toàn.
- Yêu cầu AI chỉ phân tích, chưa sửa file.
- Thử một thay đổi nhỏ như đổi label hoặc help text.
- Review diff.
- Import lại vào workspace dev.
- Run app và kiểm tra kết quả.
Sau khi quen, bạn có thể thử các tác vụ lớn hơn như tạo tài liệu, review authorization,
chuẩn hóa label hoặc refactor report source.
APEX developer cần chuẩn bị gì?
Để tận dụng tốt APEXlang và vibe coding, developer APEX nên đầu tư vào các kỹ năng sau:
- Sử dụng Git thành thạo.
- Làm việc với VS Code.
- Hiểu cấu trúc APEX application export.
- Biết review diff cẩn thận.
- Biết viết prompt có ràng buộc rõ.
- Biết thiết kế AGENTS.md.
- Biết tách logic đọc dữ liệu vào view.
- Biết đưa business logic quan trọng vào package PL/SQL.
- Biết kiểm tra security attributes trong APEX.
APEX vẫn là low-code, nhưng low-code hiện đại không có nghĩa là không cần kỹ năng engineering.
Ngược lại, khi AI tham gia nhiều hơn, kỹ năng review, kiến trúc và governance càng quan trọng.
Những lợi ích lớn nhất
Nếu áp dụng đúng, workflow APEXlang + VS Code + AI có thể mang lại nhiều lợi ích:
- Review thay đổi APEX dễ hơn.
- AI hiểu cấu trúc app tốt hơn.
- Developer có thể làm việc trong môi trường quen thuộc hơn.
- Git workflow rõ ràng hơn.
- Tài liệu dễ tạo và dễ cập nhật hơn.
- Có thể chuẩn hóa nhiều page/component nhanh hơn.
- Team có cơ sở tốt hơn để audit bảo mật và maintainability.
Đây không chỉ là chuyện viết app nhanh hơn.
Đây là chuyện đưa APEX vào một quy trình phát triển có kiểm soát hơn.
Rủi ro cần chú ý
Bên cạnh lợi ích, cũng có rủi ro:
- AI sửa file nhưng developer không hiểu thay đổi.
- Import thay đổi chưa validate vào app dev.
- AI vô tình làm mất authorization hoặc security setting.
- Diff quá lớn nên khó review.
- Developer tin output AI mà không test lại trong APEX.
- Quy trình Git chưa rõ khiến team dễ conflict.
Vì vậy, hãy bắt đầu nhỏ, dùng app demo, chỉ tăng phạm vi khi team đã quen.
Kết luận
APEXlang trong Oracle APEX 26.1 mở ra một hướng phát triển rất thú vị:
ứng dụng APEX có thể được biểu diễn bằng các file đặc tả dễ đọc hơn,
làm việc tốt hơn với VS Code, Git và AI assistant.
Điều này không làm Page Designer mất vai trò.
Thay vào đó, nó bổ sung một workflow mới cho những tình huống cần source control,
review, automation, AI-assisted editing và tài liệu kỹ thuật.
Vibe coding Oracle APEX không nên được hiểu là để AI tự làm mọi thứ.
Cách làm đúng là developer cung cấp ngữ cảnh, đặt ràng buộc, dùng AI để tăng tốc,
sau đó review diff, validate, import và test trong APEX.
Nếu áp dụng có kỷ luật, APEXlang + VS Code + AI có thể trở thành một bước tiến lớn
trong cách chúng ta xây dựng, quản lý và bảo trì ứng dụng Oracle APEX hiện đại.