Blackberry Jam Europe 2013

By Jozef Mlích - Last updated: Pátek, Únor 15, 2013 - Save & Share - Leave a Comment

V rychlém sledu po FOSDEMu v Bruselu začala v Amsterdamu konference Blackberry Jam Europe 2013. V porovnání s konferencí o svobodném software byla konference v Amsterdamu daleko menší.

RAI centrum v Amsterdamu

RAI centrum v Amsterdamu

Konference se konala týden po představení dvou nových zařízení Blackberry Z10 a Blackberry Q10. Specifikace obou zařízení je možno nalézt na internetu. Tato zařízení jsou z pohledu otevřeného a svobodného software zajímavá zejména tím, že hodně staví na Qt. Firma Blackberry vytvořila novou sadu QML komponent, kterou pojmenovala Qt Cascades. K nim bohužel zdrojové kódy nejsou k dispozici. Tyto komponenty běží na operačním systému QNX přizpůsobeném pro jejich telefony. QNX je unix založený na mikrojádru, zaměřený na aplikace v reálném času.

Blackberry Z10

Blackberry Z10

Zatímco Blackberry Z10 se již prodává (např. v Anglii) a trhá všechny rekordy a očekávání, zařízení Q10 je v tuto chvíli trošku tajemné. I přestože bylo představeno spolu s modelem Z10, je varianta Q10 (s klávesnicí) tak trochu utajovaná.

V rámci přednášek byl také představen způsob, jak vyřešit problém s různými rozlišeními. Tento problem má původ v QML, kde není možný podmíněný překlad. Toto lze do jisté míry vyřešit předáním proměnné z C++ a vykonáním kódu v závislosti na hodnotě této proměnné. Tento postup bohužel není možné použít pro načítání různých souborů pomocí „import“.

Assets selector

Assets selector

Řešení pro použití v Cascades spočívá v tzv. „asset selector“, kdy se v adresáři /assets/ vytvoří pro konkrétní rozlišení zvlášť podadresář (pro Q10 např. /assets/720×720/). V případě, že existují v těchto podadresářích stejně pojmenované soubory, tak se použijí ty, které odpovídají danému rozlišení.

Alpha zařízení k Blackberry Q10

Alpha zařízení k Blackberry Q10

V rámci konference bylo představeno alfa zařízení Q10 pro vývojáře (tzv. „Dev Alpha C“), na kterém bylo možno si vyzkoušet i tuto funkcionalitu. Jednou z motivací od Blackberry pro nové vývojáře byla nabídka Blackberry Limited Edition v červené barvě. Jedná se o prémiové zařízení, které je zasíláno vývojářům, kteří do 28. února vytvoří aplikaci.

Blackberry Z10 Limited Edition

Blackberry Z10 Limited Edition

Qt Cascades je založeno na Qt 4.8, avšak nevyužívá základní sadu QML komponent Qt Quick 1. Jedním z důvodů je, že Qt Quick 1 je postaveno na QGraphicsScene, které je zdrojem velkého množství problémů. Naopak Qt Quick 2 používá pro vykreslování Scene Graph, podobně jako Cascades. Qt Quick 2 v době, kdy Cascades vznikaly, bohužel neexistovalo.

Řešení pomocí grafu scény je dobře známé z herních knihoven (např. Open Scene Graph) a umožňuje plné využití grafických efektů s využitím tzv. shaderů. Ze strany Blackberry pochopitelně vyvstává otázka, jakým způsobem budou přecházet z Qt 4.8 na Qt 5. Podle vyjádření vývojářů z Blackberry v tuto chvíli sami nemají rozmyšleno, jak to bude probíhat. Přechod na Qt 5 se ale zdá nevyhnutelný.

Co se týče využití Qt 5 s Qt Quick 2 nebo Qt 4.8.x s Qt Quick 1 na zařízeních Z10 a Q10, tak to samozřejmě možné je. Aby to fungovalo, tak je nutné k aplikaci přibalit celé Qt. Kombinování Qt Quick a Cascades v jedné aplikaci současně zřejmě není možné nebo to alespoň není doporučeno.

Co se týče aplikací vytvořených pomocí Qt Widgets, tedy „starých“ komponent uživatelského rozhraní, které se vytvářely buď v C++ nebo pomocí UIC, tak tyto aplikace je možné přeložit na zařízení relativně přímo. Blackberry umožňuje nastavit jim vizuální styl, který dobře zapadá do systému.

QApplication::setStyle(QLatin1String(“bb10dark”));

Podobně jako QML komponenty QtGui jsou jednotlivé komponenty Cascades napsány v C++ a exportovány do QML. Toto by mělo mít pozitivní vliv na rychlost komponent. Jejich vykreslení by mělo být jednodušší pro javascriptový engine, který zpracovává QML kód. Další výhodou oproti Qt Quick 1 je rozdělení vykreslovací části programu a zpracování dat do samostatných vláken.
Vývojáři z Blackberry, kteří mají na starosti portování Qt 4.8.x a Qt 5, mají v oblibě používaní Qt Creatoru. Pro vývoj v Qt Cascades je naopak doporučeno vývojové prostředí Momentics dodávané v rámci SDK. V rámci přednášek dále zaznělo, že Qt Creator 2.7 má zase lepší podporu pro Blackberry. Obsahuje zejména lepší šablony prázdných aplikací. Doplňování kódu a zvýrazňování syntaxe ale pořád chybí.

V rámci přednášek na konferenci byly představeny další vývojové nástroje. Jednalo se např. o sadu nástrojů WebWorks pro programování v HTML5. Byly zmíněny možnosti portování aplikací ze systému iOS a Android. Velká část přednášek se zabývala taky využitím nativního API (C++) a praktickými radami, jak vytvářet bezpečné a hezké aplikace, které by pasovaly do systému.

Jednou z velmi užitečných rad, kterou lze použít téměř vždy, bylo využít nástroj pngcrush pro kompresi obrázků.

V přednášce o bezpečnosti byla shrnuta základní pravidla při vytváření bezpečných aplikací. Byly jmenovány aplikace jako tpcdump, Wireshark, Firesheep nebo SSLstrip. Dále byla spíše pro zajímavost zmíněna bezpečnostní chyba RealVNC z dob dávno minulých z VNC. To nabízelo při přihlášení volbu mezi autentizací pomocí hesla a SSL klíče. Když útočník zvolil „bez hesla“, tak došlo k přihlášení.

Z nativních API bylo např. ukázáno, jak pracovat s kamerou. V C++ se lze dostat k meta datům z kamery, jako jsou informace o poloze obličejů v obraze a barevné histogramy. Tato meta data jsou vypočítána na DSP přímo. Byly ukázány jednoduché příklady s rozšířenou realitou. Pro tu lze použít např. OpenCV nebo Wikitude.

V obraze z kamery jsou detekovány hrany a je použit jako textura na kostce

V obraze z kamery jsou detekovány hrany a je použit jako textura na kostce

Jedním z problémů při vývoji mapových aplikací v ČR je absence mapových podkladů. Na dotaz ohledně podkladů vývojáři reagovali tak, že mapové podklady by měly být dostupné řádově do dvou až pěti měsíců. Konkrétní termíny ale prý nemohou sdělit.

V oblasti map Blackberry poráží iPhone na všech frontách

V oblasti map Blackberry poráží iPhone na všech frontách

V průběhu přestávek bylo na chodbě k vidění mnoho stánků, které buď představovaly testovací alfa zařízení k modelu Blackberry Q10 nebo různé knihovny pro tvorbu aplikací na Blackberry. Podobně jako např. pro Symbian existuje i pro Blackberry generátor aplikací. Pro vytvoření aplikace stačí na webu generátoru vyplnit adresy na veřejný Facebook, Twitter, YouTube, případně RSS nebo ATOM kanál. Následně stačí vložit logo, ikonku a název – a aplikace je hotová.

Aplikace vygenerovaná pomocí Blackberry AppGenerator

Aplikace vygenerovaná pomocí Blackberry AppGenerator

Pokud se chcete o programování pro Blackberry 10 dozvědět více, tak doporučuji navštívit Blackberry 10 Mini Jam Prague (pozor, je to však čistě odborná konference pro vývojáře), který se bude konat 19. března 2013 od 13:00 do 18:00 hod. v Konferenčním centru CITY (KCC) v Praze 4 (150 m od stanice metra Pankrác). Je potřeba se zaregistrovat na jejich webu, protože počet míst je omezen.

Sdílejte:

Posted in Konference, Openmobility, Reportáže • Tags: , , , Top Of Page

Write a comment


Yandex Mail.ru Google LiveJournal myOpenId Flickr claimId Blogger Wordpress OpenID Yahoo Technorati Vidoop Verisign AOL