Когда 2014 год подходит к концу, я решил быстро взглянуть на то, что может предложить 2015 год в стране Ruby. Многое из того, как открывается 2015 год, очевидно, будет основано на последних словах 2014 года, поэтому мы начнем с некоторого обсуждения этого года и попытаемся экстраполировать его на будущее. Кроме того, я собираюсь сосредоточиться на Ruby и Rails, больше всего на свете, главным образом потому, что это то, что я знаю. Если у вас есть прогнозы относительно Ruby-фреймворков вне Rails, я уверен, что читатели будут рады их услышать.
Рубин
Руби закончила 2014 год с выпуском 2.2 , на Рождество, не меньше. Основное улучшение по сравнению с 2.1 — еще одна особенность сборки мусора. Символы теперь будут собирать мусор, что должно сразу же уменьшить использование памяти для всех приложений Ruby, особенно для Rails (о чем мы поговорим через минуту). Я не смог найти точную дорожную карту для MRI Ruby, но я нашел эту ссылку на http://bugs.ruby-lang.org, которая является началом списка ошибок / возможностей для Ruby 2.3.0. Единственный элемент в списке — это исправление функций преобразования регистра, ограниченных символами ASCII. Мои навыки дедукции по Шерлоку заставляют меня верить, что 2.3.0 будет гораздо больше баг-релизом, и я не знаю, какой будет «следующая большая особенность / улучшение» в МРТ. Есть идеи?
JRuby
JRuby, с другой стороны, готовится к (ОЧЕНЬ надеюсь) ОГРОМНОМУ 2015 году. Команда JRuby завершила 2014 год с большим количеством релизов (в настоящее время на 1.7.18), а также большим прогрессом в JRuby 9000. JRuby 9000 — это следующий основной выпуск JRuby, и он призван закрыть пробелы между MRI 2.1 (возможно, 2.2…?) и JRuby. Но подождите, это еще не все:
- Новый оптимизирующий компилятор
- Поддержка истинного родного ввода-вывода и логики процесса
- Наконец, приведите транскодирование символов в соответствие с МРТ
Я украл эти пункты из этого видео Чарльза Наттера (Mr. JRuby) и Томаса Энебо из RubyConf 2014.
Я использую JRuby каждый день, и я могу сказать, что это, вероятно, лучшая реализация Ruby. Я думаю, что многие Rubyists боятся Java и JRuby, но они не должны быть. Я не Java-руководитель, и у меня все хорошо.
Рубиниус ( ПРЕДЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЯ )
Изначально я не мог найти много о Рубиниусе, но комментатор этой статьи (спасибо bennyklotz) нашел эту статью, в которой рассказывается об основной команде Рубиниуса. Он также ссылается на множество статей о Rubinius 3.0. Есть несколько статей, в которых подробно описывается, как движется Rubinius 3.0, поэтому, если вы заинтересованы в Rubinius (и мы все должны быть), возьмите чашку кофе и прочитайте их.
Рельсы
Для Rails 2014 год закончился выпуском 4.2 финала. Этот пост подробно описывает изменения, но вот вкус:
- ActiveJob — фоновая абстракция работы, которую мы все знаем и любим. Kyle Szives глубоко погружается в ActiveJob в одном из наших самых популярных постов в рубрике SitePoint 2014 года.
- Adequate Record — Аарон Паттерсон (Aaron Patterson), любимый всеми, любящий кошек, делающий каламбуры, улучшает ActiveRecord. Он объясняет все это здесь .
- Веб-консоль — основанная на идее гема better_errors , веб-консоль предоставляет вам страницы исключений REPL on Rails. Он добавляет возможность размещать консоль на ЛЮБОЙ странице в вашем приложении Rails, так что это просто.
Начиная с этого момента основная команда Rails сосредоточена на Rails 5.0. Все, что мы знаем на данный момент, это то, что 5.0 будет предназначаться исключительно для Ruby 2.2 (и позже, предположительно). Это означает, что улучшения GC в 2.2 будут реализованы в Rails 5.0. Rails может быть «болванкой памяти», поэтому мне уже нравится, куда идет 5.0.
Sinatra
Синатра все еще катится на выпуске 1.4, но грохоты релиза 2.0 там. В этом ответе создатель фреймворка Константин Хаазе перечисляет, кем он хотел бы стать в 2.0. Это значительный список, подкрадывающийся к полному переписыванию. Если вы хотите познакомиться с хорошо используемым гемом Ruby и внести свой вклад в Open Source, это прекрасная возможность.
Другие вещи
- Torquebox находится на пороге выпуска 4.0, который является серьезным обновлением. Torquebox будет разбит на множество драгоценных камней и будет функционировать как другие веб-серверы Ruby. Torquebox — отличный вариант для приложений Ruby, и 4.0 должен сделать его еще проще в использовании.
- Новый интерфейс веб-сервера Ruby? В 2014 году компания Rack объявила о своем собственном окончании срока службы , поэтому в 2015 году, скорее всего, появится простое обслуживание и (будем надеяться) рождение следующей спецификации промежуточного программного обеспечения Ruby. В сообщении группы Google, указанном выше, рассказывается о том, почему основная команда считает, что Rack 2.0 никогда не будет существовать (или, по крайней мере, не является продуктом существующей основной команды), так что прочитайте. Кроме того, взгляните на Wardrop (AKA, Rack-Next) и, возможно, примите участие в том, что будет дальше. ПРЕДЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЯ: Аарон Паттерсон также добавил the_metal для создания тем для обсуждения вокруг Rack 2.0. Интересный.
- ПРЕДЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЯ : Платформа Lotus набирает обороты в течение всего года, и это будет продолжаться в 2015 году. Lotus — это веб-инфраструктура, которая «стремится к простоте, меньше DSL, минимальным соглашениям, большему количеству объектов, отсутствию исправлений и разделению проблем между Слои MVC ». Если вы хотите выйти из Rails, Lotus — отличный выбор.
- ПРЕДЛОЖЕНИЕ ПОЛЬЗОВАТЕЛЯ : Ник Саттерер (@apotonick), автор Cells, Roar и других известных гемов Ruby / Rails, создал новый подход к приложениям на Rails под названием Trailblazer . Со страницы Github:
Trailblazer — это тонкий слой поверх рельсов. Он мягко обеспечивает инкапсуляцию, интуитивно понятную структуру кода и предоставляет вам объектно-ориентированную архитектуру.
Я сделал ранний обзор некоторых книг, написанных Ником о Trailblazer, и это выглядит ОЧЕНЬ хорошо. Могу поспорить, что это делает волны в 2015 году.
Конференции
Как всегда, новый год в Ruby означает новый набор конференций Ruby. Большие из них:
Ни один сайт не был обновлен, чтобы отразить новое местоположение, но теперь вы можете забронировать билеты на самолет. Для других конференций Ruby, проверьте rubyconferences.org . Одна из моих целей на 2015 год — посещать больше конференций, вы тоже должны.
Привет 2015!
Новый год всегда приносит новое волнение того, что грядет. Ruby, безусловно, готов ко многим позитивным изменениям, поскольку он продолжает оставаться одним из лучших языков в спектре программирования. Я уверен, что я забыл что-то огромное на горизонте или, возможно, неправильно понял одну или две детали, так что не стесняйтесь исправлять / добавлять эти элементы в комментарии.
С новым годом!!