:

Szerző: Gálffy Csaba

2016. március 18. 13:00

Élesedett a hosszanfriss Qt 5.6

Változó licenckonstrukciók, okosabb beágyazott fejlesztés, kiteljesedett Windows 10-támogatás - csupán néhány a Qt fejlesztői keretrendszer legfrissebb újdonságaiból.

Elkészült a Qt nyílt forráskódú keresztplatformos fejlesztői keretrendszer friss, 5.6-os kiadása - jelentette be a projektet vezető Lars Knoll a Qt blogján. A friss verzió jelentős, néhány hónapos csúszással érkezik, de úgy tűnik érdemes volt várni, ütős csomagot hoztak össze a keretrendszer készítői. Lássuk az újdonságokat!

A legfontosabb újítás a Windows 10 támogatás kiteljesedése. Ugyan a Qt 5.5-tel a kompatibilitás első fele megérkezett, a teljeskörű támogatást csak az 5.6 hozta el. Ez azt jelenti, hogy a Qt 5.6 immár mind a Win32-es, mind pedig az újabb WinRT (UWP) API-kat támogatja, így ezek a keretrendszeren keresztül is hívhatóak. A Qt-ban fejlesztett alkalmazások így képesek asztali környezetben, valamint tableten és telefonon is futni, illetve feltölthetőek a Windows Store-ba is.

Egyelőre hiányzó láncszem, hogy a Visual Studio 2015-höz még nem készült el a friss Qt-plugin, ezért áthidaló megoldásként egy bináris csomagot biztosítanak a fejlesztők a VS fordítójához. A teljesértékű add-in fejlesztése is megkezdődött, hamarosan az is elérhetővé válik majd. A VS előző verziói támogatottak maradtak.

Egy másik újdonság a magas pixelsűrűségű (high DPI) kijelzők támogatása. Ehhez eléggé mélyen bele kellett nyúlni a keretrendszerbe, de immár nem csak OS X-en, hanem más platformokon is működik a skálázódás. "Ez lehetővé teszi, hogy az eredetileg standard pixelsűrűségű kijelzőkhöz készült alkalmazások automatikusan skálázódni tudjanak más sűrűségen is." Nagy előny, hogy ehhez különösebb portolásra nincs szükség, a meglévő Qt alkalmazások könnyen felruházhatóak ezzel a képességgel. Erről egyébként külön blogposztban is megemlékezett a Qt.

Skálázódás - elintézi a keretrendszer.

A Qt-t a fejlesztők igyekeznek a beágyazott és IoT alkalmazások készítéséhez is jobban pozicionálni, ennek megfelelően az 5.6 hozott néhány fontos változást. Az első, hogy windows környezetből is lehet linuxos alkalmazásokat fejleszteni - ez azért fontos, mert rengeteg készülék futtat valamilyen Linuxot, a fejlesztéshez viszont már nem feltétlenül szükséges a munkaállomáson is Linuxot futtatni. Egy másik módosítás a Qt saját virtuális billentyűzetének frissítését takarja, ami mostantól beépített kézírás-felismeréssel rendelkezik. Ez jellemzősen az olyan rendszerek esetében értékes, ahol az operációs rendszer nem kínál saját billentyűzetet. A harmadik a "boot to Qt software stack", mely immár támogatja Yocto Project elemeit - ez azt jelenti, hogy a Yoctóval létrehozott egyedi Linux disztribúciónk és a Qt között jobb integráció van, a Qt kezelni tudja a Yocto metarétegeit.

Masszív keretrendszer lévén a Qt saját webes implementációval is rendelkezik, ez a Qt WebEngine. Persze (szerencsére) szó nincs arról, hogy saját renderelőmotort készítene a csapat, a WebEngine Chromium alapokon nyugszik, ez most a Chromium 45-re frissült. Ennél fontosabb azonban, hogy megjelent a PPAPI támogatása, így az alkalmazásokban immár megjeleníthető például Flash tartalom is.

Hosszanfriss kiadás, kritikus projektekhez

Az 5.6-os kiadás fontos jellemzője, hogy ez úgynevezett LTS (long term support), vagyis "hosszanfriss" kiadás, amely a többi verzióhoz képest sokkal hosszabb támogatási periódussal rendelkezik. Ez azt jelenti, hogy olyan környezetben, olyan fejlesztési projektekhez, amelyek igénylik az évekig stabil és változatlan keretrendszert, ez lehet az ideális választás. Az előző LTS kiadású Qt még a 4.8-as verzió volt, ennek támogatása most jár le, melynek helyébe lép majd a jelenleg debütáló 5.6-as. A fejlesztők vállalása szerint ez a verzió legalább 3 évig kap majd támogatást, vagyis rendszeresen kap majd biztonsági és egyéb frissítéseket, javításokat, sőt, extra támogatás még ezt követően is vásárolható hozzá.

Machine recruiting: nem biztos, hogy szeretni fogod

Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

Machine recruiting: nem biztos, hogy szeretni fogod Az AI visszafordíthatatlanul beépült a toborzás folyamatába.

Az LTS kiadás másképp is mérföldkő, a következő verzió egy új fejlesztési ciklus kezdete lesz, így várhatóan a Qt 5.7-ből több elem is kikerül majd. Ezzel néhány öregedő platform támogatása is megszűnik, illetve kötelezővé válik a C++ 11-gyel kompatibilis fordító használata. Van némi változás a támogatás területén is, az 5.7-től a standard támogatás két év helyett már csak egy év lesz, de ennek lejárta után lehet majd vásárolni kereskedelmi támogatást.

Változik némileg a licencelés is. Egyrészt a licencfeltételek LGPL v2.1-ről LGPL v3-ra váltanak, és rengeteg, korábban zárt komponens megnyílik GPL alatt. Ezek a változások a következő, az 5.6-ot követő verziókkal lépnek majd érvénybe, de a Qt-t használó szabad szoftveres fejlesztőknek érdemes lesz az implikációkat számba venni. Az üzleti modell is módosul, legalábbis annyiban, hogy megjelent egy új licenckonstrukció, a Qt Start-up Plan, amelyet évi 100 ezer dollárnál kisebb bevételű cégekre szabott a Qt. Ennek bekerülési költsége 99 dollár havonta (vagy 948 dollár évente), és teljes kereskedelmi licencet biztosít a Qt for Application Development csomaghoz.

Eleged van az eltérő környezetekből és az inkonzisztens build eredményekből? Frusztrál, hogy órákat kell töltened új fejlesztői környezetek beállításával? Többek között erről is szó lesz az AWS hazai online meetup-sorozatának ötödik, december 12-i állomásán.

a címlapról