«Тулкіта»: закриваючи відкрите
QtМене турбує доля «тулкіта». Адже це - цегла, з якої будуються будівлі вільного ПЗ. На слуху зазвичай два кити: Qt та GTK, потім на думку спадають FOX Toolkit і wxWidgets.
Коли Nokia придбала Qt, розвиток цього тулкіта пішло по шляху введення функцій, потрібних для мобільних платформ і програмістів, які звикли до Java ME. З точки зору Nokia -правильним крок, тому що традиційний набір софта для програмування під Symbian був вельми незручний. У підсумку, нововведення в Qt можна назвати «Qt для javascript». Крім того, бібліотека ще більше «роздулася». Передбачалося, що бу-дуть випускатися нові Symbian-пристрої, основним тулкіта яких стане Qt. І ось, коли в Qt вже з`явилися потрібні для цього можливості, Nokia укладає угоду з Microsoft і робить пріоритетним випуск смартфонів на Windows Phone, взявши на озброєння засоби розробки від Microsoft. І як же Qt? А ніяк ... Qt навіть не перенесена на Windows Phone. До речі, не перенесена вона офіційно і на Android, як немає і телефонів від Nokia на цій платформі.
Судячи з графіками від компанії, випуск Symbian-пристроїв буде зведений нанівець. Виникає питання: для чого тепер ці мобільні «навороти» в Qt і що буде з самою Qt? Очевидно, що портування на Android дало б Qt новий поштовх розвитку. Звичайно, Qt є куди розвиватися і в області звичайних, «десктоп»-рішень, але поки під крилом у Nokia цього особливо не відбувалося. Можете заперечити, що є MeeGo - адже Qt і Qt Creator під неї теж заточені. Давайте подивимося, як йдуть справи ...
У кожній великій компанії є свої експериментальні (чи не зовсім) проекти, засновані на Linux. У Motorola була потужна лінійка Linux-смартфонів на платформі MotoMagx, поки Motorola не перейшла на Android. MotoMagx була реально працює платформою, яка подарувала світові чудові телефони - так би мовити, останні «істинно мотороловскіе» розробки - лінійок ROKR, ZN та інших. У Nokia теж був Linux-проект - Maemo, - орієнтований швидше на планшети. Чи багато масових Maemo-пристроїв випустила компанія? Нуль. Чи не для мас? N800, N810 і N900. І після п`ятої версії Maemo плавно перетікає в MeeGo. Останній виник в результаті співпраці Nokia з Intel - з`єднанням Maemo з Moblin від Intel. Було логічно: у Intel - процесор Atom, а у Nokia - Qt. Вийшов такий собі Linux з упором на Qt з одного боку і на пристрої з Atom - з іншого. Судячи з березневої записи в «блогах Intel (R) Software Network» (https://software.intel.com/ru-ru/ blogs / 2011/03/15 / meego-7), «тільки в Росії вже відвантажені десятки тисяч пристроїв на ній - нетбуки, неттопи, моноблоки. »
MeeGo На жаль, я не бачив їх в Києві, хоч Київ і не в Росії, але все ж близько. Бачив нетбуки на Intel Atom, але ось з попередньо встановленою системою MeeGo перший в світі нетбук був випущений Fujitsu в лютому цього року - мова йде про моделі MH330. Добре, але виникає питання: навіщо створюється окрема екосистема MeeGo, якщо існують звичайні дистрибутиви Linux? Так, MeeGo орієнтована на широкий діапазон пристроїв: нетбуки, неттопи, телевізори, смартфони. Але невже якийсь простий графічний редактор, заточений під сенсорний смартфон, буде зручний на нетбуці, де можна використовувати GIMP або Krita? (Прим. Ред .: Відповідь на це питання слід шукати в різних інтерфейсах MeeGo, орієнтованих на конкретні пристрої, - так званих UX.)
Я подивився відео з поданням нетбука MH330, і на розум прийшов проект Eee PC на його ранніх етапах. Там теж був Linux - правда, «свій», перероблений варіант дистрибутива Xandros. Як багато хто пам`ятає, це вилилося ... в сайт-кампанію «It`s Better with Windows». Мовляв, наші нетбуки все ж краще працюють під Windows. Втім, немає нічого поганого в дистрибутиві Linux, заточеним під нетбуки. Різноманітність - це іноді чудово ... На сайті MeeGo є розділ Licensing Policy -політика ліцензування (https://meego.com/about/licensing-policy). Там дають зрозуміти, що в «ядерної» області MeeGo, що стосується безпосередньо Linux, панує GPL. В області додатків для користувачів, виявляється, більш віддай перевагу-тельно BSD-ліцензії. З цієї точки зору MeeGo розділена на дві ліцензійні ніші: MeeGo Operating System Software (системна) і MeeGo User Experience Subsystem Software (прикладне ПО). В останній перевага віддається BSD. Гаразд, залишимо MeeGo в спокої. Оскільки Qt грає там важливу роль, для Qt буде здорово, якщо MeeGo стане популярна і не буде замінена в пристроях своїх «батьків-засновників» на іншу, відому систему.
Поза MeeGo, яке майбутнє чекає Qt в штормі діловому світі? Там майбутнє Qt туманно. Збиралися-то як? Qt разом з Qt Creator - основна зв`язка для розробки під основну ж платформу Nokia - Symbian. Комплект SDK від Nokia зав`язаний саме на це. Тепер, коли Symbian згасає, виходить, що призначення поточного SDK від Nokia - написання якихось останніх програм для системи, розвиток якої не входить в плани компанії. Адже замість SDK від Nokia, для майбутніх смартфонів Nokia пропонується ... SDK від Microsoft. Яке місце в екосистемі Nokia займе Qt при такому розкладі через рік-два? .. Нещодавно відбулася угода між Nokia і компанією Digia PLC, яка купує, скажімо так, комерційне ліцензування Qt і інші пов`язані з Qt комерційні сервіси. Судячи по блогу Qt, крім іншого, Digia буде розвивати Qt в напрямку робочого столу і вбудованих систем, а Nokia продовжить в Qt лінію розвитку Qt Quick, WebKit і HTML5. Таким чином, можна очікувати, що Qt «роздується» ще більше, керуючись побажаннями обох патронів. Мабуть, на якомусь етапі розробникам KDE коштувало відбрунькувалися Qt і тримати свій форк компактним, не допускаючи нагромадження технологій. Зараз вже, напевно, пізно.
Незрозуміло, як далі буде співвідноситися набір функцій комерційної версії Qt і вільної, чи не станеться переліцензування. Чому я про це пишу? Деякі зміни в цьому плані вже є. На сайті Qt існує розділ Qt Solutions з підрозділом Qt Solutions Archive (https://qt.nokia. Com / products / qt-addons / solutions-archive / index), куди винесені різні цікаві напрацювання, у розвитку яких Nokia більш не зацікавлена. Наприклад, це плагін підтримки JPEG 2000, бібліотека «єдиного екземпляра додатка» Single Application, багато інших речей. Все це було переліцензувати під ліцензію BSD.
Установка GTK + Подивимося на інший тулку - GTK +. Нас зустрічає сайт (gtk.org), який оновлюється, здається, раз на кілька років. У рядку копірайтів бачимо 2008, новин немає, архів з новинами порожній. Раніше хоч писали, що вийшла така-то версія з такими-то нововведеннями, але тепер - глухе мовчання. Розробники пішли в підпілля? Немає ж, працюють - випустили адже GTK + 3.0, після багатьох років ведення другої гілки. Що трапилося? Де публічність? У тому ж FOX Toolkit кожну зміну, навіть незначне, знаходить відображення на головній сторінці сайту. Людина приходить і бачить, що проект розвивається. Хлопці з GTK + мовчазно роблять свою справу, сподіваючись, що «кому треба, той знайде». І я не дивуюся, що все більше проектів воліє Qt, а не GTK. Тому що заходжу на сайт Qt і бачу активність. Потрібні мені нові функції Qt чи ні - проект публічний: новини, різні блоги, посилання на створені за допомогою Qt програми. Все це приваблює нових програмістів, а завдяки відмінному форуму помітно підвищується рівень знань.