Hlavní navigace

Qt DeveloperDays 2014: berlínský medvěd mručí nad přicházející verzí Qt 5.4

16. 10. 2014
Doba čtení: 4 minuty

Sdílet

C++ framework Qt expanduje do nových oblastí a snaží se tam zabydlet jako občan první kategorie. Pronikne více do mobilů? A co na paluby auto-mobilů? Internet of Things se také často objevoval v přednáškách dodavatelů embedded řešení – tlak na rychlé uvedení na trh a lepší hardware dává zelenou rychlejším přístupům než čisté C.

Keynote

Šéf vývoje Lars Knoll byl potěšen, že podle jejich měření popularita Qt stoupá, každá další verze je více stahovaná než předchozí, v uplynulém roce vyšly pochvalné recenze ve významných oborových časopisech, mobilní vývojáři využívají Qt nebo nadstavbovou platformu V-Play. Upozornil také na nový oficiální web Qt na qt.io.

Každá verze Qt vzbuzuje větší zájem

Qt vede mezi cross platform platformami

Qt bude podporováno pro všechny relevantní platformy, nové kompilátory (C++ 14 standard) a operační systémy. Také staré Qt řady 4.8.x bude podporováno ještě nejméně rok.

Vzhledem k expanzi do všech platforem je Qt stále ještě prodělečné. Vlastník kódu Digia ze své Qt divize udělá samostatnou firmu The Qt Company, aby na hospodářské výsledky bylo vidět. Ajvaj!

Proto se také nabízejí i různé menší edice Qt než velká komerční edice s roční obnovou za velké peníze. Pro malé mobilní vývojáře je tu například licence pro WinRT/Android/iOS placená každý měsíc dvaceti pěti dolary.

Dílčím cílem pro příští rok je také podpora ve všech částech životního cyklu produktu, nejenom ve vývoji samotném, ale i v integraci, instalaci, podpoře atd. Za to se možná také dá něco utržit.

Mnoho se očekává od zabudované elektroniky v automobilovém průmyslu, kde Qt má vzrůstající podíl. To bylo téma mnoha vystavovatelů a také přednášejících, kteří očekávají v automobilové elektronice podobný převrat, jako nastal u mobilních telefonů, chtějí být při tom a dodat svůj software.

Finální verze 5.4 má vyjít koncem listopadu 2014.

Technické novinky

  • podpora OS X 10.10 Yosemite
  • podpora aplikací pro Windows Store
  • přepracovaný OpenGL support – starý OpenGL modul už byl letitý a nesl si s sebou své problémy, například pod Windows se musel řešit překlad pod nativní OpenGL nebo pod ANGLE(DirectX), v novém OpenGL už je to dynamicky přepínatelné. Vůbec QtOpenGL je v 5.4 jako deprecated a nové OpenGL třídy jsou v QtGui, kde jsou stejně potřebné pro akceleraci QtQuick obrazovek
  • na Windows 10 většinou jede slušně
  • vyjde nová verze QtQuick kompilátoru – ten přetransformuje QML uživatelské rozhraní do C++ kódu, aby hlavně na embedded platformách ušetřili parsování a interpretaci JavaScriptu – program je pak ovšem vázaný na konkrétní Qt verzi, se kterou byl vytvořený
  • opravy chyb

Windows Runtime

  • plně podporováno v Qt 5.4
  • nové moduly jako Positioning, Enterprise Controls, cloud Engin.io, QtQuick kompilátor, multimédia
  • ve verzi 5.5 přibude Bluetooth/LE a podpora in-app purchasing

Android

  • menší velikost instalačních balíčků, rychlejší start aplikace
  • QtQuick Controls mají nativní vzhled, také manipulace s textem vypadá víc jako nativní
  • podpora build systému Gradle
  • Qt od verze 5.3 podporuje Andoid verze „L“

iOS

  • support iOS 8, XCode 6
  • stejně jako u Androidu QtQuick Controls mají nativní vzhled, manipulace s textem vypadá víc jako nativní

Bluetooth/Bluetooth LE

V Qt 5.4 bude Bluetooth API pro platformy Linux, Embedded Linux a Android. Pro další platformy (iOS, WinRT) bude v budoucích verzích.

Qt WebEngine

Po rozštěpení vývoje WebKitu Qt následuje Google a jeho QtWebEngine je nadále postaven na projektu Chromium a podporuje tak všechno, co Chromium. Prohlížeč je plně integrován do widgetů i QML. Komunikace s nativním kódem je možná skrze Qt WebChannel, který umožňuje i začlenění Qt objektů v HTML5, jako to dělával QObject bridge pro WebKit.

Qt Creator 3.3

Nová verze vývojového prostředí bude obsahovat zlepšený QML editor, QML profiler a rozšířené možnosti refactoringu.

Qt 3D 2.0

V době, kdy Qt končilo u Nokie, byl zveřejněn přídavný modul Qt 3D 1.0, který nabízel API pro jednoduché 3D scény, ale modul měl mnoho omezení a v následném rumraji byl uložen k ledu.

Teď nápad oprášili inženýři z KDAB a dokončují zcela nový design modulu s rendererem řízeným daty. Scéna je postavená na paradigmatu entita-komponenta jako mnoho moderních 3D enginů. Cílem je nabídnout flexibilní 3D vizualizaci s Qt a QML rozhraním, pozicovanou zhruba na úrovni VTK. Modul bude brzy k dispozici jako technické preview v Qt 5.4.

ArcGIS Qt SDK

Firma ESRI vydala před necelým rokem Qt rozhraní pro svůj geografický informační systém ArcGIS. Teď doplnili v beta verzi i QML komponenty pro práci s mapami. Běhá to vážně pěkně, mě osobně to velmi nadchlo, protože považuji geodetický aspekt dat za důležitý, ale neměl jsem žádný aparát, jak ho jednoduše do aplikace přidat – a tento toolkit se mi zdá být velmi slibný.

Standardně se aplikace připojuje na data společnosti na webu, ale je prý možné používat data off-line, pro placené aplikace je potřeba odvést nějaký obolus. C++ rozhraní může použít i data z OpenStreetMap, QML mapa to ještě neumí, protože je moc čerstvá.

GammaRay běhový debugger

GammaRay z dílny KDAB je zase o něco lepší – po připojení se ke QML aplikaci dokáže přímo za běhu měnit data QML objektů, zvýraznit přímo v aplikaci QML element vybraný v debuggeru, aby se programátor zorientoval v komplikované scéně. Dokáže jít ještě o úroveň níž a ukázat graf scény jako uzly vykreslovaného grafu scény, kde elementy jsou shluky OpenGL primitiv.

CS24_early

Datová kostka

Když potřebujete agregovat data obsáhlého item modelu do menšího objemu, nad kterým se člověk dokáže rozhodovat, můžete použít komponentu QDataCube. Je tam i view pro datovou kostku, ale člověk se s tou knihovnou trochu zapotí, než ji přeloží. Nicméně věc je to občas potřebná.

Blbinka

O šéfech se říká ledacos, ale tento by v českém nebo slovenském prostředí opravdu těžko obstál…

Upoutávka na ukázku produktů od QNX předváděná manažerem se zajímavým jménem

Byl pro vás článek přínosný?