pondělí 20. října 2008

Qt na mobilních telefonech s operačním systémem S60

Společnost Qt Software v posledních měsících horlivě pracuje na portu Qt pro velmi rozšířenou platformu mobilních telefonů S60. Jeden z vývojářů bývalého Trolltechu se nyní na svém blogu pochlubil s funkční verzí balíčků a ukázek, které může vyzkoušet každý.

V dubnu tohoto roku jsme v Trolltechu v Oslu zahájili nový projekt "Qt pro S60" a od té doby jsem byl netrpělivý, kdy o něm konečně budu moci něco napsat. Teď přišel čas, kdy tu možnost konečně mám! V podstatě se nám podařilo naportovat Qt pro další platformu, S60, což znamená kolem 80 milionů nových zařízení, na kterých lze s úspěchem Qt provozovat. Naše představa, že Qt bude nakonec všude, se stává každým dnem více a více realitou.

Přejděme k podstatnějším věcem:
stáhnout pre-release balíčky,
stáhnout naše fluidlauncher demo, které můžete zkusit na svém telefonu.


Video, na kterém je vidět rozběhnuté Qt na 3 různých telefonech

Pár vět o technické ukázce a demech

Pre-release balíček Qt pro S60 můžete dostat ve dvou licenčních podobách. Buď jako opensource (GPL2 nebo GPL3) balíček nebo jako komerční preview-commercial balíček. Co se týče obsahu, tak v nich není žádný podstatný rozdíl. Nicméně opensource balíček obsahuje předkompilované binární soubory, které v tom komerčním nenajdete. Důvodem je to, že si kompilátor (GCCE), který je dostupný opensource vývojářům, v tomto okamžiku neumí poradit s Qt knihovnami. RVCT si s nimi sice poradit dokáže, ale k němu zase pro změnu asi nebudete mít přístup vy, protože není volně dostupný.

Takže v zásadě s opensource balíčkem budete překládat s GCCE, ale sestavovat budete s knihovnami, které jsme pro Vás připravili ve RVCT. Co se týče komerčního balíčku, tak tam předpokládáme, že máte k RVCT přístup a necháme vás udělat všechny ty věci okolo ve vlastní režii. Jsem si jist, že se s tímto GCCE problémem do příští technické ukázky vypořádáme.

Qt moduly, které jsou v balíčcích dostupné:
* QtCore - všechny ne-Gui třídy
* QtGui - vykreslování a widgety
* QtNetwork - TCP, HTTP a tak podobně
* QtTest - unit testing

Podpora je dostupná pro S60 3.1 a vyšší. Dokonce i pro zařízení 5.0, které právě vyšlo :) Mimochodem, pokud se pokusíte nainstalovat demo, které je výše, na telefon, který jede na verzi 3.1, musíte si nainstalovat navíc Pips/Open C. Samozřejmě jsme pro vás už připravili balíček.
Na závěr si dovolím obrázek zařízení, které jsem měl po ruce, jen abyste viděli, že mluvím pravdu.

Qt na různých zařízeních se systémem S60

Původní článek lze najít na espernově Qt Labs Blogu

čtvrtek 9. října 2008

Budou mobilní zítřky patřit Linuxu?

Společnost Nokia se snaží začlenit novou mobilní platformu do dalších generací svých mobilních zařízení. Založila společně s mnoha dalšími významnými hráči na poli mobilního průmyslu koalici a koupila společnost Trolltech. Naproti tomu jí a dalším jejím konkurentům roste konkurence v platformě Google Android. Je však jedna věc, která všechny spojuje. Linux, který jak se zdá, bude hrát v nadcházejících letech prim.

Nokia získala majoritní podíl v norské softwarové firmě Trolltech počátkem tohoto roku za v přepočtu 153 milionů dolarů a nyní pracuje na konsolidaci technologie od Trolltechu jejíž cílem má být zjednodušení vývoje na platformě Qt. Zároveň je Nokia společně s Sony Ericssonem, Motorolou, AT&T, LG Electronics, Samsung Electronics, či Vodafonem v konsorciu Symbian Foundation, který se snaží konsolidovat platformy, které používá drtivá většina dnešních výrobců. Jmenovitě Symbian OS, S60, UIQ a MOAP(S). Výsledkem práce nevýdělečného konsorcia, které má otevřené dveře i pro další výrobce a operátory má být práce a další vývoj mobilních platforem blízké budoucnosti. Výsledky práce mají být šířeny jako Open source pod licencí Eclipse Public License (EPL) 1.0, čili otevřeně, aby se na jejich vývoji mohl podílet co největší počet lidí.

Mezitím se ale za velkou louží, značně vzdálenou Evropským luhům, které ovládá Nokia nebo Asijským stepím, kde má sídlo LG, rodí jiný a také značně slibný projekt s názvem Google Android. Jedná se o Linuxovou softwarovou platformu určenou pro mobilní zařízení, kterou vyvíjí konsorcium Open Handset Alliance v čele se společností Google.

Ač by se mohlo zdát, že prozatím se jedná jen o dva příběhy, které se shodou náhod střetli v čase a jinak spolu nesouvisí, společným pojítkem jsou vývojáři, vývojové platformy a technologie, které všechny společnosti musí mít. Vývojáři jsou zřejmě nejcennějším artiklem, který se v dnešní době častých vydání nových verzí firmwarů a oprav telefonů, stává nedostupným. Vývojářů je málo a tak se všechny společnosti snaží zaujmout komunity, které jsou sdruženy kolem jiných (ne úplně mobilních) projektů. To je i případ nákupu společnosti Trolltech, kterou Nokia po ovládnutí přejmenovala na Qt Software. Qt, neboli jazykový framework (použitelný například s C++), který tato společnost vyvíjela je použit například v jednom ze dvou nejrozšířenějších Linuxových desktopových prostředí, KDE. Když získáte přístup k jazyku, který programátoři používají, získáte pravděpodobně i programátory.

Tablety od Nokie mají používat Ubuntu Linux a Qt

Jako jasný důsledek těchto akcí se jeví zpráva se kterou přišel internetový magazín arstechnica.com. Čili,že Open source platforma Maemo, kterou firma Nokia používá na svých Internetových tabletech, má brzy podporovat vývojový toolkit Qt, který vydává firma Trolltech. Nokia dodala, že framework Hildon, který je založen na GTK, bude dále používán jako hlavní toolkit pro uživatelské rozhraní Maema a základní aplikace. Zároveň se ale budou společně s Maemem distribuovat Qt knihovny, což v konečném důsledku umožní vývoj i programátorům třetích stran.

Platforma Qt Extended

Nokia oznámila, že v jejich internetových tabletech bude možné použít platformu Qt Extended. Platforma je samotný základ na kterém vše poběží, do jisté míry předurčuje co budou moci programy, které na platformě poběží dělat a jak budou vypadat. Platforma Qt Extended se skládá z 19 samostatných komponent, které pokrývají širokou škálu funkcí, včetně zasílání zpráv, multimédií a funkcí souvisejících s produktivitou.

"Qt Extended je navržena tak, aby urychlila vývoj softwaru pro širokou škálu klientských zařízení, jako jsou video IP telefony, přehrávače médií a ostatní moderní zařízení," uvedl viceprezident firmy Nokia, Sebastian Nystrom.

Základní funkce v modulu telefonie zahrnují podporu GSM, GPRS a VoIP. Platforma obsahuje referenční implementace, které mohou vývojáři dále rozvíjet či modifikovat. Přístup k hardwaru je umožněn skrze abstraktní vrstvy, které umožňují vývojářům snazší práci a konzistentní přístup k těmto zařízením.

Qt Extended přichází i s řadou dalších užitečných věcí, včetně QWebKit widgetu pro tvorbu mobilních prohlížečů a klientů složitých internetových aplikací. Podporuje Bluetooth a WiFi, a některé důležité součásti síťových architektur.

Platforma Android umožňuje vývojářům psát aplikace v jazyce Java a Qt Extended je postaveno i nad C++. Co z toho mimo jiné plyne? Oba jazyky jsou multiplatformní, takže se dají provozovat jak na systémy z Windows, tak s Linuxem. Je tedy velice pravděpodobné, že se brzy setkáme s větším rozšířením Linuxu i na mobilních platformách.

Při psaní článku byly použity informace z:
KDE
Symbian Foundation
Android

středa 8. října 2008

Tablety od Nokie budou používat Ubuntu Linux a Qt

Open source platforma Maemo, kterou firma Nokia používá na svých Internetových tabletech, má brzy podporovat vývojový toolkit Qt, který vydává firma Trolltech. Nokia dodává, že framework Hildon, který je založen na GTK, bude dále používán jako hlavní toolkit pro uživatelské rozhraní Maema a základní aplikace, ale zároveň bude distribuovat společně s Maemem Qt knihovny, takže v konečném důsledku umožní vývoj i programátorům třetích stran. Takové rozhodnutí jistě není jen otázkou altruismu Nokie, ale z části opodstatněným pokusem přimět pro vývoj na platformě Maemo více lidí.

Nokia, která před nedávnem získala majoritní většinu společnosti Trolltech má s Qt ambiciózní plány, které se týkají samozřejmě jejích mobilních platforem. Nokia se pokouší nastartovat vývoj aplikací, které budou krom Maema provozovatelné i na S60, což je proprietární operační systém, které Nokia používá ve svých telefonech.

Spojili jsme se emailem s manažerem z firmy Nokia, který má na starosti vývojové platformy, Quimem Gilem, který nám sdělil bližší podrobnosti: "Máme za cíl prozkoumat mezi-platformní možnosti systémů S60 a Maemo a také tím chceme zjistit zájem o vývoj aplikací pro tablety ve vývojářské komunitě. GTK a Qt se daří žít v symbióze na Linuxových pracovních stanicích, tak proč to nezkusit i v Maemu. Je to mimo jiné i způsob jak upoutat větší pozornost ze strany KDE komunity."


Budou takto vypadat mobilní zařízení od Nokie?
Nokia navíc aktivně přispívá na port Ubuntu ARM, který má přenést populární Linuxovou distribuci na Internetové tablety od Nokie. Sestavené ARM Ubuntu, které je vyvíjeno Ubuntu Handheld Mojo týmem, můžete zkusit v QEMU nebo se jej můžete pokusit spustit na Internetovém tabletu přímo z SD karty.

Původní článek lze nalézt zde: Nokia Internet Tablets get Ubuntu and Qt.

Qt Phonon - multimediální přehrávač pod 900 řádků

Na Qt videích od Trolltechu lze najít ukázku velice jednoduchého přehrávače multimediálních dat, který je založen na multimediálním frameworku Phonon. Dle autorů, se dá aplikace, využívající kodeky a nativní prostředí OS, která je schopná přehrát multimediální data napsat na méně než 900 řádků zdrojového kódu.

úterý 7. října 2008

Qt a XML - zpracování informací skrze XML vzory

Qt nabízí několik možností jak naložit s XML dokumenty mezi něž patří například čtečka a zapisovačka proudu XML dokumentů (XML stream reader/writer) či C++ implementace protokolů SAX a DOM. Qt ale navíc obsahuje i XQuery - jednoduchý dotazovací jazyk podobný SQL, který dokáže zpracovat XML dokumenty a ve výsledku vrátit agregované XML elementy, které Vás zajímají. Samozřejmě, že výsledek můžete dále transformovat a výstupem nemusí být XML, ale například XHTML.
Na ukázku velice jednoduché aplikace, která ukazuje pár z "chutných" možností XML v Qt lze shlédnout ve videu na stránkách o Qt přímo u Trolltechu.
Text byl z části přeložen z Libraries in Qt - XML.

Qt na mobilních zařízeních

Jeden z projektů, které se zabývají zprovozněním Qt na mobilních zařízeních nese název QTablet. Dal si za cíl vytvořit aplikační framework, který bude poskytován jako open source a bude plně Qt Embedded (založen na jádru Qtopia). Podporovat by měl zařízení jako jsou například Nokia N800 či N810.

Zde jsou ukázky funkčních prototypů (autor nechal projekt, ať mluví sám za sebe):




Hlavní stránka projektu QTablet.

Další Qt video přímo od Trolltechu ukazuje aplikace udělané v Qt 4.4 jedoucí na Linuxovém a Windows CE mobilu (Neo1973 a HTC Touch Cruise).

Nové vlastnosti Qt 4.4

Qt 4.4 přináší řadu vylepšení. Z úst vývojáře Trolltechu si můžete na vlastní uši poslechnout, o jaká že to vylepšení se jedná (WebKit, multimediální Phonon, zmínka o Qt pro Windows CE či vícevláknové Qt aplikace).



Lepší video je i zde na stránkách Trolltechu Qt 4.4 New Features New Features in Qt.

pondělí 6. října 2008

Nokia vypustila mobilní platformu založenou na Linuxu a Qt

Nokia dnes oznámila spuštění platformy Qt Extended 4.4, což je vývojová platforma pro mobilní a vestavěné aplikace založená na open source Qt toolkitu. Její součástí je modulární architektura, která poskytuje základní stavební kameny pro uplatnění Linuxového softwaru. Její využití má pokrývat širokou řadu produktů, od vestavěných systémů až po využití v mobilních telefonech.

Nokia získala majoritní podíl v norské softwarové firmě Trolltech počátkem tohoto roku za v přepočtu 153 milionů dolarů a nyní pracuje na konsolidaci technologie od Trolltechu jejíž cílem má být zjednodušení vývoje na platformě Qt. Uvolnění Qt 4.4 Extended je součástí o oživení původního projektu platformy Qtopia, kterou Trolltech vyvíjí.

Platforma Qt Extended se skládá z 19 samostatných komponent, které pokrývají širokou škálu funkcí, včetně zasílání zpráv, multimédií a funkcí souvisejících s produktivitou.

"Qt Extended je navržena tak, aby urychlila vývoj softwaru pro širokou škálu klientských zařízení, jako jsou video IP telefony, přehrávače médií a ostatní moderní zařízení," uvedl viceprezident firmy Nokia, Sebastian Nystrom.

Platforma Qt Extended

Základní funkce v modulu telefonie zahrnují podporu GSM, GPRS a VoIP. Platforma obsahuje referenční implementace, které mohou vývojáři dále rozvíjet či modifikovat. Přístup k hardwaru je umožněn skrze abstraktní vrstvy, které umožňují vývojářům snazší práci a konzistentní přístup k těmto zařízením.

Rysy Qt Extended
Komponenta zabývající se zprávami (messaging) pokrývá celou škálu mobilních komunikačních technologií, včetně SMS, MMS, e-mailu a instantní komunikace. Je založena na Telepathy, modulárním komunikačním rámci, který je rovněž používán Nokií na platformě Maemo a rozšiřuje se i na Linuxových stanicích. Tato platforma zahrnuje knihovnu zpráv, která poskytuje vývojářům API vyšší úrovně pro vytváření zpráv a manipulaci se systémovým úložištěm zpráv. Mimo jiné zpřístupňuje i další služby Telepathy, včetně XMPP komunikace prostřednictvím Telepathy Gabble connection managera.

Podpora multimediálního obsahu je zprostředkována na vysoké úrovni abstrakce skrze knihovnu Phonon. Qt Extended podporuje Phononové backendy Helix a GStreamer, ale vývojáři mohou vytvořit i své vlastní. Multimédia budou moci implementovat DRM, která je kompatibilní se standartem Open Mobile Alliance DRM.

Platforma přichází i s vlastním PIM (personal information managementem), který využívá databázi SQLite, která je plně rozšiřitelná a může být samozřejmě paralelně používána více aplikacemi zaráz. Toolkit obsahuje synchronizační API a widgety, které mohou být použity při vývoji nových PIM aplikací. Platforma obsahuje i referenční implementaci velice jednoduchého PIM balíčku.

Uživatelské rozhraní je samozřejmě také postaveno na widgetech z Qt toolkitu. Rozvržení a design menu systému, dialeru, a správce oken lze přizpůsobit skrze konfigurační soubory XML. Systém podporuje základní funkci rozpoznávání písma, běžnou telefonní klávesnici (s prediktivním vkládáním textu), a qwerty klávesnice.


Ukázka prediktivního vkládání textu Qt aplikací

Qt Extended přichází i s řadou dalších užitečných věcí, včetně QWebKit widgetu pro tvorbu mobilních prohlížečů a klientů složitých internetových aplikací. Podporuje Bluetooth a WiFi, a některé důležité součásti síťových architektur, jako jsou restriktivnějsí politiky systému skrze sandboxing aplikací a meziprocesovou komunikační vrstvu, která se stará o zprostředkování modelu signálů a slotů, který je jedním z hlavních rysů Qt.

Text je z části přeložen z článku Nokia launches Linux-based Qt Extended mobile platform.
Tento článek byl uvěřejněn s exkluzivními právy na root.cz: Nokia vypustila mobilní platformu založenou na Linuxu a Qt


Qt knihovna

Qt je jedna ze dvou (společně s GTK+) nejpopulárnějších multiplatformních (podpora Windows, Linux, Apple Mac OS X) knihoven pro vytváření programů s grafickým uživatelským rozhraním. Qt je vyvíjeno norskou firmou Troll Tech. Vývoj Qt byl zahájen v roce 1992. Qt se vyslovuje jako anglické slovo "roztomilý", čili /kju:t/.

Nejznámější software využívající Qt je: prostředí KDE, webový prohlížeč Opera, Google Earth, Skype, Qtopia a OPIE.

Qt je knihovna programovacího jazyka C++, i když existuje i pro jazyky Ada (QtAda), C# (Qyoto/Kimono), Java (Qt Jambi), Pascal, Perl, PHP (PHP-Qt), Ruby (RubyQt), a Python (PyQt). Podporuje lokalizaci aplikací a také SQL, zpracování XML, správu vláken a přístup k souborům.

Část textů byla převzata z Qt Wikipedie