вторник, 10 мая 2011 г.

[prog] Прочитал про планы Nokia относительно Qt 5, задумался…

Вот здесь PDF-ка от Nokia, а здесь вполне вменяемый пересказ на русском. Если не жалко 10 минут времени, я бы все-таки рекомендовал просмотреть англоязычный вариант – там 7 страниц текста крупным шрифтом.

Честно скажу, прочитанное меня больше разочаровало, чем обрадовало. Qt4, на мой взгляд, был очень правильным шагом от GUI-библиотеки к фреймворку общего назначения. Взяв Qt4 можно было разрабатывать, в принципе, любые приложения, хоть слепой консольный server-side. И это было здорово! Это был очень правильный шаг от троллей.

Но вот переход Qt под крыло Nokia зародил подозрения, что Qt в конце-концов переориентируют не в ту сторону. И, к сожалению, такие подозрения начинают сбываться. Большое внимание Qt Quick, возможность разработки Qt-шных приложений на JavaScript (вообще без C++) – все это сильно смахивает на огромный шаг назад, к GUI-only. Да еще сновная разработка будет сосредоточена всего на трех основных платформах – Linux, MacOS и Windows, портирование же под другие платформы будет вестись силами тех, кому это нужно…

С другой стороны, эти новости пришли вовремя. Дело в том, что для SObjectizer5 (временно приостановленного) мы изначально выбрали ACE в качестве базовой библиотеки. В том числе и потому, что это облегчает переиспользование кода из SO4. Но в последнее время участились вопросы о возможности интеграции SO5 не с ACE, а с Qt. Приходилось задумываться – а не перевести ли SO5 на Qt? Теперь, похоже, ответ обозначился сам собой :(

И вообще, если если с Qt5 все будет именно так – т.е. ориентация исключительно на GUI, то больших кроссплатформенных фреймворков общего назначения для C++ останется всего два – Boost и ACE. В принципе, есть еще неплохая библиотечка POCO, но она не дотягивает по своим масштабам. А вот Qt уже можно не принимать в расчет.

Но, подчеркну, что речь идет только об не-GUI проектах.

2 комментария:

Анонимный комментирует...

Насколько я понял, нокиевцы собираются переделать только графическую часть. В остальных компонентах серьезных изменений совсем не будет (объединят большую часть QtNetwork с QtCore, удалят весь код, предназначенный для совместимости с предыдущими версиями, бинарную совместимость нарушат, но без особых изменения код приложений достаточно будет лишь пересобрать, сделают Qt более модульным, чтобы, например, новую версию QtWebKit можно было выкладывать не дожидаясь доработки остальных модулей). То есть это типа версии Qt4++, в которой серьезно переработают графику, а QtCore, Network, SQL не затронут. Так декларируют. Меня больше пугает дружба Нокии с MS (в размере $10^9). Могут затянуть переходный период, на котором Qt4 развиваться не будет, а Qt5 будет невозможно использовать, усложнить поддержку Андроида и ВинМобайл, а без этих платформ новомодные графические возможности будут менее востребованы... В общем сделать так, что Qt станет интересна меньшему количеству разработчиков. Ну, патентов понапихать, которые доступны только для избранных, это для MS совсем не новость.

В общем, я основной подвох ожидаю от дружбы с MS.

eao197 комментирует...

@san:

AFAIK, Nokia обещала MS не портировать пока Qt на Windows Phone 7. Что уже плохо для Qt как для кроссплатформенного GUI фреймворка.