Backbase on Rails. Part 1 – simple Hello World application.
Начиная с этого поста я постараюсь познакомить читателей блога с нюансами интеграции популярного AJAX-фреймворка BackBase и Ruby on Rails.
Первым делом подготовим скелетон нашего приложения
# rails backbase-on-rails
# cd backbase-on-rails/
Скачиваем Backbase Client Edition с оффсайта и копируем директорию web/backbase из архива в public/javascripts. Далее - подготовим layout нашего приложения
# cd app/views/layouts/
# touch main.html.erb
В файле main.html.erb прописываем namespaces и загрузчик для BackBase. Например так:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:b="http://www.backbase.com/2006/btl"
xmlns:e="http://www.backbase.com/2006/xel"
xmlns:c="http://www.backbase.com/2006/command"
xmlns:smil="http://www.w3.org/2005/SMIL21/">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<%= javascript_include_tag "backbase/4_3_1/engine/boot" %>
<title>Backbase on Rails</title>
</head>
<body>
<%= yield %>
</body>
</html>
Теперь нам необходимо создать контроллер и вьюшку для него.
# ruby script/generate controller HelloWorld hw
В принципе на данном этапе у нас нет необходимости что-то писать в контроллере, поэтому идем срузу во вьюшку, в которую добавляем следующий код
<script type="application/backbase+xml">
<xi:include href="/javascripts/backbase/4_3_1/bindings/config.xml" />
<div>
<e:handler event="click" type="text/javascript">
alert('Backbase says hello!');
</e:handler>
Click me
</div>
</script>
Давайте рассмотрим поподробнее что же такое мы добавили. Когда мы делаем какое-либо backbase-приложение мы должны все используемые элементы заключать в
<script type="application/backbase+xml">
</script>
Чтобы использовать Backbase Tag Library (BTL) необходимо подгружать config.xml с помощью директивы
<xi:include href="/javascripts/backbase/4_3_1/bindings/config.xml" />
Теперь, запустив наше приложение
# ruby script/server
и обратившись на http://localhost:3000/helloworld/hw мы можем увидеть наше первое приложение
Backbase and bundles for TextMate
Сегодня меня случайно занесло на сайт Backbase и я был приятно удивлен, что некогда платный ajax-фреймворк сделали условно бесплатным. Теперь любая компания может его использовать на двух серверах в продакшне бесплатно. Для тех, кто не знает что такое Backbase - это AJAX-фреймворк с богатыми возможностями и по набору компонентов близкий к Flex. Скачать фреймворк можно с офсайта, а специально для тех, кто работает на маке в TextMate - пара бандлов. Один из них для Backbase, а второй - для AS3/Flex.



