Qooxdoo 6.0 - фреймворк JavaScript для людей, которые любят программировать

Написание полного веб-приложения на JavaScript, даже не касаясь HTML или CSS, с использованием объектной ориентации на основе классов, выходящей далеко за рамки того, что может предложить даже ES7, и при этом писать чистый JavaScript. Звучит фантастически? Просто подожди! Мы также добавляем компилятор для оптимизации вашего кода, среду тестирования, превосходную тематику, богатый набор виджетов и полную поддержку многоязычных приложений. Все это поставляется в виде простого в установке пакета npm с лицензией MIT.

Позже в этой истории мы покажем вам, как быстро запустить и запустить ваше первое приложение Qooxdoo. Итак, прежде чем продолжить чтение, давайте приступим к установке компилятора Qooxdoo.

$ mkdir myqxapp
$ cd myqxapp
$ npm init
$ npm install --save-dev @qooxdoo/compiler

Но давайте начнем с самого начала

Более 15 лет назад некоторые дальновидные разработчики из немецкого ISP 1 & 1 создали фреймворк JavaScript для написания полностраничных веб-приложений. Это было время расцвета Internet Explorer 6, когда веб-разработчики приходили в упадок из-за всего того, что они не могли делать, потому что их страницы также должны были поддерживать этот веб-браузер.

Новый фреймворк Qooxdoo делал невероятные вещи: он позволял писать красивые веб-приложения, которые по удобству использования могли соперничать с настольными приложениями. Название новой структуры было выбрано «Qooxdoo», потому что на немецком языке фраза «Kuckst du!» примерно переводится как «Осторожно, иначе глаза могут выскочить от удивления!»

Qooxdoo выглядел красиво не только снаружи, но и внутри. Вся структура была чрезвычайно хорошо спроектирована, копируя многие передовые концепции программирования из библиотеки Qt GUI, а также из Java, чтобы обеспечить оптимальную среду для написания больших промышленных веб-приложений.

Лучшее в Qooxdoo для мира открытого исходного кода было то, что 1 & 1 опубликовала фреймворк под лицензией с открытым исходным кодом и сделала его доступным бесплатно. К сожалению, несмотря на свои замечательные возможности, новый фреймворк не покорил мир. Вероятно, это было связано с тем, что написание веб-приложения на чистом JavaScript не выглядело очень привлекательным для среднего веб-разработчика, который больше интересовался HTML и CSS и принимал JavaScript только как необходимое зло, а не видел его красоту.

После выпуска Qooxdoo 5.0 в 2015 году интерес к технологии начал угасать в компании 1 & 1, и компания решила передать проект Qooxdoo Association, группе заинтересованных профессиональных разработчиков программного обеспечения, которые использовали Qooxdoo в своих собственных приложениях. очень заинтересован в постоянном развитии и доступности технологии.

Ассоциация Qooxdoo в действии

Первое крупное дополнение к Qooxdoo после 1 & 1 было сделано Джоном Спакманом, который пожертвовал совершенно новый сверхбыстрый компилятор Qooxdoo, работающий на node.js. С годами компилятор был усовершенствован и, наконец, стал инструментом qx, который сегодня лежит в основе Qooxdoo 6.

Если вы выполнили команду npm выше в этой статье, теперь у вас должна быть копия компилятора Qooxdoo, установленная в вашей папке qxmyapp. Вы всего в нескольких секундах от своего первого приложения Qooxdoo.

$ cd ~/qxmyapp
$ npx qx create myapp --type desktop --noninteractive --out=.
$ npx qx serve

Инструмент qx также позволяет добавлять в приложение дополнительные пакеты, обеспечивая дополнительную функциональность. Обозреватель пакетов показывает, какие пакеты доступны.

Также имеется обширная документация, интерактивный просмотрщик API, демонстрационный браузер и браузер виджетов, показывающий различные виджеты в действии. Если вы хотите попробовать свои силы в небольшом кодировании, есть даже игровая площадка, позволяющая повозиться с Qooxdoo прямо в вашем браузере.

Что нового в Qooxdoo 6.0.0

Если вы ранее сталкивались с Qooxdoo, вы могли бы задаться вопросом, что на самом деле изменилось во фреймворке с момента выпуска версии 5.

Сначала хорошие новости. Все разработчики Qooxdoo запускают собственные большие приложения с помощью Qooxdoo и поэтому очень осторожны, чтобы не повредить свои собственные приложения изменениями в структуре. Большинство приложений, написанных для Qooxdoo 5, будут работать без изменений на Qooxdoo 6. Краткий список несовместимых изменений см. В примечаниях к выпуску.

Хотя Qooxdoo 6 по-прежнему работает с классическим генератором Qooxdoo, мы настоятельно рекомендуем вам воспользоваться возможностью переключиться на новый компилятор Qooxdoo, поскольку предстоящий Qooxdoo 7 больше не будет поддерживать старый генератор.

Новый компилятор не только работает намного быстрее, но и позволяет использовать все последние расширения языка JavaScript. Еще лучше, благодаря встроенной поддержке Babel, компилятор может компилировать ваш современный JavaScript для работы в старых браузерах, которые, например, не поддерживают ES6.

Вот неполный список всего нового, что появилось в Qooxdoo с момента выпуска Qooxdoo 5:

  • Все Qooxdoo теперь поставляется с лицензией MIT.
  • Система пакетов Qooxdoo на основе GitHub, позволяющая каждому предоставить свои собственные пакеты расширений Qooxdoo, просто пометив свои репозитории GitHub соответствующими тегами.
  • Значительно упрощенное управление памятью с использованием лучших возможностей современных движков JavaScript по сбору мусора.
  • Новая официальная тема Qooxdoo под названием Tangible, основанная на рекомендациях Google по дизайну материалов.
  • Новый механизм тестирования командной строки под названием TestTAPper, который может запускать ваш набор тестов с помощью Playwrite, идеально подходит для добавления автоматического тестирования вашего приложения Qooxdoo в процесс CI / CD.
  • Лучшая поддержка веб-шрифтов и значков шрифтов.
  • Поддержка обещаний и нового ключевого слова async в ES6.
  • Механизм ID, позволяющий идентифицировать элементы DOM при использовании внешних инструментов для внешнего тестирования E2E.
  • Множество новых пакетов расширений с дополнительными виджетами и темами.

Хотя Qooxdoo 6.0.0 - очень новый выпуск, он стабилен, потому что основные разработчики, а также многие другие использовали master ветвь фреймворка в течение последних 6 лет в своих производственных приложениях.

Весь код доступен на GitHub, где мы опубликовали политику и правила участия, и мы активно призываем всех отправлять запросы на извлечение, чтобы внести свой вклад в проект. Мы общаемся в Gitter и отвечаем на вопросы в StackOverflow. Посетите наш новый веб-сайт с нашим портфолио реальных примеров и ссылками на живые приложения Qooxdoo и документацию.

А у нас захватывающие планы на будущее!

[1] В этих инструкциях предполагается, что в вашей учетной записи уже есть запущенный узел. В противном случае обратите внимание на NVM, который представляет собой очень удобный способ установки и управления установками Node.js.