Qooxdoo оказался действительно тем, что я давно искал и я потратил всю ночь, чтобы поиграться с ним. На официальном сайте есть исчерпывающая документация по всему фреймворку. Демонстрационное приложение создано очень удобно и вместе с результатом показывает и исходный код демки.qooxdoo is a comprehensive and innovative Ajax application framework. Leveraging object-oriented JavaScript allows developers to build impressive cross-browser applications. No HTML, CSS nor DOM knowledge is needed.
It includes a platform-independent development tool chain, a state-of-the-art GUI toolkit and an advanced client-server communication layer. It is open source under an LGPL/EPL dual license.
Но почему же мне все так понравилось?
Несмотря на то, что Qooxdoo относится к "тяжеловесным" фреймворкам, грузится он очень даже быстро, а в работе не пожирает ресурсы процессора в отличие от некоторых его конкурентов.
Упс... Заикнулся про конкурентов. Надо бы и про них немного рассказать, итак:
- TIBCO General Interface - сейчас наверное самый нашумевший из "тяжеловесов". Довольно много с ним работал, месяца 3. Вообще понравился, но очень уж "тяжелый" и многие его возможности мне просто не нужны.
- Bindows - взглянул, с первого раза впечатления как от Tibco. Красиво, тяжело, запутанно.
- Dojo - о нем знают все. Но это скорее AJAX-фремворк для использования в структуре обычного сайта. Где-то прилепил эффект, где-то окно, где-то получил данные из базы. Это нельзя назвать GUI-фреймворком как остыльных в этом списке, однако и лишить Dojo упоминания тоже как-то нельзя. Имеено по причине его "не совсем GUI-фреймворк" я искал что-то другое.
- Jx - люблю! =) молодой фреймворк построенный на базе Mootools. Легковесный, как и все, что связано с Mootools. Хороший конструктор для хороших мозгов. Еще очень молодой, но очень приятный и быстрый. Рекомендую всем.
- Backbase AJAX Framework - достойный конкурент Qooxdoo. Мне понравился. Идея описывать весь GUI и events в XML очень хорошая. Однозначно! Для ознакомления - всем.
- JackBe Presto Framework - что-то ооооочень тяжелое, но выглядит красиво. Заморачиваться не стал, так как при виде демо сразу испугался =).
Вот пример создания обычной кнопки с изображением рядом с текстом:
// Создаем кнопку
var button1 = new qx.ui.form.Button("Моя кнопка", "images/myicon.png");
// Создаем контейнер в котором будет находиться кнопка, в данном случае само тело страницы (объект document)
var doc = this.getRoot();
// Помещаем кнопку в контейнер с фиксированными координатами
doc.add(button1, {
left : 100,
top : 50
});
// Добавим обработчик события
button1.addListener("execute", function(e) {
alert("Привет!");
});
Все элементарно и очень удобно.
А вот пример как сделать RPC (Remote Procedure Call):
var rpc = new qx.io.remote.Rpc(
"http://localhost:8080/qooxdoo/.qxrpc",
"qooxdoo.test"
);
// синхронный вызов
try {
var result = rpc.callSync("echo", "Test");
alert("Результат вызова: " + result);
} catch (exc) {
alert("Исключение во время вызова: " + exc);
}
// ассинхронный вызов
var handler = function(result, exc) {
if (exc == null) {
alert("Результат вызова: " + result);
} else {
alert("Исключение во время вызова: " + exc);
}
};
rpc.callAsync(handler, "echo", "Test");
Ну на этом закончу. Цели рассказать подробно я не ставил, хотел лишь сказать, что мне очень понравился Qooxdoo и порекомендовать всем если не использовать, то хотябы ознакомиться с этим творением.
Опять же не стоит забывать о том, что всему свое место и время. Использовать Qooxdoo для создания обычного сайта или для создания сайта с элементами AJAX глупо. Qooxdoo предназначен для создания именно веб-приложений и если вам требуется просто делать XMLHttpRequest или добавить эффекты и анимацию на сайт, то рекомендую использовать компиляцию Mootools с набором необходимых классов, а не таскать за страницами "тяжеловесный" фреймворк типа Qooxdoo или TIBCO General Interface.
Благодарю, Сударь. Это не по мне. Удачных начинаний и продолжений. Я пас.
ОтветитьУдалитьData Visualization Software
ОтветитьУдалитьSQIAR (http://www.sqiar.com/solutions/technology/tableau) is a leading Business intelligence Company.Using Tableau,SQIAR rapidly transform your sea of uncorrelated data into meaningful interactive and actionable visual insights.