Microsoft поддерживает разработки на базе Asynchronous Ruby и XML

AJAX не мешает подвинуться — сегодня Microsoft продвигает иной сценарий под названием Asynchronous Ruby and XML, или ARAX.

Тридцатого мая на конференции RailsConf для разработчиков, использующих платформу Ruby on Rails, Джон Лэм, создатель проекта IronRuby в Microsoft, сообщил eWeek, что в связи с выпуском новой версии среды Microsoft Silverlight для построения обогащенных интернет-приложений (RIA) компания предоставит Ruby-программистам способ создания приложений в стиле AJAX (Asynchronous JavaScript and XML) без применения JavaScript.

“Когда вы работаете с языком Ruby, контекст зачастую вынуждает вас переключаться на JavaScript, — сказал Лэм. — Это как бы налог. Но при этом вы размениваете производительность приложений, поскольку это лишняя нагрузка на браузер. Куда лучше использовать один и тот же язык и на стороне клиента, и на стороне сервера, чтобы не прибегать к таким контекстным переключениям”.

Как пояснил Лэм, ARAX по существу избавляет Ruby-разработчиков от необходимости привлекать всякого рода искусственные вещи – например, утилиту RJS (Ruby JavaScript), чтобы при написании Ruby-кода она генерировала код JavaScript, который должен запускаться на клиенте: “Конечно, можно работать и обычным образом, но тогда не исключено, что в какой-то момент вы будете вынуждены дописывать код JavaScript, добавляющий ту или иную специальную функциональность на самом клиенте. Так или иначе, но разработчику приходится переключаться на другие среды, и чтобы написанное в Ruby полноценно заработало в браузере, не обойтись без JavaScript. Но с ARAX этого уже не будет”.

По словам Лэма, его сценарий исходит из общего согласия, что HTML и CSS (Cascading Style Sheets) представляют собой стандарты. “Это известные вещи, и людям понятны данные технологии, — подчеркнул он. — Важным моментом, по крайней мере для программистов на Rails, является желание, чтобы Ruby кое-что позволял делать и на стороне клиента. Хотя JavaScript уже не тот гадкий утенок, каким он был раньше, у него есть определенные причуды. Понятно, что и Ruby не без недостатков, но в целом его хвалят гораздо больше, чем JavaScript”.

И продолжил: “Если мы сумеем всё правильно сделать и широко внедрить Silverlight, то у всех заинтересованных в использовании ARAX появится много возможностей. Может возникнуть вопрос -- а надо ли связывать себя с этой технологией? Давайте тогда спросим, надо ли связывать себя с Flash. Согласитесь, что это глупый вопрос, ведь Flash используется уже повсюду. Со временем сценарий ARAX станет все более привлекательным. А расширение интереса к Silverlight будет способствовать распространению ARAX-разработок”.

А вот как высказался об ARAX сооснователь Ajaxian.com Бен Гелбрейт: “Если всё это нацелено на то, чтобы Silverlight стал хостом для клиентских браузерных сценариев в Ruby, то идея безусловно привлекательна, однако проблема связана с тем, что Silverlight — технология Microsoft. Поскольку репутацию Microsoft определяют Windows и Office, все эти кроссплатформенные игры несколько напоминают историю про мальчика, который увидел гремучую змею и та пообещала его не трогать. Но как только он решил поднять ее, она его тут же укусила, а в ответ на его протест заявила, что он прекрасно знал, кого берет в руки. Какие бы возможности ни были в Silverlight, большинство из сообщества разработчиков вряд ли мечтает связываться с архитектурами, где поддержка других ОС будет зависеть от благосклонности софтверного гиганта”.

Другой основатель Ajaxian.com, Дайан Олмер, дал следующую оценку: “Интересно отметить, что для работы Ruby в браузере, вообще говоря, можно использовать и JRuby... Да и IronRuby тоже замечательная вещь. И вообще лишние языки в браузере — дело хорошее”.

В блог-посте Троя Тафта, главного консультанта и основателя фирмы Troy Taft Consulting, занимающейся разработкой ПО, говорится: “Война Silverlight с RIA-плагинами для меня неожиданна. Я не думал, что у Ruby есть шансы заработать на клиенте. Если эти дела пойдут хорошо и в ближайшем будущем появится возможность писать клиентские приложения в Silverlight на Ruby, то ARAX обойдет в популярности AJAX”.

И хотя Тафт некогда называл себя “промоутером JavaScript”, он пишет: “Почему я думаю, что Ruby лучше, чем JavaScript? В основном потому, что Ruby более представителен в выражении объектов и имеет более ясный синтаксис, наглядно понятный разработчику. Его код очень хорошо читается, и с ним легко работать”.

На одном из заседаний конференции RailsConf Лэм продемонстрировал возможность использования IronRuby в виде кода Ruby on Rails. “Мы должны показать Rails-разработчикам, что они могут использовать и Silverlight, — заявил он. — И если вы хотите применить Ruby для HTML или задействовать ARAX на клиенте, то всё это можно”.

Лэм показал, что Microsoft с помощью IronRuby может осуществлять диспетчеризацию простых Rails-запросов: “Мы можем диспетчеризировать запросы статических страниц. Показав ряд динамических операций, мы продемонстрировали возможность их передачи на контроллер, отвечающий за визуальное отображение. Затем нами было показано, как использовать ActiveRecord для передачи на SQL Server и обратно -- типа возврата одной строки. Таким образом, мы можем перемещаться по путям Active Record. А значит, можем создавать базы данных и работать с ними, а вот обновлять их, удалять записи и т. п. — пока еще нет. Но со временем и это тоже будет. Мы продемонстрировали наши обязательства по строительству Ruby, где будут работать реальные Ruby-программы”.

По словам Лэма, он не рассчитывает, что Rails-разработчики повально схватятся за IronRuby: “Посмотрите в зал конференции Rails — почти у каждого Mac. Очень многие разработчики привязаны к Unix-корням. И от этого никуда не денешься. Приезжая сюда и показывая IronRuby с Rails, мы не питали иллюзий, что люди тут же побегут на наш зов. Мы только хотели показать нечто новое, непривычное. Мы предлагаем возможность использовать Ruby в браузере на кросс платформенной основе с очень малой нагрузкой на входящий канал”.

И поддержка со стороны IronRuby платформы разработок Ruby on Rails будет только улучшаться, так как этому, по словам Лэма, будет уделяться всё больше времени. По его мнению, в плане такой поддержки IronRuby уже продвинулся дальше, чем когда-то за сравнимое время продвинулись проекты JRuby или Rubinius.

Создатель Ruby on Rails Дэвид Хайнемайер Ханссон выразил одобрение по поводу работ в области IronRuby: “Замечательно, что Microsoft совершила прогресс с IronRuby. Аналогично тому, как JRuby пролагает легкий путь к Ruby людям, привыкшим работать с Java-инфраструктурой и Java-программами, IronRuby помогает тем, кто еще остается в сфере влияния Microsoft”.

“Но, как и в случае JRuby, я не думаю, то многие Ruby-программисты, не связанные в настоящее время с Microsoft, перекинутся на IronRuby”, — подчеркнул он.