JAF(JavaScript Application Framework)는 XpressEngine에서 자바스크립트를 작성할 때 사용하는 메시지 기반의 프레임워크이다.
XpressEngine은 수많은 확장 기능으로 이루어지기 때문에 각 확장 기능에서 추가한 다양한 종류의 자바스크립트 프로그램을 사용한다. 그러나, 이 때 사용된 자바스크립트 프로그램은 대부분 확장을 고려하지 않고 설계되었기 때문에 다른 개발자가 추가 기능을 작성하기 어렵다. 예를 들어, 유효성 검사를 실행할 때 자신 만의 규칙을 추가하고 싶어도 유효성 검사 프로그램에서 제공해주는 방법이 없어 추가 기능 작성은 거의 불가능하다.
설령 서로 다른 개발자가 작성한 자바스크립트 프로그램이라 해도 확장하기 쉽고 연동하기 편리하다면 더 많은 가능성을 만들어 사용자들에게 더 큰 만족감을 줄 수 있을 것이다. 그리고 바로 이것이 JAF가 필요한 이유이다.
JAF는 크게 전역 객체 xe, 앱(App), 플러그인(Plugin)으로 구성되어 있다. 전역 객체 xe가 모든 앱을 관리하며 각 앱은 자신만의 플러그인을 포함할 수 있다. 전역 객체 xe는 앱으로서의 특성도 포함하고 있으므로 플러그인을 가질 수도 있다.

JAF는 전역 객체 xe와 다수의 앱 또는 플러그인으로 구성된다.
window.xe 또는 xe로 참조할 수 있다. 또한, xe는 앱의 특성도 포함하고 있다. 독립된 기능을 가진 프로그램이다. WYSIWYG 편집기, 유효성 검사기 등이 앱의 한 예이다. 앱을 사용하려면 반드시 전역 객체 xe에 먼저 등록해야 한다. JAF를 사용하면 다음과 같은 장점을 얻을 수 있다.