Ext.direct интересен пакетной отправкой запросов на сервер. Использовал с четвёртой версией ExtJs. Не обязательно запрашивать сложные вложенные структуры, чтобы сократить количество запросов и ускорить работу приложения. Возможен простой маппинг: таблица в базе - модель в ExtJs. Там есть хитрость - запросы отправляемые из форм имеют особый статус. Нужно правильно догадаться, как загружать файлы. Вообще, удобно запускать серверные функции прямо из клиентского кода.
Сейчас использую REST-подобное API, потому что мой PHP код утрачен и не было времени писать этот слой под пятую версию ExtJs. Но главная причина в том, что с сервером работет не только ExtJs, а ещё, например, Jira. Не писать же на Джаве механизм подобный директу. Да и
тема о лицензиях на форуме и потенциальное сокращение сообщества заставляет думать об ослаблении привязки к особенностям Экста.
В ресте у меня CRUD для каждой таблицы базы данных. Причём read существует в трёх вариантах: 1) одна строка для форм; 2) несколько строк с фильтрацией, группировкой и разбиением на страницы для гридов; 3) одна строка таблицы, но в виде вложенной структуры, которая содержит данные из связанных таблиц, для кастомных компонентов.