Android i Qt 5 – oficjalne wsparcie

24
3828
Qt
Qt

Projekt Necessitas zapewniał SDK oparte na Qt Creatorze pozwalające na tworzenie aplikacji w Qt na Androida. Był to projekt pisany przez programistów Nokii (obecnie Digii, po przejęciu przez nią projektu Qt) w wolnym czasie, teraz nadszedł czas na oficjalne wsparcie ze strony samego „Projektu Qt” i Digia.

Developerzy Digii zapowiedzieli jednak oficjalne wsparcie dla Androida od wersji Qt 5.1, a Qt 5.2 ma być już finalnym stabilnym frameworkiem w pełni obsługującym Androida, jako platformę docelową. Wsparcie to opiera się oczywiście na dotychczasowych postępach prac społeczności Necessitas (na którą składają się głównie developerzy Digii), które mają być po prostu oficjalnie wcielone w Qt Creator, a telefony z Androidem dodane jako urządzenia docelowe.

Port Qt opiera się na API Androida na poziomie 10, a więc wersji 2.3.3, co oznacza że jest dostępny nawet na starszych, niezaktualizowanych i niskobudżetowych modelach. Przedsięwzięcie jest o tyle ciekawe, że bardzo łatwo jest przenieść dowolną niezbyt skomplikowaną (w sensie interfejsu graficznego) aplikację stworzoną przy użyciu frameworka Qt bez zmiany nawet linijki kodu, zmieniając jedynie platformę docelową. Środowisko same tworzy odpowiednie wrappery i nagłówki konieczne do uruchomienia aplikacji natywnej na Androidzie.

Qt cieszy się ostatnio względnie dużą popularnością dzięki platformie Qt Quick, która ma swoje implementacje zarówno na platformy desktopowe: Windows, Linux, (Mac)OS X i inne, jak i mobilne i osadzone: Linux embedded (m.in. Raspberry PI), Symbian OS, Maemo, Tizen, MeeGo, Windows Mobile, a nawet iOS, Firefox OS, Ubuntu Phone OS i Ubuntu Touch. Aplikacje Qt Quick działają zarówno na desktopach, jak i platformach mobilnych, a dzięki wektorowej grafice ładnie dopasowuje się do każdej rozdzielczości ekranu, używa również akceleracji sprzętowej zapewniającej płynne działanie, a sam QML zapewnia pełne wsparcie sterowania zarówno myszką, jak i ekranem dotykowym z multitouchem. Qt potwierdza tym swoje motto:

Code less.
Create more.
Deploy Everywhere.

Czyżby w końcu powstała platforma będąca w stanie ogarnąć wszystkie (a przynajmniej większość, bo wciąż brak Windows Phone) platformy dekstopowe i mobilne? Developerzy wzywają programistów do portowania i pisania nowych aplikacji z użyciem Qt dla Androida i zgłaszania wszelkich napotkanych problemów.

ŹRÓDŁOblog.qt.digia.com
Poprzedni artykułArtistX 1.4
Następny artykułPierwszy smartfon z Tizen 2.0 w sierpniu

24 KOMENTARZE

  1. Nokia miała w swoich rękach taki dobry zestaw bibliotek razem z bardzo dobrym systemem. Pozbyła sie jednego i drugiego na rzecz Windows Phone. Ciekawe czy Nokia będzie żałować tych decyzji ;)

    • Obecnie Windows Phone to jedyna platforma chyba, która nie będzie obsługiwała Qt Quick.
      Co ciekawe, Qt dla Androida było prezentowane na DevDays przez samych developerów Nokii, która już "sprzedała się" Microsoftowi ;) Trochę to zabawne że Nokia wspierała rozwiązania na konkurencyjną platformę, a na swojej "jedynej słusznej" tego wsparcia nie będzie (przynajmniej jeszcze przez długi czas).

    • Kiedy? Bo póki co "jest projekt" portu na Moderna, ale tylko dla Win8 i WinRT, o WP8 mowy póki co nie ma. Wbrew temu co propaguje MS, Windows Phone 8 i Windows 8/RT to 2 różne systemy. A jeśli chodzi o WP7, to o wsparciu kiedykolwiek tego zamkniętego badziewia można tylko pomarzyć – brak natywnego API.

  2. Możliwości Qt stają się coraz bardziej imponujące. A co do portu aplikacji Qt na Androida coś mi się. zdaje, że to jednak wymaga więcej wysiłku niż podano w artykule, ze względu na specyfikę działania aplikacji na Androidzie.

    • Chodzi mi o fakt, że aplikacja na Androdzie musi uwzględniać wstrzymanie działania i przywrócenie, dlatego musi przygotować odpowiednie metody. Tak przynajmniej jest w kodzie Java, jak to działa w natywnym kodzie nie wiem (moja wiedza niestety jest na razie tylko teoretyczna). Może tak być, że sam framework to załatwia.

    • No właśnie nie, testowałem parę miesięcy Necessitas. Pobrałem kilka prostych projektów (dla dsktopa) z qt-apps.org, otwarłem w Necessitas, zmieniłem urządzenie docelowe na Androida i się skompilowało bez najmniejszych zmian w kodzie i w dodatku działało!
      Wcale więcej roboty nie ma.
      Jedyna wada, to brak bezpośredniego dostępu do typowych Androidowych funkcji bez głębszego kopania.

  3. "Był to projekt pisany przez programistów Nokii"
    To akurat nie jest prawdą. Projekt tworzył Bogdan Vatra, a Nokia nie zgodziła się nawet na użycie znaku handlowego Qt w jego nazwie.

  4. Jak to wygląda od strony sprzętowej? Kod jest kompilowany dla ARM v6? v7? Obie wersje od razu? Jeśli ktoś pisze w NDK na androida to musi dostarczyć przynajmniej 2 wersje biblioteki właśnie na te architektury jak sprawa wygląda z apką w Qt?

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj