Sinatra: шаблоны, редирект и сессии

сентября 25, 2011  |  Published in Sinatra

Шаблоны
В предыдущей статье мы просто рендерили переменные и строки, но чаще всего это не самый лучший способ представления информации пользователю. Когда мы хотим создать реальный сайт, а не приложение выводящее одну строку — нам необходимо использовать много разметки для данных, которую помещать в блок обработки запроса — неправильно. Sinatra Framework позволяет использовать различные шаблоны благодаря gem Tilt. Возьмем приложение из предыдущей статьи и перепишем его с использованием шаблонов. Все шаблоны будут храниться в поддиректории ./views/. Views — это директория в которой хранятся файлы представлений по умолчанию.

#app.rb
require 'sinatra'
require 'erb'

before do
  @title = "Sinatra Tutorial"
end

get '/' do
  @message = "Welcome to RubyDev.ru"
  erb :index
end
<!--- ./views/index.erb --->
<html>
  <head>
    <title><%= @title %></title>
  </head>
  <body>
    <div id='header'>
      <h1><%= @title %></h1>
    </div>
    <div id='content'>
     <p><%= @message %></p>
    </div>
  </body>
</html>

Read the rest of this entry »

Tags: , ,

Sinatra: Введение и роутинг

сентября 25, 2011  |  Published in Sinatra

Новая рубрика в RubyDev — разработка на Sinatra Framework.

Кто не знает, Sinatra — это минималистичный веб фреймворк написанный на Ruby, построенный на основе Rack. Sinatra отлично подходит для разработки простых сайтов и сервисов, где Rails будет слишком избыточным решением. Сами разработчики называют Sinatra — «Domain Specific Language for quickly creating web-applications in Ruby».
Read the rest of this entry »

Tags: ,

Sinatra vs Rails

мая 28, 2011  |  Published in Sinatra

Несколько мнений из интернетов:

- Sinatra — фреймворк для разработки простых веб приложений.
- Sinatra — простой фреймворк для прототипирования.
- Sinatra — отличный фреймворк, на котором построено несколько серьезных проектов.

Из этих трех мнений истинным является лишь последнее. Sinatra — действительно простой фреймворк, в котором гораздо меньше «волшебства» чем в Rails, однако который позволяет создавать приложения не менее сложные чем с использованием Rails.

Я, как и многие другие люди, считаю, что Rails не подходит для разработки CMS и склоняюсь в сторону Sinatra когда речь заходит о CMS, а тем более о движке блога, который является самым простым CRUD-приложением. Rails избыточен для таких разработок и больше подходит для того, что называют модным словом «стартапы».

Самое большие отличия Sinatra от Rails заключается в том, что в Sinatra нет restful resources и нет MVC. Но все это можно легко реализовать самостоятельно.

Sinatra минималистичный фреймворк, который представляет Programmer-way, вместо навязываемого Rails-way. В Sinatra вы можете создавать любую структуру приложения.

Не хочу сказать что Rails плох, Rails — замечательный фреймворк, однако вам обязательно стоит познакомиться с Sinatra, быть может он вам покажется более удобным, хотя вам и придется писать на порядок больше кода.

Думаю, стоит начать писать о Sinatra, например, рассмотреть работу какой-нибудь CMS на базе Sinatra (предложения пишите в комментарии). Но это произойдет, скорей всего, уже после моей сессии и поступления на 5 курс, т.е. во второй половине лета.

Tags: