LINUX.ORG.RU

Платформа Maemo переходит с Gtk+ на Qt

 , , ,


0

0

После того, как Nokia приобрела компанию Trolltech, разработчика кросс-платформенного инструментария Qt, многие стали задаваться вопросом о судьбе Maemo, главным элементом которой сейчас является GTK+. И вот на конференции Gran Canaria Desktop Summit руководитель подразделения новых программных платформ в Nokia и член управляющего совета GNOME Квим Гил (Quim Gil), объявил, что все последующие релизы Maemo будут выпускаться с использованием Qt.

Хотя текущий релиз Maemo 5 «Fremantle» будет продолжать использовать GTK+/Hildon, следующий за ним «Harmattan» полностью перейдет на Qt. Статус же GTK+/Hildon будет средуцирован до «поддерживается сообществом» — как сейчас Qt.

В качестве основной причины перехода на Qt Nokia называет более простую кросс-платформенную разработку приложений, как для Maemo, так и для окружения Symbian.

Гил так же подчеркнул, что миграция на Qt ни в коей мере не означает полного разрыва с платформой GNOME mobile. Многие компоненты, доступные сейчас в Hildon, перейдут и в Harmattan. В компании надеются, что это окажет положительное влияние в деле становления совместной работы между десктопами GNOME и KDE, особенно учитывая все возрастающую роль Nokia в этом процессе.

Maemo — это мобильная платформа для планшетных компьютеров, таких как Nokia 770, N800 и N810. Maemo была разработана на базе рабочего стола Gnome и, соответственно, использовала библиотеки GTK+ для построения пользовательского интерфейса.

via opennet

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от yoghurt

>Это там где про type-safe?

И это. И человеческий синтаксис. И Нормальные сообщения об ошибке вместо километровых сообщений от шаблонов.

theos ★★★
()
Ответ на: комментарий от theos

Хм. Интересно, интересно

но по моему они скоро придут к своему языку, что по моему будет больше плюсом

namezys ★★★★
()
Ответ на: комментарий от theos

>он там много для чего используюется (для рефлексии для скриптинга, например)

Выбирать надо нормальные языки изначально.

К сведению, в gtkmm юзается libsigc++, которая на шаблонах

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

> Выбирать надо нормальные языки изначально.

для большиства платформ нет такого выбора

namezys ★★★★
()
Ответ на: комментарий от theos

А теперь вернёмся к:

>Но для С++ ничего лучше Qt

Сторонний препроцессор выходит для плюсов плюсавее, чем плюсавые шаблоны?

yoghurt ★★★★★
()
Ответ на: комментарий от namezys

>Когда из 18 метров 6 из них кашаються объектами QString

э? Если программа int main() { QString s[1000000]; } то что я могу сделать? Конкретнее пожалуйста.

>а 2.5 - это метоинформация,


2.5 метра фигня, и должна шариться между процессами.

theos ★★★
()
Ответ на: комментарий от yoghurt

> Сторонний препроцессор выходит для плюсов плюсавее, чем плюсавые шаблоны?

qt создавался несколько раньше чем все это полноценно доступно

qt работает на тех компилятрах, где не все это есть

шаблоны в С++ хороши тогда, и только тогда, когда ты пишешь без ошибок

namezys ★★★★
()
Ответ на: комментарий от namezys

>человекческий синтасис в NS и obj-C v2

Человеческий синтаксис и в, да позволят мне сказать, C#. Но нужно на С++. Причины и так все знают.

theos ★★★
()
Ответ на: комментарий от namezys

>но по моему они скоро придут к своему языку, что по моему будет больше плюсом

Да я вот всё жду, когда они создадут свою Vala. Была бы очень удобная _платформа_.

theos ★★★
()
Ответ на: комментарий от theos

> Да я вот всё жду, когда они создадут свою Vala. Была бы очень удобная _платформа_.

Я боюсь что компиляция из одного языка в другой может оказаться очень неудачным решением (посмотрите хотя бы на gtk)

А может и удачным быть

namezys ★★★★
()
Ответ на: комментарий от yoghurt

>Выбирать надо нормальные языки изначально.

Выбирают инфраструктурц целиком. Языки сами по себе уже давно не кому не нужны. А необходимой инфраструктурой обладает C, C++. И всё.

>К сведению, в gtkmm юзается libsigc++, которая на шаблонах


Да я в курсе. Плюсы - ужасный язык. Я рад, что Qt его хоть немного подрихтовала. В Qt человекообразнее.

theos ★★★
()
Ответ на: комментарий от namezys

>Я боюсь что компиляция из одного языка в другой может оказаться очень неудачным решением (посмотрите хотя бы на gtk)

Что c Валой не так?

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

>Но для С++ ничего лучше Qt

Это вообще не моё.

>Сторонний препроцессор выходит для плюсов плюсавее, чем плюсавые шаблоны?


Не осилил понять что написано. Если вы о том, что стороннее расширение удобнее встроенного в язык - то да, это так.

theos ★★★
()
Ответ на: комментарий от theos

>>Но для С++ ничего лучше Qt

>Это вообще не моё.

Блин и правда, сорри =))))

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

> Что c Валой не так?

Если не ошибаюсь, то это компилятор в С. А С как известно "объектный" код такой проотимизить не может: часто просто необходимы контаест для оптимизации отсутсвует. В отличаи от С++

namezys ★★★★
()
Ответ на: комментарий от yoghurt

>Что c Валой не так?

А как с ней работать профайлером, отладчиком, etc? Вот это и не так.

Не, я имел ввиду Вала не всмысле компилять в С, а общая идея. А компилял бы написанным простеньким фронтендом к LLVM - вот это было бы действительно круто.

theos ★★★
()
Ответ на: комментарий от yoghurt

> а как же Python + C?

А что у нас питом стал уже совсем хорошим? то, с чем я имел дело имело проблемы с уникодом

namezys ★★★★
()
Ответ на: комментарий от yoghurt

>а как же Python + C?

Кроссплатформенная быстрая (см QGraphicsScene) библиотеку виджетов с байндингами к разным языкам? При чём здесь Питон то?

theos ★★★
()
Ответ на: комментарий от yoghurt

> Оптимизация - в этом месте она так критична? GUI бывают ботлнеками???? О_О

почему бы ее не делать, если это возможно????

namezys ★★★★
()
Ответ на: комментарий от namezys

>матоинформация кушает уж очень много. Хотелось бы поменьше (если это возможно)

Там метаинформация о всей библиотеке Qt. Она большая просто по определению. и 2.5 метра на это пофиг. Единственное - они должны шариться между процессами.

theos ★★★
()
Ответ на: комментарий от theos

Долгое копание валгриндом (точнее масифом или как его там правильно)

Все выделение, что происходит до main - это явно метоинформация.

Кроме того, так как qt в релизе - то он не смог правильно распарсить выделение метоифнормации в либе. В общем у меня на куче создавалось куча объектов типв QString c конструтором от char*

Так как я ушел почти везде от таких объектов, их создавл для себя именно qt, и уменно у в нашем коде. А когда метоинформация занимает 1/7 - 1/8 от рабочего ядра программы (5-6 аккаунтов, контакт лист на 500 чувоков, бд, и тд) --- это имхо много

ЗЫ: попробуйти виндузятникам объяснить это. они орут, что вы идиоты, а qip жрет в разы меньше

namezys ★★★★
()
Ответ на: комментарий от theos

>>GUI бывают ботлнеками???? О_О

>А что, на вала можно только GUI писать?

Писать на ней что то иное (например, либу для шифрования или компрессии) мне представляется глупым.

yoghurt ★★★★★
()
Ответ на: комментарий от namezys

Хммм. Возможно - так не вдвался. Я думаю стоит написать в вишлист троллям - они в Qt 4.6 мощно оптимизациями занимаются, вы им напишите - потому что это, конечно, не дело - вся метаинфа должна быть статической и шаритья между процессами.

theos ★★★
()
Ответ на: комментарий от yoghurt

>Писать на ней что то иное (например, либу для шифрования или компрессии) мне представляется глупым.

А мне представляется глупым писать такой язык общего назначения специально для GTK и ни для чего больше.

theos ★★★
()
Ответ на: комментарий от theos

>А мне представляется глупым писать такой язык общего назначения специально для GTK и ни для чего больше.

Ну как же, производство поделок под гномэ можно на поток ставить зато

yoghurt ★★★★★
()
Ответ на: комментарий от namezys

>попробуйти виндузятникам объяснить это. они орут, что вы идиоты, а qip жрет в разы меньше

Странные у вас виндузятники. У меня либо вообще не знают ничего про память, либо им пофиг (если не пол оперативки съедает). Вон тормозность и прожорлиовость ICQ 6 никого не смущает.

theos ★★★
()
Ответ на: комментарий от yoghurt

>Ну как же, производство поделок под гномэ можно на поток ставить зато

Тут мне кажется питонообразоные больше подходят. Уж ни как не маргинальный язычок без инфраструктуры.

theos ★★★
()
Ответ на: комментарий от theos

> Я думаю стоит написать в вишлист троллям - они в Qt 4.6 мощно оптимизациями занимаются, вы им напишите - потому что это, конечно, не дело - вся метаинфа должна быть статической и шаритья между процессами.

Писали, общались. Они пока разводят руками.

Это проблема как раз использвоания С++. Дело в том, что объекты в qt по нормальному можно создавать лишь на куче. И объекты все сложные - их не получается создать при компиляции (точнее этого кода нет). И генеряться они в результате из статической информации, которая и так все равно отъедает память: в результате двойные затраты памяти

namezys ★★★★
()
Ответ на: комментарий от theos

> У меня либо вообще не знают ничего про память, либо им пофиг (если не пол оперативки съедает). Вон тормозность и прожорлиовость ICQ 6 никого не смущает.

У... это нам чуть ли не в первую очередь ставили. Хотя мы одно время разжирели: до 150 метров кушали в дебаг режиме. Щас до 50-60 что ли ужались (это под винду мерили, а я под ней не сижу)

namezys ★★★★
()
Ответ на: комментарий от namezys

Так это, там же МОК есть, нельзя делать трюки вроде const char * c = {1,2,3,4...}; QString * name = (QString *)(c + 127)?

Вот шарить между процессами тяжело - нужно адреса как то сохранять...

theos ★★★
()
Ответ на: комментарий от theos

> const char * c = {1,2,3,4...}; QString * name = (QString *)(c + 127)?

Нет. QString несколько более сложные объект. Он в UCS2 или UCS4 хранится. Можно было бы конечно попробовть мок научить это делать, я надеюсь что он с этим справится

Вообще строки у нас - слабое место. Почти вся информация - это строки... а с ними Ж, кушают много

namezys ★★★★
()
Ответ на: комментарий от namezys

> Вообще строки у нас - слабое место. Почти вся информация - это строки... а с ними Ж, кушают много

"У вас" - это, простите, у кого?

zero-1-2-3
()
Ответ на: комментарий от namezys

>много?

Ну я всегда полагал что для многопротольного клиента многовато - вон у пиджина 12 метров writable memory на одном асько-акке и одном яббер-акке.

theos ★★★
()
Ответ на: комментарий от yoghurt

> > Но для С++ ничего лучше Qt (из OSS) я не видел

> Gtkmm. Там хоть сигналы со слотами сделаны именно в духе С++, а не через тот моковый костыль от куте.


Что вас не устраивает в том, как работает система сигнал-слот в Qt?
Только не надо говорить про moc, генерацию кода и т.п.

Это все детали реализации, которые вас не должны волновать.

zero-1-2-3
()
Ответ на: комментарий от unikoid

>Все больше хочу n900. Слава нокии

она еще на пел будит.

hobbit19 ★★★
()
Ответ на: комментарий от unikoid

>Все больше хочу n900. Слава нокии

она еще на GTK будит.

hobbit19 ★★★
()
Ответ на: комментарий от golodranez

>Т.е. если у тебя зарплата $1000, семья, ребёнок, ты пойдёшь и потратишь $600 на фотошоп?

Да. А все ваши замечания насчет стоимости как бы намекают, что гимп лучше фотошопа лишь ценой? И никаких хвалебных выкриков насчет юзабилити/функциональности? УГ.

frame ★★★
()
Ответ на: комментарий от zero-1-2-3

>Что вас не устраивает в том, как работает система сигнал-слот в Qt? >Только не надо говорить про moc, генерацию кода и т.п.

>Это все детали реализации, которые вас не должны волновать.

Мне пофигу на куте и как там что работает. Тут вопрос в том, что есть более С++-вей, сигналы-слоты на шаблонах или сигналы-слоты на моке.

yoghurt ★★★★★
()
Ответ на: комментарий от theos

> Ну я всегда полагал что для многопротольного клиента многовато - вон у пиджина 12 метров writable memory на одном асько-акке и одном яббер-акке.

С учетом того, что под винду память не шариться? это то, что показывает диспетчер задачь. Сюда включается память, которую и себе qt забрала

у пиджина графики поменьше. Нет webkit'а для оформления. Нет аналогов QGraphicScene, нет БД... много чего нет, а оно все помаленьку, но капает

namezys ★★★★
()
Ответ на: комментарий от yoghurt

>Тут вопрос в том, что есть более С++-вей
>С++-вей


Чтоэто? Использовать самый страшный, избыточный и трудноподдерживаемый метод аля-буст?

theos ★★★
()
Ответ на: комментарий от theos

> А вы не спрашивали, зачем у них на строку 30 байтов оверхеда?

Да и так все видно. Да и не на каждую строку столько. Оптимизация, которая иногда не совсем хорошо себя проявляет

namezys ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.