2010-04-13 3 views
13

XulRunner/Gecko, похоже, действительно интересен для разработки приложений, интенсивно использующих GUI (с использованием широко используемых технологий, таких как HTML/CSS/SVG/XUL/Javascript). Но подкладка C++ APIS (XPCOM, NECKO, ...) выглядит настолько старой и сложной. Более того, общий недостаток инструментов документации/разработки действительно пугает.XULRUNNER подходит как замена для других настольных приложений C++, таких как QT?

С другой стороны, QT имеет неплохую платформу и хорошо документирован и поддерживается. Часть пользовательского интерфейса действительно «традиционная».

Каковы ваши впечатления от XULRUNNER, особенно по сравнению с другими платформами настольных приложений C++, такими как QT/GTK/MFC ...? Чего не хватает? Что удивительно?

Вопрос: Если бы я захотел перенести существующее приложение MFC в платформу для настольных приложений с платформой C++, было бы разумным использовать XULRUNNER вместо QT или GTK?

+0

Примите предупредительные знаки: XulRunner ведет в тупик. Повернитесь теперь, прежде чем вы слишком сильно инвестируете. Раньше я разработал надстройку Firefox в XUL, и давайте просто скажем, что я больше не хочу этого делать. – 10basetom

+0

@ 10basetom, спасибо за этот важный комментарий. Я задал этот вопрос 6 лет назад, и в то время было еще что-то рассмотреть. Сегодня ясно, что это тупик! –

ответ

6

На самом деле не так много приложений, построенных с использованием XulRunner, насколько мне известно. И я должен знать, поскольку я был Tech Lead для одного из них, и мы попытались нанять опытных людей. Оглядываясь назад, это меня не удивляет. Наше решение использовать XulRunner было сделано не разработчиком, по моему совету. Многие вещи занимали в два раза больше времени, которое они использовали бы в wxWidgets, которые мы использовали раньше. Теперь я также использовал Qt в других проектах, и я должен сказать, что это даже лучше, чем wxWidgets. Поэтому я могу с уверенностью утверждать, что Qt будет более чем в два раза эффективнее XulRunner, и, кроме того, у вас будет легче найти опытных разработчиков.

Конечно, Javascript в XulRunner приятно. Но Qt также поставляется с QtScript, который обертывает JavaScriptCore. И когда дело доходит до создания действительно богатых пользовательских интерфейсов - то есть больше, чем просто стопки изображений - тогда HTML + SVG + CSS + JS просто не сокращает его. Они были разработаны, чтобы упростить простые вещи, а не создавать сложные вещи. Просто посмотрите на новейшую функцию, видео. Решение HTML5: тег, и пусть некоторые C++-коды за кулисами делают настоящую работу. Хотя видео - это просто большой стек изображений, показанных по одному за раз.

Итак, проблема не в том, что есть недостающие вещи. Просто развитие медленное, и результат медленный.

На удивительной стороне механизм плагина работает очень хорошо.

Теперь это применимо, если вы начинаете с нуля. Если у вас уже есть много кода MFC/C++, придерживайтесь C++ и отбрасывайте только часть MFC. Это означает, что Qt или, возможно, wxWidgets являются очевидными победителями.

2

Я не думаю, что вы действительно хотите написать XUL-код на C++. Цель API XPCOM и т. Д. Заключается в том, что вы можете взаимодействовать с существующими библиотеками C, или если вам нужно писать специфичные для платформы вещи, которые требуют вызова API за пределами механизма javascript.

Если вы хотите написать кросс-платформенное графическое приложение в javascript, это может быть то, что вы ищете.

1

Я не был в этой команде, но настольное приложение joost использовало XULRUNNER для пользовательского интерфейса. Хотя это вариант, я лично не тронул бы его палкой для кросс-платформенных графических интерфейсов. На самом деле мой опыт показывает, что наличие одного кросс-платформенного приложения всегда будет подпарам.

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

6

Честно говоря, я просто не согласен Есть не так много XULRunner приложений там ... есть грузы, это лишь некоторые из них Mozilla знает:

https://developer.mozilla.org/en/xulrunner_hall_of_fame

developer.mozilla.org/en/List_of_Mozilla-Based_Applications

Это, конечно же, не включает Firefox и Thunderbird!

Наш собственный перечислен там www.redbacksystems.com/liaison/

Я развивается в этой платформе, так как около 2003 года, и я люблю его, учитывая выбор, я никогда бы не программа в любой другой платформе, в настоящее время.

Почему бы вам не захотеть писать в QT или GTK, если вы можете писать в простых стандартах JavaScript/ECMA, включая E4X, с исключительной поддержкой CSS и XML, включая XBL (хотя и 1.0), RDF, XML Templating, remote обновления, расширения плагинов и расширений и т. д. и т. д. и даже не запускать меня на основе геоданных или встроенной поддержки SQL.

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

Для меня инструментарий Mozilla является платформой выбора бара none.

BTW, как я понимаю, у Joost были особые проблемы, поскольку они писали/реализовывали свои собственные видеорекламы и пытались также использовать DRM-контент.

+0

Что вы собираетесь делать теперь, когда Mozilla сбросила Xulrunner и осуждает XUL/XPCOM? – Wyatt8740

0

Попробовал ли это?

XUL просмотра http://code.google.com/p/xulwin/

это довольно удивительный проект. чистый код, несколько зависимостей (только poco-basic и boost)

Woot!

 Смежные вопросы

  • Нет связанных вопросов^_^