Android i Qt 5 – oficjalne wsparcie

Android i Qt 5 – oficjalne wsparcie

    przez -
    24 1574
    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.

    Podobne artykuły

    • " a Android dodany jako urządzenie docelowe." Android chyba nie jest urządzeniem ;)

      • asd

        w tym przypadku jest :)

    • 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 ;)

      • razi

        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).

      • sprae

        Chyba się mylisz skoro "metro" będzie wspierane.

      • razi

        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.

      • sprae

        Zapewne jak dokończą V4, bo z tego powodu na razie na iOS jest stare QML.

    • MikolajS

      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.

      • Co masz konkretnie na myśli?

      • MikołajS

        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.

      • razi

        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.

      • MikołajS

        A próbowałeś uruchomić inną aplikację, po czym powrócić do poprzedniej?

    • mat

      "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.

    • marcinsud

      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?

    • Pingback: Qt dostępny dla Tizena | OSnews.pl()

    • Pingback: Qt dostępny dla Tizena | TizenLog.pl - Najważniejsze informacje o systemie Tizen w jednym miejscu!()

    • Pingback: Qt dla systemu Tizen już dostępne | Strefa Tizen()