Я программирую на Rails уже около 7 месяцев. В основном приложение для администрирования базы данных, вы знаете, очистки, обновления, удаления, поиска потерянных записей и т. д.
У меня есть API, который взаимодействует с нашими настольными программами, написанными на PHP. Теперь мы обнаруживаем, что хотим перенести все на Ruby. Этот API должен быть молниеносным и не будет иметь никаких представлений или HTML-страниц любого рода, он будет взаимодействовать с нашими приложениями только через JSON, отправляя и получая данные, которые приложения затем будут отображать и с которыми работать.
Итак, основной вопрос заключается в том, должен ли я изучать Sinatra и Padrino (с ActiveRecord) и создавать с их помощью API или делать это в Rails?
Если бы я использовал Rails, я мог бы сохранить большую часть кода, который у меня есть, или даже использовать существующий код, поскольку все таблицы одинаковы (база данных та же), и просто написать больше методов для API.
Минус, который я вижу в этом, двоякий:
- Это означает, что кодом сложнее управлять и читать, потому что теперь у нас есть часть API и вся часть обслуживания.
- Это означало бы, что одно и то же приложение Ruby выполняет двойную работу, поэтому API не будет таким быстрым, как если бы он работал в другом, отдельном приложении Ruby.
- Приложение Rails уже не очень быстрое, но я подозреваю, что это больше связано с нашим решением для хостинга, чем с самим Rails.
Изучение Sinatra и Padrino может быть более трудоемким, но это приведет к более чистому коду и отдельному Ruby-приложению для API и еще одному для обслуживания, что звучит приятнее.
Но я ничего не знаю о Синатре и Падрино, а размер и скорость действительно лучше, чем у Rails?
Я был бы очень признателен за мнения людей, которые действительно использовали Rails и Sinatra с Padrino.
Ваше здоровье.