Релиз Rails 3.1

Для загрузки и установки доступен релиз фреймворка для построения веб-приложений rails 3.1.

Основные новшества в этой версии:

  • Asset Pipeline - фреймворк для сборки и сжатия JS и CSS под управлением Sprockets 2.0. Теперь как генерируются контроллеры, виды и модели для ваших скаффолдов, также будут создаваться и JS и CSS. Это позволяет достичь более удобной архитектуры и разгрести десятки десятки файлов из public/javascript по модулям. Рельсы сами будут заботиться о сборке всех ваших клиентских файлов в один и кешировании. Краткое руководство по Asset Pipeline
  • HTTP Streaming - позволит начать браузеру скачивать таблицы стилей и javascript'ы ещё до того, как сервер закончит формировать ответ. Результат — заметное увеличение скорости отдачи страниц. Это всего лишь опция, которая требует поддержки от web-сервера. Связка nginx+unicorn уже готова поддерживать эту возможность. Пример и как это работает можно посмотреть на RailsCasts.
  • jQuery теперь используется по умолчанию. Использовать prototype можно всего лишь поменяв jquery-rails на prototype-rails в Gemfile.
  • Другие изменения:
    • DRY миграции, которые знают сами, как себя обратить.
    • Mountable engines теперь могут быть иметь своё собственное пространство маршрутов и помошников.
    • Prepared statements - ActiveRecord теперь использует кешированные подготовленные выражения, которые дают большой прирост производительности в PostreSQL и на сложных запросах в MySQL. Вместо формирования запроса и передачи его в БД каждый раз, Rails один раз формирует запрос, а затем использует его специальный токен (подставляя нужные данные), когда нужно сделать похожий. Дает прирост в производительности на 20-30% на простых запросах и 10-кратный прирост по запросам в секунду на сложных запросах.
    • Rack::Cache включен по умолчанию. Делает возможным использование HTTP-кеширования с условным получением (Conditional Get) как замены для постраничного кеширования. В скором времени постраничное кеширование уберут из стандартной поставки.
    • Turn — новый вывод для Test::Unit в Ruby 1.9
    • ForceSSL - позволяет использовать безопасные соединения намного проще.
    • Основанный на ролях mass-assignment. attr_protected теперь принимает в качестве параметра роль.
    • has_secure_password - простое встраивание парольной защиты на BCrypt.
    • Custom serializers - теперь есть возможность самому указать способ хранения объектов в базе, а не только в формате YAML.

Также можно посмотреть небольшой видео обзор на RailsCasts
Если вы создаёте новое приложение, то лучше используйте Ruby 1.9.2. Rails будут поддерживать 1.8.x вплоть до 4.0, но только для совместимости.

©  Linux.org.ru