Собрался написать небольшое веб-приложение. Структура будет такой: Backend (API) + тонкий клиент к нему:
- Сам backend будет на Perl, и в мир будет выставлять некое API. Данные скорее всего будут сериализоваться в JSON. В будущем возможно добавятся другие сериализаторы.
- Клиент - это браузерная страничка, которая с помощью AJAX общается с сервером (никаких шаблонизаторов и препроцессоров здесь).
Возник вопрос: а каким образом лучше строить API - REST или RPC?
Про REST: простой, как палка. Идеально подходит для CRUD. Однако всё, что не CRUD - придётся костылять. Также REST принуждает к порождению сущностей (ведь всего 4 метода для кажой). Однако полученное в результате приложение проще интегрируется и по простоте эквивалентно самому REST.
Про RPC: более гибкий подход со всеми производными: возможность намудрить иерархий и «левых» методов а также прогадать с именами методов.
Дорогие ЛОРчане, а что посоветуете вы?