DHH says it best, Rails was never primarily about being friendly to beginners. And he’s right, it’s not.

Rails evolution is making the lives of current developers better but neglecting new developers.
The gap between starting knowledge and required knowledge is getting larger. As it increases it becomes harder to learn Rails:

The size of Rails makes it intimidating to grok. Here’s the number of lines of code compared to a lighter weight framework, Sinatra:
(This image is taken from a Confreaks talk on Sinatra)
Rails weighs in at 87,990. Sinatra, only 1,576.
That’s a significant difference!
Enter, Sinatra
According to Sinatra’s ReadMe:
“Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort”
Hello World in Sinatra looks like this:
get '/' do
"Hello, world"
end
That’s it. An HTTP method paired with a URL-matching pattern. The HTTP method being ‘get’, and the URL, in this case, being root.
When you visit the homepage, you’ll see the Hello World message.
Here’s another example:
get '/oscar' do
"Hello Oscar"
end
Rendering:

You can see it’s running on localhost port 9393, and then it’s just “/oscar”. The “/oscar” being the URL-matching pattern.
Also, you can embed Ruby right in there:
get '/time' do
erb 'The time is <%= Time.now.strftime("%I:%M %p") %>.'
end
The Ruby is specified between <%= and %>.
From here it’s easy; everything else builds on top logically.
So, if you’re looking for a Ruby framework, why not give Sinatra a try?
Tweet Follow @OscarTheHorse