Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Autoři aplikací ovšem naráží na vážný problém, kterým jsou nástroje potřebné k vývoji, často pouze přenesené do mobilního světa z „dospělých“ desktopů a určené k jiným účelům. Ačkoliv v mobilním sektoru dominuje jen pár výrobců, je vývoj pro větší škálu různých zařízení noční můrou. Zároveň z pohledu příznivců otevřeného software se často jedná o uzavřené platformy. Tohle vše se chystala změnit Nokia akvizicí norské společnosti Trolltech a jejich frameworkem Qt. Ten zahodil svůj desktopový ráz a díky technologii Qt Quick se stal mobilní platformou, která má i přes změny v Nokii nakročeno k naplnění hesla „Qt Everywhere“.
Framework Qt rozhodně není v mobilním světě nováčkem – již v roce 2006 byl k dispozici Greenphone, byl to smartphone s uživatelským rozhraním zvaným Qtopia. Jednalo se o zařízení určené pro vývojáře, dodávané přímo firmou stojící za Qt. Qtopia byla tou dobou proprietární systém a kromě Greenphone se používala i ve vybraných handheldech (jedno z dnes již zapomenutých slov) různých výrobců. S otevřením zdrojových kódů bylo možné vidět část Qtopie (později Qt Extended) i na známém open source telefonu Neo Freerunner a dodnes probíhá vývoj distribuce Qt Moko – kompletně postavené na původním základu Qtopie/Qt Extended.
Vše se změnilo vstupem Nokie do Trolltechu. Nokia už dávno před tímto krokem koketovala s open source systémem – komunikátory N700 a N800 se systémem Maemo a v té době se dokončoval první mobilní telefon (či spíše mobilní počítač) N900 s uživatelským rozhraním postaveným na Gtk/Clutteru. Projekt Qt Extended byl ukončen a trollové se soustředili na Qt jak pro existující systém Symbian, tak i pro příští verzi Maema – Harmattan, který se dnes označuje jako MeeGo Harmattan. Pokračování ságy je ovšem všem čtenářům tohoto portálu známé – Nokia změnila strategii vstříc Windows Phone a Qt se tak zdálo odepsané. Za tu dobu ovšem vznikla spousta zajímavých technologií – QML s Qt Quick, Qt Mobility, Qt Creator, Nokia vydala výbornou N9, Symbian obsahuje Qt a počet dostupných aplikací dále roste i pro tento systém. Části WebOS od HP jsou postavené na Qt a QML, firma RIM oznámila podporu Qt ve svém operačním systému (hledejte Cascades) a i Nokia nadále na Qt pracuje v rámci strategie „next billion“. Qt si dnes žije vlastním životem – jako kompletně open source projekt, kde za první tři měsíce již více jak 30 procent příspěvků do zdrojových kódů pochází od nezávislých vývojářů a firem.
Pojdme se tedy podívat, co Qt obnáší. Hlavní náplní tohoto dílu seriálu o použití Qt pro vývoj mobilních aplikací je příprava vývojového prostředí, jeho instalace a seznámení se s důležitými nástroji. Závěr pak bude tvořit obligátní Hello World aplikace pro systémy Harmattan (a také Symbian).
V dalších dílech se dozvíte více o samotném Qt, a to především o technologii Qt Quick s jazykem QML. Také se dozvíte o tvorbě komplexní aplikace v Qt Components, propojení s jazykem C++ a o distribucí finální aplikace do Nokia Store, případně dalších repozitářů mobilních aplikací. Samozřejmě nezůstaneme jen ve sférách mobilních aplikací, kdy se QML prolíná se známým desktopovým prostředím KDE Plasma, postaveným nad Qt. Zároveň se blíží i nová verze Qt, která dále integruje vše, co si jen představíme, do kompaktního celku se spoustou vylepšení.
Qt Creator je integrované vývojové prostředí (IDE) určené především pro vývoj aplikací v Qt od společnosti Nokia, a to přesněji její berlínské pobočky. V Qt Creatoru je možné pracovat jak na klasických (nejen) desktopových aplikacích v C++, tak v jazyce QML. Pro tento jazyk nabízí Qt Creator i grafický návrhář vzhledu a profiler. Qt Creator najdete dnes prakticky ve všech distribucích v jejich repozitářích. Ovšem v případě této volby distribuce je na uživateli, aby si nastavil zbytek prostředí, jak toolchain pro danou cílovou platformu (kde linuxový desktop je nejjednodušší), tak ostatní nástroje, jako je Qt Simulator a podpora tvorby instalačních balíčků. Proto společnost Nokia nabízí takzvané Qt SDK – jeden velký balík, kde je vše již předpřipravené a také tomu odpovídá i jeho velikost. Pro Windows a Mac má offline instalátor přes 1,2 GB, pro Linux je zhruba poloviční. Rozdíl je způsoben distribucí Symbian toolchainu pro Windows a Mac, linuxová verze bohužel neumožňuje překlad aplikací pro tento mobilní systém. V následujícím textu si však ukážeme, jak je možné toto nepříjemné omezení obejít.
První krok instalace je stažení instalačního balíku z webu Nokie – v seriálu se předpokládá použití verze pro Linux, ale Windows i Mac verze jsou velmi podobné. Pro každou platformu existuje jak online, tak offline verze instalátoru. (Pozn.: Autor článku doporučuje právě offline verzi, a to především z důvodu výpadku připojení k serverům Nokie, které autor sám několikrát zažil.) Staženému souboru nastavíme běžným způsobem práva pro spouštění (chmod +x soubor) a po jeho spuštění se objeví okno instalátoru. Ten Vás bude provázet jak při instalaci/odinstalaci součástí Qt SDK, tak i při aktualizaci na nové verze. Při prvotní instalaci je vhodné nechat nastavení instalovaných komponent na instalátoru, jednotlivé části si vysvětlíme později. Součástí tohoto nastavení budou Qt knihovny (s Qt Mobility a Qt Components), samotný Qt Creator, simulační nástroj mobilních zařízení Qt Simulator a dokumentace. Bude také připraven kompletní toolchain pro vývoj aplikací pro Harmattan. Při instalaci je také potřeba potvrdit licenční ujednání pro jednotlivé komponenty.
Po úspěšné instalaci je možné spustit vývojové prostředí přímo z instalátoru či běžně z menu aplikací pod názvem Qt Creator.
Nyní si ukážeme, jak v Qt Creatoru začít nový projekt – mobilní aplikaci pro platformu Harmattan (tedy N9/N950). Jen malé poznámka – Qt Creator sám o sobě má českou lokalizaci, v článku však budeme používat anglickou verzi. Vývojové prostředí nabízí několik možností jak vytvořit nový projekt, buď v menu File
vybereme New File or Project
nebo rámci záložky Welcome/Getting Started
stiskneme tlačítko Create Project
. Nabídne se výběr z několika šablon – jak desktopových Qt Widget Project
, tak pro nás zajímavější Qt Quick Project
. A protože chceme začít psát celou aplikaci, nejen uživatelské rozhraní v Qt Quick nebo rozšíření QML v jazyce C++, zvolíme tedy volbu Qt Quick Application
.
Následně je potřeba nastavit název projektu – píšeme (či spíše necháme si vygenerovat) jednoduchou aplikaci Hello World, takže nazvěme aplikaci hello. U názvu je dobré být již od začátku konzervativní a používat raději jen alfanumerické znaky, protože některé balíčkovací systémy mohou použití jiných znaků omezovat. Jako Qt Quick Application Type
vybereme Qt Quick Components for MeeGo/Harmattan
. Tak budeme moci využít předpřipravených grafických prvků pro Harmattan a bezproblémovou integraci do systému. Použití čistého Qt Quick a psaní vlastních komponent bude náplní druhého dílu seriálu.
V posledním kroku nastavíme cílovou platformu, pro kterou budeme projekt překládat a spouštět. V našem případě to bude Qt Simulator a Harmattan
. Ten můžete zvolit, i pokud s ním žádné zařízení nevlastníte. Výsledkem bude debianní balíček, který můžete zkusit např. přes Remote Device Access
. Ti, co předbíhali a nakonfigurovali si vlastní instalaci, uvidí i Remote Compiler
, nabízející vzdálený překlad pro Maemo, Symbian a Harmattan. Cíle projektu se dají později změnit v záložce Projects
kliknutím na plus (případně mínus pro odebrání cíle).
Následně můžeme nastavit ikonu aplikace, ale v této chvíli dáme přednost nabízené defaultní ikoně. Ikona se dá samozřejmě později změnit (pro Harmattan obyčejné PNG, Symbian je komplikovanější kvůli nutnosti využití SVG a to ještě omezené podmnožiny). Zkontrolujeme, že máme vybráno Make application boostable
– aplikace pak startuje rychleji.
Qt Creator nakonec nabídne v rámci průvodce možnost přidat projekt do některého z vybraných verzovacích systémů (např. Git, Mercurial atd.). Pro Harmattan taky dostaneme možnost vybrat předgenerované soubory pro tvorbu balíčku, jejichž přidání odsouhlasíme. V této chvíli pro nás Qt Creator vygeneroval celou strukturu aplikace Hello World. V následujícím odstavci se na ni podíváme podrobněji.
Qt Quick aplikace vytvořené pomocí průvodce v Qt Creatoru mají pevně danou strukturu a rozdělení jednotlivých zdrojových kódů do podadresářů. V rámci projektu můžete vidět soubory v jazyce C++, podprojekty, balíčkovací informace a především zdrojové kódy aplikace v QML.
Nejdůležitější součástí aplikace je projektový soubor, v našem případě hello.pro. Při běžném použití se o jeho obsah stará vývojové prostředí, ale jsou situace, kdy je potřeba ruční editace. Jedná se např. o přidání podpory vybraného Qt modulu, definice potřebné pro balíčkování pro Symbian (capabilities, UID), o kterých si povíme v jednom z následujících dílů seriálu o distribuci aplikace, atd.
Do projektu je také vložený jeden podprojekt – qmlapplicationviewer
– předpřipravený prohlížeč QML souborů, který vývojáři usnadní práci s vlastním prohlížečem. Jinak je možné jak napsat si vlastní, tak i vložit QML soubory např. do desktopové aplikace. V rámci našeho seriálu budeme využívat právě tento prohlížeč, a to i z důvodu dobré integrace aplikace na mobilním zařízení (booster na Harmattanu atd.). Jelikož se jedná o automaticky dodávaný a především aktualizovaný podprojekt (IDE nabídne po aktualizaci Qt SDK), tak je dobré se vyvarovat změn jeho kódu. Prohlížeč je následně integrován do aplikace v souboru main.cpp. Zde jsou již ruční modifikace povoleny a k jejich možnostem se dostaneme v dílu o rozšiřování funkcionality Qt Quick v jazyce C++. Na ten ale prozatím můžeme zapomenout (což se může zdát podivné, jelikož celé Qt se až doposud týkalo C++).
To nejzajímavější se ovšem skrývá pod položkou QML – obsah adresáře qml/hello. Jedná se o předgenerované soubory – main.qml
a MainPage.qml
. Qt Components aplikace jsou složeny ze zásobníku jednotlivých stránek (komponenta Page) zobrazených v okně (komponenta PageStackWindow
), které lze buď přidat na jeho vrchol (klasická push operace), či odebrat (pop). V MainPage.qml je tak definována základní stránka aplikace, která je poté instanciována v main.qml a nastavena jako prvotní stránka. Nedílnou součástí souboru jsou i importy externích komponent – obecně komponenta QtQuick a pro MeeGo Harmattan komponenta com.nokia.meego. Obojí si detailněji ukážeme v následujícím dílu o QML, Qt Quick a Qt Components.
main.qml (kompaktní verze pro zjednodušení výpisu)
import QtQuick 1.1 import com.nokia.meego 1.0 PageStackWindow { id:appWindow
initialPage:mainPage
MainPage { id:mainPage
Label { id:label
anchors.centerIn:parent
text:qsTr("Hello world!")
} } }
Nyní se dostáváme k poslednímu kroku – naši aplikaci chceme vidět naživo. Qt SDK nám nabízí několik možností. Buď máme k dispozici reálný hardware s Harmattanem (či jiným systémem podporovaným v Qt Creatoru) nebo se v rámci SDK dodává QEMU obraz s předinstalovaným systémem. Další možností, kterou nyní využijeme, je Qt Simulator. Přesvědčíme se, že je vybraný – viz screenshot vlevo –, a pokud ne, klikneme na ikonku pod nápisem hello. Vývojové prostředí pak nabídne možnost volby cíle. Výhodou Qt Simulatoru je především rychlost běhu aplikace – běží nativně na systému bez nutnosti virtualizace a především nabízí možnost simulovat různá zařízení (N9, Symbian) v jejich rozlišeních, s možností rotace displeje a se simulací jejich funkcionality (jak hardware, tak například i seznam kontaktů, kalendář atd.). Podrobněji si Qt Simulator opět projdeme ve spojitosti s Qt Mobility a testováním aplikace.
Ke spuštění slouží dvě tlačítka s ikonou zelené šipky (druhá je spuštění v ladícím módu; pokud to zařízení podporuje, je také možné ladit vzdáleně, a to jak C++, tak i QML). Druhou možností je v menu Build
vybrat položku Run. Odpovídající klávesová zkratka je Ctrl+R.
Po spuštění aplikace se zobrazí okno simulátoru s oknem aplikace umístěným ve zvoleném tématu skutečného hardware. A po stisknutí tlačítka Click here! uvidíme svou první aplikaci, která nás tímto slušně pozdraví. Jak můžete vidět – aplikace se velmi dobře integruje do systému Harmattan – používá stejný styl, spodní část obrazovky vyplňuje nástrojová lišta, a ta obsahuje menu. Ale o tom již více příště!
Sdružení Openmobility spouští soutěž Be Qt: soutež ve vývoji mobilních aplikací pro platformy MeeGo Harmattan a Symbian. Hlavní cenou pro nejlepší aplikaci je linuxová Nokia N9.
Tento seriál vychází ve spolupráci s občanským sdružením Openmobility.
Cílem Openmobility je podporovat a propagovat otevřená řešení v oblasti mobilních technologiích v širším kontextu.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Například když chceš dopočítávat druhé políčko dialogu, pokud uživatel zaškrtne "zachovat poměr stran".Jako jo, ale tohle v 95% případů nepotřebuju. Naopak se do toho takhle zbytečně zapojí další parsování, reflexe atd.