Пойдите с Rails, там гораздо больше документации / книг, чем у Sinatra. Он также является более «мейнстримным», и многие IDE рассматривают рельсы особым образом, так что начать с него - хорошая идея.
Хотя можно написать любое приложение на любом из двух, Sinatra спроектирована как более упрощенная, поэтому на Sinatra сложное приложение для случая может потребовать дополнительных усилий.
Если вы "совсем новичок" в Ruby, возможно, вам стоит сначала обратиться к Sinatra: она действительно маленькая, хорошо документирована и проста в освоении. Затем, для более сложных веб-приложений, вам стоит попробовать Ruby On Rails.
http://railsmagazine.com/issues/5 - это бесплатная вводная статья в формате PDF, которую я написал для Rails Magazine.
Вы можете посмотреть на Рамазе в дополнение к Синатре или вместо него. Ramaze, кажется, находится между Ruby on Rails и Sinatra по функциональности и удобству использования.
Вы определенно должны знать оба, потому что они были созданы для разных целей. sinatra - это микро-фреймворк для небольших приложений. rails - это полноценный mvc-фреймворк с множеством помощников почти для всего.
Я бы сказал, что sinatra легче изучить, если вы знаете ruby, потому что она очень маленькая и следует общим идиомам ruby. Но изучить rails также не намного сложнее. Документация великолепна, и вы найдете много учебников и howto's в Интернете.
Как я уже сказал, очень полезно знать и то, и другое, чтобы выбрать подходящий инструмент для работы.
Сначала перейдите к Sinatra. Она действительно проста и понятна, к тому же она охватывает основные принципы Rails (архитектура MVC и т.д.). Затем вы сможете перейти к Rails. Кроме того, зная Sinatra, вы сможете писать приложения Sinatra в Rails metal, что облегчит создание API.
О, пожалуйста О, пожалуйста, не начинайте с рельсов. Это как первый бой против танковой дивизии. Лучше начать с беспокойных туземцев и постепенно продвигаться вверх. Хорошо, это не лучшая аналогия, но rails - это слишком много времени для обучения. Вы можете забрать Sinatra очень быстро, и тогда переход на рельсы станет разумным шагом вперед. То же самое, только больше полезных вещей. С рельсами возникает масса непонятных вещей. Они добавляют много нового в язык и т. Д. Если вы не знакомы с Ruby и базовыми классами, просто попробуйте Sinatra. Это быстро, легко, и вам не нужно знать о миграции, грабли и т. Д.
Rails или Sinatra - отличный выбор для обучения.
Я начал работать над проектом на Rails, в котором я буквально ничего не знал о веб-разработке или Ruby October 2009 (мой соучредитель помог мне преодолеть некоторые начальные препятствия и привел меня к RTFM). Я столкнулся с некоторыми проблемами, но мог довольно легко написать бизнес-логику. Недавно я начал переносить проект на движок приложения и использовать Sinatra в качестве фреймворка, и это был невероятный процесс обучения. В основном для изучения всех вещей, которые Rails делал автоматически. Это также было полезно для просмотра упрощенного определения членов класса и их метода сохранения (к сожалению, миграции - это всего лишь фоновые процессы для изменения формата).
Вы можете подумать о том, где вы будете развертываться.
Поскольку меня в первую очередь интересуют простые приложения с низкой стоимостью сервера, и Heroku, и Google App Engine хорошо подходят. Rails / ActiveRecord / Sqlite и Heroku отлично работает Sinatra / Datamapper / Datastore на движке Google App работают хорошо.
Rails также успешно работает на движке приложения, так что этот выбор тоже открыт. IMO Heroku немного проще развернуть.