Почему Canonical выбирает QT вместо GTK для следующего поколения Unity?

Так много написано, что я немного растерялся, но если я не ошибаюсь, Canonical строит следующее поколение Unity для мобильных устройств с Qt, и в ближайшем будущем настольный компьютер также будет перенесен на qt .

Я просто хотел узнать технические и / или политические причины, лежащие в основе этого решения, и какие последствия это может означать для существующих в настоящее время настольных приложений Ubuntu.

35
задан 17 November 2015 в 15:41

4 ответа

Gallwch ddod o hyd i'r ateb ar y rhestr bostio ac ar blog Mark Shuttleworth . Mae'n debyg bod y blogbost hwn yn ei ateb orau:

Fel rhan o'n cynllunio ar gyfer Natty + 1, bydd angen i ni ddod o hyd i ychydig o le ar y CD ar gyfer llyfrgelloedd Qt, a byddwn yn gwerthuso cymwysiadau a ddatblygwyd gyda Qt i'w cynnwys ar y CD a gosod diofyn o Ubuntu.

Mae rhwyddineb defnydd, ac integreiddio effeithiol, yn werthoedd allweddol ym mhrofiad ein defnyddiwr. Rydyn ni'n poeni bod y cymwysiadau rydyn ni'n eu dewis yn gytûn â'i gilydd a'r system gyfan. Yn hanesyddol, mae hynny wedi golygu ein bod wedi rhoi blaenoriaeth gref i gymwysiadau a ysgrifennwyd gan ddefnyddio Gtk, oherwydd daw rhywfaint o gytgord yn ddiofyn o ddefnyddio'r un pecyn cymorth datblygwr. Wedi dweud hynny, gydag OpenOffice a Firefox wedi bod yno o'r dechrau, mae'n amlwg nad yw Gtk yn ofyniad llwyr. Yr hyn rydw i'n ei ddadlau nawr yw mai dyna'r gwerthoedd sy'n bwysig, a dim ond i'r perwyl hwnnw yw'r pecyn cymorth. Dylem werthuso apiau ar sail pa mor dda y maent yn cwrdd â'r gofyniad, nid eu rhagfarnu ar sail dewisiadau technegol a wneir gan y datblygwr.

Wrth werthuso ap ar gyfer gosodiad diofyn Ubuntu, dylem ofyn:

  • yw
  • a yw'n orau yn y dosbarth?
  • a yw'n integreiddio â gosodiadau a hoffterau'r system?
  • a yw'n integreiddio â chymwysiadau eraill?
  • a yw'n hygyrch i bobl na allant ddefnyddio a llygoden, neu fysellfwrdd?
  • a yw'n edrych ac yn teimlo'n gyson â gweddill y system?

Wrth gwrs, nid oes gan ddewis y datblygwr o Qt unrhyw ddylanwad ar y ddau gyntaf. Mae Qt ei hun wedi bod ar gael o dan y GPL ers amser maith, ac yn fwy diweddar daeth ar gael o dan yr LGPL. Ac mae yna ddigon o feddalwedd gorau yn y dosbarth wedi'i ysgrifennu gyda Qt, mae'n becyn cymorth galluog iawn.

Fodd bynnag, mae gosodiadau system a rhagddodiaid wedi bod yn achos ffrithiant rhwng Qt a Gtk ers amser maith. Mae integreiddio â gosodiadau a dewisiadau system yn hanfodol i ymdeimlad bod cais yn “perthyn” ar y system. Mae'n effeithio ar y gallu i reoli'r cymhwysiad hwnnw gan ddefnyddio'r un offer y mae un yn eu defnyddio i reoli'r holl gymwysiadau eraill, a'r mathau o brofiad lleoliadau-a-dewis y gall defnyddwyr eu cael gyda'r app. Yn draddodiadol, bu hon yn broblem gyda chymwysiadau Qt / KDE ar Ubuntu, oherwydd mae apiau Gtk i gyd yn defnyddio storfa ddewisiadau y gellir ei rheoli'n ganolog, ac mae apiau KDE yn gwneud pethau'n wahanol.

Er mwyn mynd i'r afael â hyn, mae Canonical yn gyrru datblygiad rhwymiadau dconf ar gyfer Qt , fel ei bod yn bosibl ysgrifennu app Qt sy'n defnyddio'r un fframwaith gosodiadau â phopeth arall yn Ubuntu. Rydyn ni wedi contractio gyda Ryan Lortie, sy'n amlwg yn adnabod dconf yn dda iawn, a bydd yn gweithio gyda rhai pobl yn Canonical sydd wedi bod yn defnyddio Qt ar gyfer gwaith datblygu personol ar gyfer cwsmeriaid. Rydym yn hyderus y bydd y canlyniad yn naturiol i ddatblygwyr Qt, ac yn fynegiant cyflawn o semanteg ac arddull dconf.

Mae'r tîm Qt wedi gweithio'n dda yn y gymuned Ubuntu ehangach ers amser maith - mae gennym gynrychiolaeth Qt wych yn UDS bob chwe mis, mae gan dîm Kubuntu brofiad a diddordeb dwfn mewn pecynnu a chynnal a chadw Qt, mae yna lawer o gyfnewid technegol da rhwng Qt i fyny'r afon a gwahanol rannau o gymuned Ubuntu, gan gynnwys Canonical. Er enghraifft, mae Folks Qt yn gweithio i integreiddio uTouch.

Rwy'n tynnu gwahaniaeth rhwng “Qt” a “KDE” yn y lleoedd amlwg. Nid yw app KDE yn gwybod unrhyw beth am gyfluniad y system dconf, ac ni all integreiddio'n hawdd â bwrdd gwaith Ubuntu o ganlyniad. Felly, ni fyddwn yn cynnig Amarok i gymryd lle Banshee ar unrhyw adeg yn fuan! Ond rwy'n credu ei bod yn gwbl gredadwy bod dconf, unwaith y bydd ganddo rwymiadau Qt gwych, yn cael ei ystyried gan gymuned KDE. Mae yna bobl well i arwain y sgwrs honno os ydyn nhw eisiau, felly ni fyddaf yn gwthio'r syniad ymhellach yma. Serch hynny, pe bai app KDE yn dysgu siarad dconf yn ychwanegol at y mecanweithiau KDE safonol, a ddylai fod yn syml, byddai'n ymgeisydd ar gyfer gosodiad diofyn Ubuntu.

Nid yw'r penderfyniad i fod yn agored i Qt yn feirniadaeth mewn unrhyw ffordd. o GNOME. Mae'n ddathliad o amrywiaeth a chymhlethdod meddalwedd am ddim. Mae'r gwerthoedd hynny o hwylustod i'w defnyddio a'u hintegreiddio yn parhau i fod yn werthoedd a rennir gyda GNOME, ac yn sylfaen wych ar gyfer cydweithredu â datblygwyr GNOME ac aelodau'r prosiect. Efallai y bydd GNOME ei hun yn cofleidio Qt, efallai ddim, ond os bydd yn gwneud hynny byddai ein parodrwydd i feio’r llwybr hwn yn gyfraniad mewn arweinyddiaeth. Mae'n llawer haws gwneud ecosystem fywiog os ydych chi'n derbyn rhywfaint o wyro o'r ffordd ganonaidd, fel petai. Mae ein gwaith ar ddylunio wedi'i ganoli o amgylch GNOME, gyda lleoliadau a hoffterau'r ffocws cyfredol wrth i ni symud i GNOME 3.0 a gtk3.

Wrth gwrs, mae hwn yn gyfle perffaith i'r rhai a fyddai'n procio hwyl yn y berthynas honno wneud hynny, ond yn fy marn i yr hyn sydd bwysicaf yw'r berthynas gadarn sydd gennym â phobl sy'n ysgrifennu ceisiadau o dan faner GNOME mewn gwirionedd. Rydym am fod y ffordd orau un i wneud gwaith caled y datblygwyr meddalwedd rhad ac am ddim hynny yn bwysig ,yr ydym yn ei olygu, y ffordd orau o sicrhau ei fod yn gwneud gwahaniaeth gwirioneddol mewn miliynau o fywydau bob dydd, a'r ffordd orau i'w cysylltu â'u defnyddwyr.

I'r bobl dda yn Trolltech, Nokia bellach, sydd wedi gwneud Qt pecyn cymorth gwych - diolch. I ddatblygwyr sydd am ei ddefnyddio a bod yn rhan o brofiad Ubuntu - croeso.

25
ответ дан 17 November 2015 в 15:41

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

Это открытая ошибка в GTK + с 2008 года, пока она не была закрыта в 2014 году с помощью Комментарий «у нас есть поддержка шкалы hi-dpi - это не совсем то же самое, но достаточно близко, чтобы сделать эту ошибку устаревшей».

Когда был выпущен GTK + 3,у проекта была прекрасная возможность добавить независимость от разрешения, потому что они в любом случае нарушали совместимость. Они решили не делать этого, и теперь для них действительно слишком поздно.

В Плане развития GTK + независимость разрешения запланирована для выпуска после 4.0, поэтому они выпустят 4.0, а затем основной выпуск после этого. будет это. Если они будут придерживаться этого плана, то даже настольный GNU / Linux придется отказаться от GTK +, потому что настольные мониторы с высоким разрешением и мониторы ноутбуков уже доступны и скоро станут новой нормой.

15
ответ дан 17 November 2015 в 15:41

Fy nymuniad â'r Technegol / pragmatig rhesymau: Nokia pur erlid Trolltech a buddsoddi llawer mewn QT. Mae'n ysgafn ac mae ganddo flynyddoedd o optimeiddio tuag at blatfform symudol. Waeth beth yw eich barn gyfredol am Nokia, roedd yr N900 flynyddoedd o flaen ei amser ... ac roedd yn seiliedig ar debian / QT ... ond yn gostus. Fodd bynnag, nid oes gennyf unrhyw wybodaeth wirioneddol am y penderfyniadau.

2
ответ дан 17 November 2015 в 15:41

Ubuntu CTO Блог Мэтта Циммермана также информативен:

Именно в этом духе я и думал о Qt в последнее время. Мы хотят сделать так, чтобы разработка приложений для Ubuntu, и Qt - это вариант, который стоит изучить для применения. разработчики. Подумав об этом, я понял, что есть довольно немного общности между сильными сторонами Qt и некоторыми новыми Направления в Ubuntu:

  • Qt имеет долгую историю использования на ARM, а также x86, в силу популярности на встраиваемых устройствах. Потребительские продукты были построены используя Qt на ARM более 10 лет. Мы делали Ubuntu продукты доступен для ARM уже почти два года, и 10.10 поддерживает больше Платы ARM, как никогда, включая справочные платы от Freescale, Марвелл и ТИ. Qt добавляет оптимизации ARMv7, чтобы воспользоваться последними версиями Чипы ARM. Мы делаем это для того, чтобы предложить OEM-производителям выбор оборудования, без ущерба для выбора программного обеспечения. Qt сохраняет этот же выбор для разработчики приложений.
  • Qt - это кросс-платформенный фреймворк приложений, с официальными портами для Windows, MacOS и т.д., а также портами экспериментального сообщества на Андроид, iPhone и WebOS. Мощная кроссплатформенная поддержка была одна оригинальных принципов Qt, и это свидетельствует о зрелости официальные порты. С установкой Ubuntu Light на компьютерах с Windows, и Ubuntu One посадки на Android и iPhone, нам нужно совместимость с другими платформами. Существует также большой население разработчиков, которые уже знают, как нацелиться на Windows, которые может дойти и до пользователей Ubuntu, выбрав Qt.
  • Qt имеет достаточно зрелую систему touch input, которая теперь имеет поддержку мультитач и жестов (включая QML), хотя это только завершено на Windows 7 и Mac OS X 10.6. Между тем, Canonical был работая с сообществом по разработке низкоуровневой мультисенсорной технологии. фреймворк для Linux и X11, в пользу Qt и других инструментальных средств. В конце концов, эти усилия встретятся в середине.

В целом, я думаю, что Qt может многое предложить людям, которые хотят разрабатывать приложений для (и на) Ubuntu, особенно сейчас. Он уже уполномочен популярные кроссплатформенные приложения, такие как VLC, не говоря уже о вся дистрибуция Кубунту. Я пропустил это, когда это случилось в прошлом году, но Qt теперь доступна либо по LGPL 2.1, либо по GPL 3.0, что должно сделать ее пригодной практически для любого приложения Ubuntu. Она . имеет сильную коммерческую поддержку, а также большое сообщество девелоперов. Конечно же, ни одно единое решение не удовлетворит все потребности разработчиков. По этой причине Ubuntu поддерживает различные наборы инструментов и фреймворки, но Qt кажется отличным инструментом в нашем инструментарии для дальнейшего развития.

Статья Ars Technica , обсуждающая этот пост в блоге, предоставляет некоторые идеи:

Qt может привнести сторонних разработчиков в Linux

Хотя Gtk+ все еще имеет ценность и есть ряд причин, чтобы продолжайте использовать его для сборки родного программного обеспечения Linux, Qt теперь является очевидный выбор для ISV, которые нацелены на несколько платформ. Qt делает его исключительно простым в соответствии с местным видом и ощущениями от базовую платформу или построить полностью пользовательский интерфейс, который бы оптимально подходит для целевого устройства или форм-фактора.

Так как Nokia и Intel переносят MeeGo на широкий спектр устройств, это означает. чтобы привлечь некоторых крупных коммерческих поставщиков программного обеспечения. Это было бы относительно просто для тех компаний, которые занимаются программным обеспечением, принести свои мобильные Qt приложения на рабочем столе Linux, используя тот же код, который они используют на МиГо. Qt специально разработан, чтобы сделать это легко. Это будет огромная победа для настольного Linux, потому что это принесет стороннему производителю приложения, которые в противном случае были бы недоступны.

Стоит отметить, что некоторые известные производители программного обеспечения для мобильных устройств являются Уже с нетерпением принимаю Qt благодаря поддержке Nokia этого инструментария. Например, компания мобильного видеопотока Qik работает над проектом экспериментальный порт популярного приложения на основе Qt с целью привнося его в MeeGo.

Автор статьи является создателем IM приложения Gwibber, поэтому у него есть некоторый опыт разработки графических интерфейсов для Linux.

2
ответ дан 17 November 2015 в 15:41

Другие вопросы по тегам:

Похожие вопросы: