После двух лет разработки представлен релиз MVC (Model-View-Controller) web-фреймворка Ruby on Rails 3.0, в подготовке которого приняли участие более чем 1600 разработчиков. Фреймворк подвергся значительной реструктуризации в результате слияния с проектом Merb. Ранее Merb выступал в роли конкурирующего проекта, рожденного с целью воплощения идеи создания легкого MVC-движка, основанного на тех же принципах и расширяемого через плагины. В результате, вобрав лучшие качества обоих проектов, Ruby on Rails 3 стал более легковесным, быстрым и легким для понимания. Фреймворк может работать под управлением Ruby 1.8.7, Ruby 1.9.2 и JRuby 1.5.2.

Основные улучшения:

  • Переработанный модуль для разбора URL (Router) акцентирован на использовании REST (Representational State Transfer) деклараций и поддерживает интерфейс для быстрого подключения внешних плагинов;
  • Язык запросов в Active Record, построенный на идеях реляционной алгебры и новом движке Arel Query Engine. Например, к выполнению SQL-запроса "SELECT * FROM users WHERE name = 'david' AND age > 29 ORDER BY name LIMIT 20" может привести следующий код:
    
    
     users = User.where(:name => "david").limit(20)
    
     users = users.where("age > 29")
    
     users.order(:name).each { |user| puts user.name }
    
  • Ненавязчивое использование JavaScript обработчиков, базирующихся на фреймворках, подобных Prototype и jQuery;
  • Повышение производительности компонентов Rails на основе опыта Merb;
  • Новый Action Mailer API для отправки почтовых сообщений (особенно упрощен процесс отправки писем с вложениями), поставленный уровнем выше Action Controller;
  • Переработан и включен по умолчанию встроенный механизм для защиты от XSS-атак (межсайтовый скриптинг);
  • Точное управление зависимостями при помощи Bundler.


Источник: http://www.opennet.ru/opennews/art.shtml?num=27789