URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 63432
[ Назад ]

Исходное сообщение
"Тестирование поддержки QML в среде разработки Qt Creator"

Отправлено opennews , 31-Янв-10 23:24 
Разработчики Qt представили (http://labs.trolltech.com/blogs/2010/01/27/upcoming-qtcreato.../) тестовую версию системы визуального проектирования интерфейса, базирующуюся на использовании языка QML (http://qt.nokia.com/doc/qml-snapshot/qmlintroduction.html). В качестве языка для создания сценариев в QML используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками, представляющими собой определение JavaScript-объектов. QML-компоненты могут быть не только интегрированы в состав проектов на языке C++, но и работать в виде обособленных графических приложений, логика функционирования которых задана целиком на языке JavaScript.


Поддержка визуального QML-дизайнера, QML-отладчика, а также интеграция работы с QML-кодом (подсветка синтаксиса, интерактивная подсказка, автодополнение кода и т.п.) будет добавлена в будущий релиз интегрированной среды разработки QtCreator, тестовую версию которого уже можно загрузить (http...

URL: http://labs.trolltech.com/blogs/2010/01/27/upcoming-qtcreato.../
Новость: http://www.opennet.me/opennews/art.shtml?num=25232


Содержание

Сообщения в этом обсуждении
"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено anatolb , 31-Янв-10 23:24 
Среда с виду похожа на Adobe Flash, но лучше. Qt-ники молодцы

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено croster , 31-Янв-10 23:39 
>В качестве языка для создания сценариев в QML используется JavaScript
>логика функционирования которых задана целиком на языке JavaScript

Интересно, а какова производительность таких приложений по сравнению с C++?


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 00:24 
>>В качестве языка для создания сценариев в QML используется JavaScript
>>логика функционирования которых задана целиком на языке JavaScript
>
>Интересно, а какова производительность таких приложений по сравнению с C++?

Я думаю, что все печально.
Но буду рад взглянуть на графики от фороникса =)


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено azure , 01-Фев-10 08:44 
Производительность _приложений_ чем меряется то? Скоростью обработки пользовательский действий (клик по кнопке, открытие диалога, вывод предупреждений етц)? Люди вроде как и не жалуются на производительсть веб-интерфейсов, обычно не хватает скорости загрузки\отправки данных или обработки данных на стороне сервера\клиента, но уж никак не взаимодействие с интерфейсом.

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено zhus , 01-Фев-10 00:01 
Я правильно понимаю, что из JavaScript будет доступ к c++ объектам|библиотекам?

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено nickelodeon , 01-Фев-10 00:42 
Доступ будет к объектам, наследованным от QObject, т.е. снабженными макросом Q_OBJECT, а доступны будут только поля и методы, описанные как properties с помощью спец макросов. Но т.к. практически вся Qt имеет необходимые описания, то ответ: да, с жабасрипта можно будет заюзать С++ классы. Свои классы нужно будет описать (см. выше), чтоб их "видел" ЖаваСкрипт.
Поправьте меня, если напутал.

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 00:23 
JavaScript, CSS...
Вы купили новый Core Quadro и не знаете, чем его загрузить?
Не волнуйтесь, мы вам поможем...

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено LestorN , 01-Фев-10 07:36 
Чушь. На стареньком Qtek S110 под WinMobile летает!

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено аноним , 01-Фев-10 08:11 
видите ли, LestorN, на мобильных поатформах другие требования и другой способ использования интерфейсов.
пользователь можен запустить приложение и через пару секунд оно появится на экране. пара секунд - это не много, это привычно на мобильных платформах. однако, выполняя то же приложение на десктопе, пользователь поразится, насколько медленнее отрисовывается форма размером семьсот на пятьсот, будет раздосадован высокой загрузкой процессора при изменении размера окна и обнаружит скудную функциональность элементов управления.

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 17:01 
>Чушь. На стареньком Qtek S110 под WinMobile летает!

Вы знаете, у меня телефон почти как у вас, T-mobile MDA Compact (аналог Qtek s100).
Операционная система у меня, и у вас - MS Pocket PC 2003 SE.
Так вот, эти модели обладают одним из самых быстрых процессоров на момент выпуска (2005 год) - 416 Мгц.
Поэтому неудивительно, что Pocket PC 2003 года не тормозит (и даже летает) на очень быстром компьютере 2005 года.
Но даже с такой ситуацией я иногда замечал, что телефон не сразу реагирует на звонок.
Например, звонок может появиться через несколько секунд, а картинка звонка - ещё через несколько.
И это даже тогда, когда с телефоном ничего не делаешь.
Я предполагаю, что там очень неэффективные алгоритмы сортировки контактов и смсок.
Редкатор контактов (фотоконтакты) список из 100-150 контактов формирует 10-15 секунд.
Плюс, весьма весело хранятся смски - одна смска в одном файле.
Поэтому, когда набирается несколько тысяч смс, то он их загружает очень медленно.
А удаляет их минут 20.
Но слава богу, что MS не стала использовать интерпретируемые языки в мобильных ОС)

А если честно, не понятно, что вы назвали чушью.
Я говорил про тенденции использовать JavaScript на рабочем столе.
Вы говорите про мобильную ОС, которая написана на С/С++.
Поясните?

P.S.
Кстати, вы можете перепрошить телефон и поставить туда одну из последних WinMobile (5/6/6.1).


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено LestorN , 01-Фев-10 20:29 
У меня какраз перепрошитый прошивкой от Cotulla. Специально понижал скорость процессора до минимума 104 МГц. Перегружал чтобы вычистилась память. Создавал ListView с простым делегатом (текст по центру и рамка со скруглённым  краями) и заполнял из того же JS 1000 записями. Время старта при уменьшении скорости увеличивалось, но скорость прокрутки на глаз не изменялась. На том же аппарате мне приходлось сталкиваться с тремя программами для удалённого сбора заказов торговых агентов. Две из них на C#, одна на C++ и wxWidgets. Могу сказать только одно: скорость именно интерфейса этих творений была просто ужасающей. QML дал им огромную фору. Я неплохо разбираюсь в кишках Qt и могу сказать без фанатизма - тролли создают действительно быстрые и красивые вещи, которыми приятно пользоваться. Ну и не забываем про скорость разработки и, что иногда не менее, а то и более важно, скорость прототипирования.

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 23:10 
Вот это уже хороший и развернутый ответ.
Да, согласен, повелся на слово "JavaScript".
Забыл, что графика там рисуется с помощью Qt)

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено Антон , 01-Фев-10 08:49 
>JavaScript, CSS...
>Вы купили новый Core Quadro и не знаете, чем его загрузить?

Меня поражает упертость в области построения интерфейсов. В web все летает на динамических языках, обслуживая сотни одновременных коннектов на одной машине, смеются над теми, кто начинает _все_ переписывать на Си, а не только критические участки.  В области создания  пользовательского интерфейса выполняемые задачи очень похожи, даже проще, но отношения к динамическим языкам противоположное.

Будущее за динамическими языками, а если вам не сказать, что программа на Python или JavaScript, то вы даже этого не заметите. Все библиотеки отрисовки остаются на Си/Си++, наиболее критические вычислительные части логики работы программы тоже без проблем на Си/Си++ можно переписать, но использовать Си для обработки событий - это уж точно из пушки по воробьям.


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 17:28 
>>JavaScript, CSS...
>>Вы купили новый Core Quadro и не знаете, чем его загрузить?
>
>Меня поражает упертость в области построения интерфейсов. В web все летает на
>динамических языках, обслуживая сотни одновременных коннектов на одной машине, смеются над
>теми, кто начинает _все_ переписывать на Си, а не только критические
>участки.

Извините, но вы кажется про web сервер.
Я согласен, что переписывать на Си в большинстве случаев не рационально.
И даже объясню почему (мое видение).
Создание web странички - это, большей частью, генерация и обработка текста.
Писать генератор/обработчик текста на Си - удовольствие ещё то.
Нужно часто и много резервировать память под текстовые переменные неизвестной длинны.
Много времени будет уходить на код, относящийся к этому делу.
Ну и плюс, если частенько изменять код, то постоянно перекомпилировать программу - ещё одна потеря времени на перекомпиляцию.
Если веб проект большой, потери времени растут.

perl в своей время явился неплохой панацеей от этого.
php, python, ruby и прочие - тоже.
Там удобно работать с большим количеством строк текста неизвестной заранее величины.

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

Так вот.
Сервер != десктоп.
JS != perl, python, ...
JS загружает не сервер, он загружает десктоп.
И до недавнего времени он тормозил на десктопе.
Потом вышел google chrome, потом подтянулись другие браузеры.
И до сих пор что-то там оптимизмруют.
Но...
Вы когда-нибудь пользовались google mail?
Ну или любым другим проектом, где очень активно используется JS.
Могу сказать, что в google mail задержка есть.
Где-то, чуть менее секунды.
Сразу скажу, что пинг до mail.google.com лично у меня 50-60 мс.
Но до сих пор есть задержка.
Мы к ней инстинктивно привыкаем в вебе, но если попробовать работать с веб приложениями, как с рабочем столом, то она сразу видна.

Грубо говоря, JS - тормоз ещё тот.
И мне бы не хотелось пользоваться программами на этом языке у себя на десктопе.
К слову сказать, я уже знаю, как мне не пользоваться им у себя.
В gentoo это делается легко.
Указать "-javascript", где надо и все)
А остальные будут смотреть на тормоза и думать "что такое? почему мой core quadro тормозит?".

> В области создания  пользовательского интерфейса выполняемые задачи очень
>похожи, даже проще, но отношения к динамическим языкам противоположное.
>
>Будущее за динамическими языками, а если вам не сказать, что программа на
>Python или JavaScript, то вы даже этого не заметите.

На своем ноутбуке с gentoo я замечаю.
У меня на десктопе висит график загрузки процессора, и очень часто висит консоль с "top".
А ещё я люблю ставить процессор в режим экономии энергии (по 800 Мгц на ядро).
Именно из-за этого я поразился тому, как много программ в gnome сейчас написаны на python.
И, да, тормозит даже построение и сортировка дерева зависимостей.
Хотя могу предположить, что там сначала скрипт открывает кучу мелких файлов портежей и читает информацию о зависимостях.
И только потом строит дерево зависимостей.

P.S.
Если кому интересно, сначала unix был написан на ассемблере.
Потом его переписали на Си.
Потеря производительности составила 15%.


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено аноним , 01-Фев-10 17:33 
>если вам не сказать, что программа на Python или JavaScript, то вы даже этого не заметите

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


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено Чорная дипрессия 666 , 01-Фев-10 10:37 
Нет, я купил ПЭВМ "Электроника" чтобы писать GUI на ассемблере, спасть мир от богомерзких динамических языков.

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено XoRe , 01-Фев-10 17:32 
>Нет, я купил ПЭВМ "Электроника" чтобы писать GUI на ассемблере, спасть мир
>от богомерзких динамических языков.

К слову сказать, в Windows программы пишутся на компилируемых языках)
Ну, не все конечно.
Но большинство.


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено netc , 01-Фев-10 09:24 
согласен!

только где-ж такое чудо взять - то не подскажите ?


"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено mamantoha , 02-Фев-10 01:01 
Не плохо. Свою нишу оно найдет.
Вот пример реализации небольшого клиент vkontakte на QML
http://habrahabr.ru/blogs/qt_software/82665/

"Тестирование поддержки QML в среде разработки Qt Creator"
Отправлено Аноним , 03-Мрт-10 11:56 
объект управлдения - это:
1. производственный коллектив;
2. аппарат управления;
3. деятельность руководителя;
4. организация рабочего места?