Не рассчитывайте на то, что в этом году к Ruby on Rails будет добавлено много нового. Цель текущих усовершенствований этой платформы разработки Web-приложений состоит главным образом в том, чтобы сделать ее еще более быстрой, простой и удобной в использовании.
Именно эти характеристики помогли платформе стать популярной альтернативой таким решениям, как Java и Microsoft .Net, и способствовали тому, что многие компании начали предлагать различные сервисы разработчиков на Rails.
«Мы планируем отказаться от достаточно большого числа тех элементов платформы, которые не требуются пользователям в их основной деятельности. Вместо этого мы хотим предложить такие возможности в виде подключаемых модулей, — заметил автор системы Дэвид Хайнемейер Хенссон. — Если ваше приложение во многом от них зависит, вы всегда сможете легко получить подключаемые модули».
Среди таких элементов будет сервис Action Web Service, ориентированный на создание Web-сервисов на базе API, опирающихся на протокол SOAP.
Хайнемейер Хенссон стремится склонить разработчиков к использованию REST (Representational State Transfer), то есть пользоваться тем способом связи приложений в Rails, который предпочитает он сам.
«Мы не хотим превращать нашу технологию в нечто похожее на Java — этого ‘барахольщика’, который готов хранить все, что к нему попадает. Мы не боимся отказываться от того, что не подходит, или от того, что, как мы четко понимаем, не нравится пользователям», — подчеркнул он.
При этом будет сделано несколько дополнений — группа Rails имеет некие не афишируемые пока наработки, которые ей очень хотелось бы предложить. Но основная задача, стоявшая перед разработчиками Rails 2.0, — это «консолидировать и усилить» то, что уже есть.
Однако сохранить платформу простой и удобной не так-то просто, и многие компании готовы предложить пакеты для Ruby on Rails, объединяющие инструментальные средства и подключаемые модули для того, чтобы сделать платформу более соответствующей высоким требованиям бизнеса.
Многие из этих продуктов подготовлены к демонстрации на сентябрьской конференции RailsConf 2007 в Берлине.
Компания CodeGear, выделившаяся из Borland Software, представила собственную интегрированную среду разработки Ruby on Rails. Данный продукт создан на основе платформы Eclipse, а его бета-версия появилась еще в мае. Компания Sun Microsystems, анонсировала JRuby — реализацию Ruby для сред Java.
Поддержка производителя помогает развеять опасения пользователей относительно того, что за Ruby on Rails не стоит ни одна крупная компания.
Если заметная поддержка Oracle и IBM помогает внедрять операционную систему Linux на крупных предприятиях, то и поддержка Rails со стороны Sun и IBM может сыграть точно такую же роль.
Платформы Java и .Net становятся все более «раздутыми» по мере того, как производители добавляют все новые возможности, стремясь удовлетворить практически каждое из требований, но подобный подход заставляет разработчиков искать альтернативы. Такого мнения придерживается Кинди Митчелл, директор ThoughtWorks Studios, которая предлагает программные средства и сервисы для разработки на базе Rails.
Ее клиенты — это телекоммуникационные, медийные и финансовые компании, которые хотят быстро внедрять новые приложения.
Большинство из них используют для этого оригинальные среды Ruby, но огромное значение имеет тот факт, что Sun поддерживает платформу JRuby, которая позволяет компаниям устанавливать приложения Rails на существующих серверах Java.
Джонатан Сейгель, глава консалтинговой компании ELC Technologies, специализирующейся на Rails, заметил, что, если на разработку приложений в .Net может потребоваться от восьми до десяти месяцев, то с помощью Ruby on Rails то же самое можно сделать за четыре—шесть месяцев.
И все же существующая три года Rails — развивающаяся платформа, имеющая свои ограничения.
Один из известных пользователей платформы, сайт социальных сетей Twitter, в этом году вызвал большую шумиху своим заявлением о том, что Rails не очень хорошо масштабируется в случае одновременного использования нескольких баз данных и что язык Ruby работает медленно.
Сообщество свободно распространяемого программного обеспечения отреагировало на это заявление, разработав подключаемый модуль, позволяющий решить проблему масштабирования.
Кое-кто также утверждает, что работа над Ruby и над Ruby on Rails требует жесткого управления, поскольку только в этом случае удастся предотвратить появление множества реализаций, что неизбежно приведет к проблемам с совместимостью.
«Главное, чтобы платформа не оказалась раздробленной, именно с этим связан огромный риск для будущего Ruby и ее долгосрочного существования — и, как следствие, для Rails», — считает Митчелл.
Сейгель заметил: «Я уверен, что в развитии Ruby on Rails произойдет коренной перелом тогда, когда группы разработки в крупных организациях будут чувствовать себя с Rails как в своей тарелке. С моей точки зрения, это значит иметь процедуру развертывания, которую так же легко поддерживать и контролировать, как и в случае с приложением .Net или J2EE».
Хайнемейера Хенссона спрос на платформу не волнует. Он разрабатывал Rails для себя и не стремится заработать на ней деньги. И если предприятия хотят использовать его платформу, то подстраиваться нужно им, а не ему.
«Мы не ставим перед собой цель изменить Ruby on Rails так, чтобы она подходила для корпоративного использования: мы предлагаем предприятиям самим адаптироваться к Ruby on Rails», — подчеркнул он.