Я создал два последних довольно сложных проекта с использованием Sinatra и получил удовольствие от процесса. Что мне нравится, так это то, что он побуждает вас рассматривать API веб-приложения, которое вы создаете заранее, а не задним числом.
Теперь я стараюсь, чтобы API работал и тестировался, а затем создавал интерфейс браузера, используя jQuery. Все взаимодействие между интерфейсом и задней частью выполняется через API.
Разобрав вспомогательные методы на отдельные библиотеки и воспользовавшись библиотеками Ruby on Rails, такими как ActiveRecord и т. Д., Я обнаружил, что код не сложнее поддерживать, чем любой другой код, который я написал, и его, безусловно, легко протестировать.
Я написал несколько простых общих маршрутов, которые позволяют мне кластеризовать контент на уровне страниц (написанный в markdown, textile или haml), используя идеи, аналогичные проекту Nesta, что означает, что 99% моих маршрутов - это вызовы API, а не вызовы показа страницы. Я добавил несколько полезных помощников для построения навигации на основе правил, которые тоже очень помогают.
Так что вкратце ответ - нет, нет ничего плохого в создании больших веб-сайтов с помощью Sinatra, и на самом деле я считаю, что это может привести к лучшему дизайну веб-приложений.