.NET / ASP.NET приложение с богатым web-интерфейсом на qooxdoo? Легко!

в 4:23, , рубрики: ASP.NET, qooxdoo, web-разработка, метки: , ,

На просторах Интернета есть очень хороший Javascript фреймворк под названием qooxdoo. Наверное, многие знают о нем и видели его в действии. А если кто не знает, это фреймворк с большим количеством классов, в том числе отвечающих за UI. Подробности можно почитать и посмотреть там. Хорош он всем, но при разработке ASP.NET приложений его использовать крайне сложно. Так было раньше. Теперь я рад поделиться новостью: появился новый проект, который позволяет просто и быстро создавать ASP.NET приложения с пользовательским интерфейсом на qooxdoo, при этом писать на javascript совсем не придется. Проект называется qxdotnet и распространяется под лицензией LGPL.

Главная идея проекта заключается в том, чтобы создать классы-обвертки на C# для всех основных классов qooxdoo, отвечающих за пользовательский интерфейс. Экземпляры этих классов-обверток генерирую javascript-код, который создает аналогичные объекты в браузере. Сообщения о событиях (нажатие на кнопку, ввод данных в текстовое поле) передаются на сервер через AJAX.

Иными словами, Вы просто создаете ASP.NET приложение, пишите на C# примерно следующий код:

btn = new qxDotNet.UI.Form.Button(); btn.Label = "push me"; root.Add(btn); 

Далее запускаете приложение и видите свою кнопочку в браузере. Набор свойств и методов класса qxDotNet.UI.Form.Button почти такой же, как у javascript-ового класса qx.ui.form.Button. При нажатии на кнопку на сервер передается сообщение и вызывается соответствующее событие.

Исходники и пример можно скачать тут. Для компиляции потребуется MS Visual Studio 2008. Можно использовать VS 2010, но потребуется конвертировать файлы решения.

Проект qxdotnet реализован как приложение для qooxdoo, поэтому для компиляции такого приложения (как и любого другого приложения для qooxdoo) потребуется исполнить ряд скриптов, написанных на Python-е. Для выполнения этих скриптов нужно, чтобы в системе был установлен ActivePython. Скачать можно тут. Вызов Python-а производится самой VS во время компиляции решения.

Ну и третье, что потребуется для компиляции проекта, это qooxdoo 1.6 SDK. Его нужно скачать отсюда и распаковать в папку рядом с файлом решения. Т.е. в итоге должно получиться в одной папке следующие папки и файлы: DemoApplication, qooxdoo-1.6-sdk, source, qxDotNet.sln…

Далее можно открыть файл решения qxDotNet.sln в VS, установить в качестве начального проект DemoApplication и запустить его. Код главной формы демо-приложения можно посмотреть в файле MainForm.cs.

В заключении стоит отметить, что, хотя проект находится на стадии Alpha, почти все элементы пользовательского интерфейса уже работают. Есть на что посмотреть и попробовать в действии.

Автор: zabolotnev

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js