Androidille käännetty Qt-ympäristö sai ensimmäisen julkaisun

15
Kaarlo Räihä

Androidille käännetty Qt-ympäristö sai ensimmäisen julkaisun
Qt-ympäristön siirtäminen Android-ohjelmistoalustalle on nyt askeleen lähempänä maalia, sillä asian tiimoilla työskentelevät kehittäjät ovat julkaisseet nyt Necessitas-kehityspaketin, joka mahdollistaa Qt-ohjelmien kääntämisen Android-yhteensopiviksi.

Necessitas pitää sisällään Android-laitteille suunnatut kirjastot, Qt-ympäristön ohjeineen sekä Android-tuen sisältävän Qt Creator -ohjelmiston. Näiden avulla sovelluskehittäjät voivat siirtää Qt-ohjelmansa myös Android-laitteille.

Koska kyseessä on harrastelijavoimin toteutetun projektin Alpha-julkaisu, ei Necessitas vastaa toimivuuden osalta vaikkapa Nokian laitteille suunnattua Qt-ympäristöä, joten esim. OpenGL-rajapintaa hyödyntävät Qt-ohjelmat eivät vielä toimi Androidissa. Qt Creatorin osalta asiat tuntuvat kuitenkin olevan jo nyt hyvin kohdillaan, ja monet debug-ominaisuudet toimivat mallikkaasti Android-emulaattorin kanssa.

Alla Necessitasin toimintaa esittelevä video (VAROITUS, videon alussa näkyy työpaikoille ja perheen pienemmille soveltumatonta kuvamateriaalia!)




Tilaa Puhelinvertailun uutiskirje!

Lähetämme noin kerran viikossa uutiskirjeen, joka sisältää viikon ajalta tärkeimmät uutisemme.

Tilaamalla uutiskirjeemme hyväksyt sääntömme ja tietosuojakäytäntömme.

Parhaat kännykkätarjoukset

Motorola Moto E22 – hinta laskenut -43%

Motorola Moto E22
49 € Power
59 € DNA
79 € Proshop

Alin hinta viikko sitten: 85 €

Honor Magic Vs – hinta laskenut -38%

Honor Magic Vs
990 € Power
1599 € DNA

Alin hinta viikko sitten: 1599 €

TCL 40R – hinta laskenut -36%

TCL 40R
179 € Power

Alin hinta viikko sitten: 279 €

Honor X6 – hinta laskenut -34%

Honor X6
79 € DNA
119 € Elisa

Alin hinta viikko sitten: 119 €

Kommentit (15)

Irekkeri
Irekkeri

2

@1
Hyvin näkyy. Muutama kellarikoodari saanut taas kasaan helvetin hankalakäyttöisen ja heikosti toimivan raakileen, joka on vain haamu siitä, mihin kaupallinen maailma pystyy.

Vastaa
Anonyymi käyttäjä
Möö (vahvistamaton)

3

@2

Kyllä toi kaikille kelpaa siinävaiheessa kun kaikki ymmärtää että Nokian puhelimissa ei enään tulevaisuudessa pyöri mitään ilmaiseksi...

Vastaa
syrtek66
syrtek66

4

@2, ja kun kehitystyökalut maksavat a) VS IDE 1000$, b) marketplacen certi 500$ plus muut kulut, Windows lisenssi 50$ euroa per vuosi, kertalisenssi vähintään 150$, MS officen lisenssit ~100$ yms yms ja yms.

Ja kaikki tämä valuu Amerikkaan Richmondin rahalaariin (no sertifikaatti maksu ei menen mutta menee kuitenkin amerikkaan). Kerro tämä vaikka 100.000 niin ymmärrät vähän miksi tämä diili kannattaa M$:lle vaikka maksoivat Nokialle.

Vastaa
Jarissimo
Jarissimo

5

@2 "Muutama kellari koodari" on tuon väsännyt ja se näyttäisi Alpha versioksi toimivan ihan ok.

Vertaa esim: Nokian 5000 palkalliseen kehittäjään.. Tuntuu todellakin oudolta eikä varmasti mahdu sinuun ajatusmaailmaan..

Mutta mistähän johtuu että ilmaiseksi tekevillä näyttäisi olevan enemmän motivaatiota, kuin palkallisilla? Ainaskin he ovat saaneet enemmän ja siistinpää aikaiseksi..

Vastaa
Puppek
Puppek

6

"Koska kyseessä on harrastelijavoimin toteutetun projektin Alpha-julkaisu..."

Qt:sta ei ikinä tunnu tulevan valmista. Montako vuotta siitä on selitetty? Kolme? Sitten kun saavat jotain valmista niin huomataan, ettei se enää toimikaan uudemmissa ympäristöissä ja sitten odotellaan lisää.

Vastaa
Anonyymi käyttäjä
Sillattiis (vahvistamaton)

7

@6

Et tainnut ymmärtää koko uutisesta mitään. Vähän sama kun sanoisi, että Androidista ei tunnu tulevan koskaan valmista kun sen N900 raudalle tehty käännös on Alpha-julkaisu.

Qt on ollut laajassa käytössä jo vuosia (esim. Google Earth). Mobiilipuoli ja uudet ominaisuudet siellä ovat uudempaa juttua. 4.7.0 on jo mobiilipuolellakin hyvässä kuosissa.

Vastaa
Anonyymi käyttäjä
user_org (vahvistamaton)

8

6@
>Qt:sta ei ikinä tunnu tulevan valmista. Montako vuotta siitä on
>selitetty? Kolme?

Sitä on tehty huomattavasti pidempään, muutaman vuoden takaisen Nokian oston jälkeen se on saanut reilusti lisää rerusseja. Kovasti työstä on kohdistunut mobiilipuoleen, mutta ei työpöytä puolikaan ole aivan hyödyttä jäänyt.

Jos olet viimeisen vuodenseurannut tilannetta niin alkaa jo näkymään tuloksia.

>Sitten kun saavat jotain valmista niin huomataan, ettei se enää
>toimikaan uudemmissa ympäristöissä ja sitten odotellaan lisää.

Moobiilissa Nokian Microsoft kimppa oli kova takaisku ja leikkaisi tulevaisuuden odotuksia paljon maltillisemmaksi.

Vastaa
kolmis
kolmis

9

On se vaan niin että kun koodataan itselle niin tulee paljon käyttökelpoisempaa ja muutenkin parempaa koodia kuin kaupallisesti tuotettu päivittäinen kasa paskaa.

Vastaa
kolmis
kolmis

10

On se vaan niin että kun koodataan itselle niin tulee paljon käyttökelpoisempaa ja muutenkin parempaa koodia kuin kaupallisesti tuotettu päivittäinen kasa paskaa.

Vastaa
Phiideer
Phiideer

11

@9
Noh, tuo voi pitää paikkansa ja myös olla pitämättäkin. Jos oikeasti koodaa itselle, niin voi hyvinkin tehdä sellaisen tuotoksen, jota vain itse osaa käyttää - kuten ennen vanhaa: huono dokumentointi, ohjeet, epäselvät ja epäloogiset toiminnot perustallaajan vinkkelistä :)

@6
Komppaan user_org:ia, mutta lisää vielä sen, että periatteessa Qt ei tule varmaan ikinä olemaankaan "valmis" - edes siinä mielessä kuin esim. käyttöjärjestelmä on valmis, koska se ei ole varsinainen tuote vaan työkalu kehittäjille. Hypetys Qt:n suhteen kannattaa periaatteessa jättää huomioimatta, koska se nyt vain liittyi meidän vinkkelistä Nokian ns. suunnitelmaan palata kärkeen. Mobiilipuoli koki kolauksen (ja siten myös vetovoima ko. kehittäjille). Itse asiassa

Qt:llä voi olla Linuxille aika merkittävä vaikutus tulevaisuudessa, kun Macille ja Windowsille suunnattu kaupallinen softa yllättäen julkaistaan myös pingviinille (ilmeisesti hyvin pienellä lisäkustannuksella). Hyvä esimerkki on Autodeskin Maya.

Edit: pientä selvennystä.

Vastaa
Anonyymi käyttäjä
user_org (vahvistamaton)

12

9@
>On se vaan niin että kun koodataan itselle niin tulee paljon
>käyttökelpoisempaa ja muutenkin parempaa koodia kuin kaupallisesti

Esim tuplapostauksia.

No leikkiähän sinä, ammattimainen, siis myös kaupallinenkin koodaus on yleistäen ihan omalla tasolla kotikoodareittein koodauksiin verrattuna.

Vastaa
Puppek
Puppek

13

@11 "Qt ei tule varmaan ikinä olemaankaan "valmis" - edes siinä mielessä kuin esim. käyttöjärjestelmä on valmis, koska se ei ole varsinainen tuote vaan työkalu kehittäjille."

Kuulostaa kyllä sekavalle ja sille, ettei Qt:sta ikinä tule eri järjestelmissä toimivaa kokonaisuutta. Itse teen hommia Flashilla ja siitä on ollut jo pitkään selvät versiot sekä toimiva kehitystyökalu. Laitetuki on myös laaja, vaikkei joka laite sisälläkään uusinta Flashplayeria.

Voisiko joku vaikka selventää, että mille alustoille Qt on olemassa ja mitkä versiot ovat kyseessä? Tietokoneilla Flash on tietääkseni Windowsille, Macille ja Linuxille versiossa 10.1 ja sama löytyy monista uusista Android-älypuhelimista. Omassa Nokiassa on Flash Lite 3.1. Ei ole mitään hajua minkä version Qt:sta siihen saa, mistä sen saa tai mitä sillä edes tekee?

Vastaa
Agent_007
Agent_007

14

Lainaus:

Ei ole mitään hajua minkä version Qt:sta siihen saa, mistä sen saa tai mitä sillä edes tekee?


Qt:lla toteutettujen ohjelmien idea on se, että tavallisen käyttäjän ei tarvitse asentaa mitään. Eli Qt kääntää about kaiken kyseisen alustan natiiviksi koodiksi, täten käyttöliittymän ulkoasu on aina kyseisen alustan suositusten mukainen.

Qt on siis suunnattu ohjelmistokehittäjille, jotka voivat samalla kertaa tuottaa koodia (pieniä muokkauksia ja alustakohtaisia säätöjä tarvitaan aina välistä), joka toimii useilla eri alustoilla, kunhan kääntää kullekin alustalle sopivan version. Käyttöliittymäelementtien lisäksi Qt pitää sisällään grafiikan piirtoa, ohjauslaitteiden lukemista jne., joten parhaassa tapauksessa voi kaikki käytettävät komponentit poimia Qt:n tarjonnasta, jolloin porttaus muille alustoille on aina helpompaa.

Androidin kohdalla tässä on tietenkin poikkeus noiden kirjastojen osalta, jotka sovellusten on ladattava ennen käyttöä (kuten videolla näkyy).

Vastaa
Phiideer
Phiideer

15

@13 (pahoitteluni, että tämä vastaus tulee näinkin myöhään)

Okei, tässä toki liikutaan omien tietojen rajoilla, joten siitäkin syystä tekstini voi olla sekavaa...ja sisältää ehkä vähän puppuakin. Meinaan tuolla "ei ikivä valmis" -väittämälläni sitä, että tietynlaisilla sovelluksilla voi (käsittääkseni) hyvinkin käydä niin, että se ei Qt:sta huolimatta suoraan toimi alustalla C sellaisenaan, vaikka toimiikin alustalla A ja B. Mutta tämä ei tarkoita sitä, etteikö Qt tästä huolimatta pudottaisi merkittävästi ohjelman kehityskustannuksia alustalle C - jolloin Qt:stä on suuri hyöty kehittäjille, vaikkei se tuottaisikaan täysin sitä, mitä parhaimmillaan lupaa.

Mutta miksi Qt eikä Flash. Siihen on oikeastaan kaksi syytä, jotka Agent_007 mainitsi, mutta yritän ilmaista asian toisin sanoin:

a) Qt:lla tehty ohjelma on kuin mikä tahansa muu kyseiselle alustalle tehty ohjelma. Flash ohjelma aina näyttää samalta "Flash-ohjelmalta" alustasta riippumatta.

b)Natiivi koodi on tehokkaampaa kuin tulkin tarvitseva bytecode. Flashin kaltainen bytecode koodi on helposti siirrettävä(portable), mutta tekee sen suorituskyvyn kustannuksella. Bytecode pitää tulkata (joko käynnistyksen yhteydessä tai ajon aikana) ennen ajoa - eli tulkkaus on ylimääräistä prosessointia, jonka natiivi koodi ohittaa.
Ja tähän liittyen Agent:007 mainitsema seikka, että Qt:lla pääsee paremmin käsiksi alustan resursseihin; Flash pääsee käsiksi vain virtuaalikoneensa resursseihin.

Itse asiassa taisin aika pitkälti uudelleenkirjoittaa kaiken, mitä Agent_007 totesi. Mutta toivottavasti sämä selvensi edes hieman. Jotkut termit tuolla välissä voi kuitenkin heittää hieman.

Vastaa

Kommentoi artikkelia

Pysy aiheessa ja kirjoita asiallisesti. Epäasialliset viestit voidaan poistaa tai niitä voidaan muokata toimituksen harkinnan mukaan.

Haluan ilmoituksen sähköpostitse, kun ketjuun kirjoitetaan uusi viesti.