Релиз web-фреймворка Ruby on Rails 4.0
27 июня 2013 года
Представлен релиз MVC (Model-View-Controller) web-фреймворка Ruby on Rails 4.0. В новой ветке прекращена поддержка Ruby 1.8.7 и обеспечена возможность работы только при наличии Ruby 1.9.3. При этом рекомендованной версией является Ruby 2.0.
Ключевые улучшения, добавленные в выпуске Ruby on Rails 4.0:
- В новой версии Rails основное внимание уделено развитию средств, позволяющих создавать современные web-приложения без ручного создания клиентских JSON-обработчиков на JavaScript. При этом классическая поддержка JSON-сервера сохранена и может быть использована для разработки клиентов при помощи библиотек Ember.js, Backbone.js и Angular.js;
- Представлена система кэширования "Русская матрёшка", позволяющая кэшировать данные с учётом времени жизни ключей и автоматическим управлением зависимостей для вложенных шаблонов;
- Ускорение javascript-кода, выполняемого на стороне клиента, за счёт применения технологии Turbolinks, подразумевающей компоновку клиентской части web-приложения в виде одой страницы, в которой связанных с ссылками контент загружается и отображается динамически через использование JavaScript-обработчика, на лету заменяющего содержимое тела страницы, без перезагрузки самой страницы с сервера;
- Поддержка декларативных ETags позволяет упростить контроль за актуальностью загруженных по HTTP данных;
- Реализация модуля ActionController::Live с поддержкой live-режима для постоянной потоковой передачи данных через заданные интервалы времени в рамках постоянно открытых соединений;
- Обеспечение из коробки работы c серверами, работающими в многопоточном режиме, без необходимости настройки config.threadsafe;
- Многочисленные улучшения класса Active Record. В частности улучшены средства для указания диапазонов и обеспечена более целостная структура запросов;
- Ужесточены используемые по умолчанию настройки безопасности. Включено экранирование HTML-тегов по умолчанию. Приняты патчи для усиления безопасности, предоставленные компанией Google. Сужен охват значений, подпадающих под действие Match;
- Следующие компоненты вынесены из базовой поставки и теперь распространяются в виде отдельных gem-модулей:
- Динамические методы поиска на основе хэшей ( Github)
- Массовое назначение защищённых свойств для моделей Active Record ( Github)
- ActiveRecord::SessionStore ( Github
- Active Record Observers ( Github)
- Active Resource ( Github)
- Action Caching ( Github)
- Page Caching ( Github
- Sprockets ( Github)
- Тесты производительности ( Github)
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.