Qt альтернатива?
Недавно я узнал, что будущее Qt стало неопределенным, поскольку Nokia, нынешний владелец, объявила, что официально они не заинтересованы в настольных Qt.
Я знаю, что Qt может выжить несколькими различными событиями, но поскольку я беспокоюсь о том, чтобы изучить гибкую структуру с точки зрения поддержки ОС, и поэтому я хотел бы изучить другую платформу приложений с множеством платформ, как Qt.
Он должен быть кросс-платформенным и содержать много классов, таких как Qt для разработки, а также сплошную графическую библиотеку. Я бы хотел, чтобы он был очень стабильным и хорошо поддерживался ОС и IDE
WxWidgets смоделировал его слишком много на win32 и очень не интуитивно понятен, а макет окна очень устойчив
Модели Gtkmm очень похожи на обертку, как есть, на Gtk, а документация по ней - это то, что не существует. В нем также мало классов приложений, поэтому мне придется искать другие библиотеки кросс-платформенной. Реализация сигнальных слотов не соответствует простоте и простоте поддержки потоков Qt и Qt.
Мой единственный страх заключается в том, что если ни одна компания или массовое сообщество не подберут Qt, она будет медленно потерять совместимость с окнами, новыми ядрами Linux, выпуском Xorg, обновлениями в Mac... Мне было бы очень не хотелось бы наблюдать, как это происходит, поскольку Qt - это потрясающая инфраструктура
Ответы
Ответ 1
Будущее Qt сильно отличается от не. В лицензии Qt есть пункт, в котором конкретно говорится, что если в какой-либо момент он больше не предлагается, он становится общедоступным. В какой момент я бы предположил, что люди KDE возьмут на себя разработку (поскольку они рассматривали слияние kdelibs с Qt как минимум немного раньше).
Кроме того, существует компания (Digia?), которая в настоящее время предлагает коммерческие лицензии Qt.
Наконец, Qt5 активно занимается разработкой Nokia, я не вижу, как он даже близок к "умиранию", просто ставит, вы дезинформированы.
Ответ 2
Я не уверен, действительно ли это вызывает огромную озабоченность, если Qt выпадет из употребления. Это одна из самых (если не самых) популярных кросс-платформенных библиотек такого рода и по-прежнему имеет сильную поддержку.
Независимо от того, ваш вопрос о других системах по-прежнему имеет значение. Здесь мои два фаворита:
-
Переключитесь на кросс-платформенный язык со стандартной поддержкой того, что вам нужно, например Java.
-
Script ваше приложение с языком кросс-платформы с такими стандартными библиотеками, чтобы создавать те части вашего приложения, в то время как вы все еще используете код С++ для остальной части работы.
Это довольно похожие варианты, а второй - гораздо менее драматичный. Особенно учитывая, что вопрос был задан из соображений по поводу выживания в библиотеке, я бы предпочел бы банкировать на очень популярных и зрелых языках для поддержки. Конечно, на языке есть, вероятно, много вариантов, но тот, с которым я больше всего знаком, - это Java, поэтому я упомянул об этом раньше. Неплохо писать код Java для взаимодействия с вашим кодом на С++, а также является хорошим примером того, как использование нескольких языков в приложении может быть выгодным.
Ответ 3
Будущее Qt никогда не бывает неопределенным. Тот, кто сказал, "нет интереса к настольному компьютеру", не является владельцем. Будущее Qt хорошо упоминается после февраля11 (объявление о сотрудничестве WP7). На самом деле QML - это хороший способ для будущих пользовательских интерфейсов.
Для вашего доказательства новый Unity Interface для Ubuntu будет иметь 2D-интерфейс QML, а в будущих выпусках будет использоваться QML 3D-интерфейс для некоторых приложений. Новый Ubuntu очень интегрирован с Qt.
Путь Qt идет слишком хорошо. Будучи постоянным читателем блогов и лабораторий Qt, я могу сказать это точно. Новый Qt 5 будет иметь множество функций и улучшений производительности. Кроме того, они посвятили свою разработку успешной модели открытого управления. Таким образом, каждый может внести свой вклад.
Поскольку будущее развития будет для мобильных телефонов и планшетов, большинство учебных руководств, которые вы найдете, могут создать иллюзию, что Qt не поддерживает Desktop, но это не так.
Загрузите последнюю версию Qt SDK 1.3, и вы найдете Qt 4.7.4 для рабочего стола.
Чтобы упростить использование Qt для разработки как мобильных, так и настольных приложений, Nokia объединила среду разработки в один SDK под названием Qt SDK, в отличие от предыдущего SDK Nokia Qt.
Кроме того, я думаю, что никакая другая среда разработки С++ не может поддерживать широкий диапазон платформ, таких как поддержка Qt.
Я поддерживаю:
- Настольные ОС: Windows, Linux, Mac OSx.
- Мобильные ОС: Symbian, Android (Community cupported), IOS (Comunity поддерживается), Windows CE,
- Встроенные устройства Linux, Meego, Maemo. Планшетные ОС: Android, Meego, Tablet Linux.
Новая возможность портировать его доступна на имя Qt Necessitas. Порт Android и порт IOS Qt основаны только на этом. Если у вас есть сомнения, проверьте видеоролик YouTube.
И что касается Java, я прочитал, что это не кросс-платформа, как Qt. Я также сомневаюсь, может ли какая-либо IDE, отличная от Qt, дать вам возможность скрещивания.
Документация слишком хороша, что в редких случаях, когда кросс-платформа не поддерживается (для некоторых функций Window), явно упоминается наряду с альтернативными методами для ее реализации в этой конкретной ОС.
QML потрясающе, поскольку его действия за сценой выполняются с использованием С++, чтобы дать вам такую же производительность (на 85% быстрее, чем Qt С++). И у вас нет головной боли в управлении памятью (если вы не привыкли к С++). Если вы действительно хотите, чтобы красивый графический интерфейс и быстрая производительность шли на QML и С++. Просто простой способ - использовать QML и Javascript.
Я разрабатываю приложение для Symbian, используя тяжелую анимацию в своем Nokia E63 с тактовой частотой процессора (386 МГц), а производительность QML более плавная и вообще не висит.
Вы даже можете найти ОС и версию с инструкцией if else, что легко. Попробуйте, прежде чем принимать решение, прочитав несколько обзоров.
Ответ 4
В дополнение к сообщению Эвана Терана.
http://www.kde.org/community/whatiskde/kdefreeqtfoundation.php
Ответ 5
Там Fox toolkit, кросс-платформенный инструментарий GUI С++. Я недавно узнал об этом и очень скоро буду оценивать его для нашего программного обеспечения. Из документации это выглядит довольно прямолинейно, но я на самом деле ничего не создал (пока).
С веб-сайта:
FOX означает Free Objects для X. Это библиотека классов на С++ для создание графических пользовательских интерфейсов... Приложения, использующие FOX, не зависят напрямую от X-Windows. Поскольку все зависимости от платформы полностью скрыты от просмотра системой FOX (приложения даже не содержат заголовочные файлы X-Windows!), Такие приложения легко переносятся на другие платформы, просто перекомпилируя.
Ответ 6
Лицензирование Qt несправедливо. Они просят разработчика одного места заплатить 1/10 за лицензионные расходы, которые оплачивает разработчик на 10 человек, хотя доля рынка разработчика для одного места в 100 раз меньше, а 10 разработчиков застройки ВСЕГДА скрывают количество мест.
Остальные "бесплатные" лицензии просто заманивают вас в инвестирование времени в их систему. Позже, когда вы хотите заработать немного денег, вам придется заплатить безумно высокую стоимость лицензирования, чтобы сделать что-то из ваших инвестиций вовремя.