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!)
Kommentit (15)
Mielenkiintoista, tässäkin nähdään open source koodin voiman. Muutamama näppihäiriöinen joka käy colan ja pizzan voimalla voi muuttaa mailmaa...
@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.
@2
Kyllä toi kaikille kelpaa siinävaiheessa kun kaikki ymmärtää että Nokian puhelimissa ei enään tulevaisuudessa pyöri mitään ilmaiseksi...
@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.
@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..
"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ää.
@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.
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.
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.
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.
@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ä.
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.
@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?
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).
@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.