Showing posts sorted by relevance for query aptana. Sort by date Show all posts
Showing posts sorted by relevance for query aptana. Sort by date Show all posts

Thursday, August 28, 2008

Aptana Jaxer

Мы описывали ранее Open Source Ajax сервер - Jaxer. А вот и руководство от IBM по практическому программированию Jaxer. Вот модель, предлагаемая Jaxer:



Соответственно, код на сервере и клиенте может быть один и тот же код (JavaScript):

<script type="text/javascript" runat="both">
/*
* Easy access to a named element in the DOM
*/
function $(id)
{
return document.getElementById(id);
}

/*
*
*/
function addTaskToUI(description, id)
{
var newId = id || Math.ceil(1000000000 * Math.random());
var div = document.createElement("div");
div.id = "task_" + newId;
div.className = "task";

var checkbox = document.createElement("input");
checkbox.setAttribute("type", "checkbox");
checkbox.setAttribute("title", "done");
checkbox.setAttribute("id", "checkbox_" + newId);
Jaxer.setEvent(checkbox, "onclick", "completeTask(" + newId + ")");
div.appendChild(checkbox);

var input = document.createElement("input");
input.setAttribute("type", "text");
input.setAttribute("size", "60");
input.setAttribute("title", "description");
input.setAttribute("id", "input_" + newId);
input.value = description;
Jaxer.setEvent(input, "onchange",
"saveTaskInDB(" + newId + ", this.value)");

div.appendChild(input);

$("tasks").insertBefore(div, $("tasks").firstChild);

if (!Jaxer.isOnServer)
{
saveTaskInDB(newId, description);
}
}
</script>

в одной части добавляется новый элемент (элементы) для ввода, в другой - еще и сохраняется в базе. А значение атрибута runat как раз и определяет, где исполнять код.

Работа с базой данных выглядит примерно так:

<script type="text/javascript" runat="server">

/*
* The SQL to create the database table we'll use to store the tasks
*/
var sql = "CREATE TABLE IF NOT EXISTS tasks " +
"( id INTEGER NOT NULL" +
", description VARCHAR(255)" +
", created DATETIME NOT NULL" +
")";

// Execute the sql statement against the default Jaxer database
Jaxer.DB.execute(sql);
</script>

Thursday, January 24, 2008

Тотальный JavaScript

Компания Aptana выпустила open source Ajax сервер
Jaxer. Идея - унифицировать программирование серверной и клентской части веб-приложений. Теперь это JavaScript там и там. Когда давно был такой серверный JavaScript у компании Netscape. Теперь вот второе пришествие. Один и тот же JavaScript код по выбору разработчика может исполняться либо на сервере, либо на стороне клиента.

По крайней мере, один плюс (и именно для Ajax приложений) точно есть. Пропадают проблемы с Cross-Domain Ajax запросами. Запрос (Ajax запрос!) к стороннему сервису можно просто перенести (как есть) на сторону сервера.
Но какова будет производительность подобных систем и как они масштабируются - это большой вопрос. У Netscape, например, все было очень медленно.

Технически - это приложение для Apache. Собственно загрузочный пакет на сайте и есть Apache с дополнительными модулями. Лицензия на Jaxer - GPL.

P.S. у этой фирмы еще очень интересный руководитель. Paul Colton - с него, по сути, началось серверное программирование на Java. Он сделал первый коммерческий (промышленный) контейнер для Java сервлетов (JRun), потом это было куплено Allaire (создатель Сoldfusion) и отсюда пошли современные версии Coldfusion, которые базируются на JEE серверах. А уже потом всех купил Adobe :-)

Thursday, January 15, 2009

Nokia JavaScript

Веб-девелопмент становится базовым средством разработки для мобильных телефонов. Пока - Nokia с платформой S60, но это только начало. Nokia WRT (Web Runtime) представляет собой встраиваемый WebKit, на котором и выполняются JavaScript widgets. И для этих JavaScript приложений обеспечивается полный доступ к исходной платформе, также как и для приложений, которые писались бы непосредственно на C для Symbian. И, соответственно, Ajax теперь нормальный подход к построению мобильных приложений.
Aptana уже выпустила соответствующий плагин.

P.S. Кстати, средства разработки для нового Palm Pre - это также веб-стек.