Jatkossa sekä Symbian- että Maemo-alustoihin perustuvien laitteiden sovelluskehitys tulee siirtymään nykyisin käytössä olevista rajapinnoista Qt-rajapintoihin. Näin ollen yhden sovelluksen pitäisi toimia samalla koodilla niin Nokian Symbian- kuin myös Maemo-laitteissa. Tämä on erittäin tärkeä asia Nokian useampaan eri käyttöjärjestelmään perustuvan strategian kannalta.
Qt 4.6 tuo mukanaan uusina asioina niin laajempaa järjestelmätukea, tehokkaita uusia grafiikkaominaisuuksia, parannettua tehokkuutta kuin myös tuen monikosketukselle sekä erilaisille eletoiminnoille.
Alta löytyvillä viidellä videolla esitellään muun muassa Qt 4.6:ta mobiilialustoilla, sen monikosketustoimintoja sekä erityisesti toimintaa Maemo 5:n sekä Symbianin päällä - kaikkea, mitä Qt 4.6:lla on mahdollista tehdä.
Tsekkaa kaikki Videolla-juttumme!

Kommentit (12)
Qt on hemmetinmoinen edistysaskel verrattuna vanhaan Symbian-koodaukseen. Lisäksi Linuxin KDE-gui on rakennettu norjalaisen Qt:n päälle, joten jos hommat tekee oikein, niin sama softa pyörii niin Windowsissa, Linuxissa, Symbianissa kuin Maemossa.
Lisäksi Qt on koodarille miellyttävä alusta. Kirjastot ovat fiksusti jaoteltuja ja käyttöliittymät järkeenkäypiä.
@4
Oletko tyhmä tai jotain? Nyt ei taaskaan ollut kyse applesta vaan nokiasta ja mitä uutta NOKIAN luureihin on tulossa.
"ohjelmat toimivat win,osx,linux,symbian,maemo etc. ympäristöissä"
Kuulostaa tosi hyvältä, mutta en ole ihan varma haluanko pienellä näytöllä sormin käytettäväksi suunniteltua softaa tietokoneelleni, tai vastaavasti isolla näytöllä hiirellä käytettäväksi suunniteltua softaa puhelimeeni...
Eli käyttöliittymät joudutaan tekemään uudestaan jokatapauksessa, *jopa* eri käyttöjärjestelmien välillä (ellei 4.6 tuo sitten jotain todella mullistavaa)
leonin linkki oli varsin mielenkiintoista luettavaa, joka vaikutti lyövän lisäsärön tuohon "kirjoita kerran toimii kaikkialla"-väitteeseen
Miten, Mikko, teet hyvän, siirrettävän *käyttöliittymän* kun ruudun koko ja osoituslaiteen koko ja mahdollisesti määrä voivat olla huomattavan erilaisia?
Myöskin laitteiden teho, grafiikkaominaisuudet ja vaikka kyky näyttää useita ikkunoita samanaikaisesti voivat vaikuttaa käyttöliittymäsuunnitteluun kovastikin.
Olen edelleenkin erittäin vahvasti sitä mieltä että käyttöliittymää joka on samanaikaisesti hyvä sekä työpöydällä että mobiililaitteessa on lähes mahdoton tehdä. Yhdessä käytetään vierityspalkkeja, toisessa kineettistä skrollausta, kolmannessa multitouchia ja niin edespäin. Näyttöjen DPI:t ovat aivan eri suuruisia ja hiirellä osuu muutaman pikselin alaan, sormella ei läheskään niin helposti.
Jo pelkästään eri työpöytäkäyttöjärjestelmien välillä (Linux, windows, OSX) samaa käyttöliittymäkoodia käyttävät softat ovat usein aikamoinen kauhistus.
> QTn ajatus koodaa kerran käytä kaikissa vastaa siihen huutoon että kustannuksia halutaan alas.
Totta, kustannuksia varmasti saadaan alas, laadun kustannuksella. Jokaiselle alustalle natiivi UI (allaolevat kerrokset ovat yhteisiä) on vaikuttanut siltä oikealta konseptilta ainakin tähän asti.
Missä voin ladata Qt 4.6 Nokia n97:aan?
Tottakai UI:tä joudutaan muokkaamaan ja jopa tekemään kokonaan uudestaan uudelle alustalle, mutta jos tiimi tuntee Qt:n niin UI:n tekemiseen voidaan käyttää samoja tuttuja luokkia kuin muillakin alustoilla. Toinen vaihtoehto on tehdä jokaiselle alustalle UI käytännössä nollasta käyttäen alustan omia kirjastoja.
Pointti on nimenomaan se että vaihdettaessa alustaa ei tarvitse vaihtaa kirjastoja joita UI:n tekemiseen käytetään. Ja Qt on muutakin kuin pelkkä UI-kirjasto.
Toi Qt for Maemo 5 pätkä näytti hyvältä. Pystytila ja kaikki. :) Vaikutti vielä nopeemmaltakin kuin nykynen. Varmaan ylikellotettuja luureja demoissa... =)
> ei PCllekkään suunnitellessa voi tehdä sen suhteen oletuksia, tarkkoja näyttäjä sielläkin. taikka olettaa että käyttäjä käyttäisi jotain tiettyä osoitus tekniikkaa.
Käytännössä tehdään oletus siitä, että käyttäjä käyttää pointteria ja että käyttäjän näytön dpi on suunnilleen normaali 100-130 eikä esim. 267 kuten N900:ssa. Ja vaikka kehittäjä ei itse tätä tietoisesti tekisi (kannattaisi tehdä), tulee se pitkälti jo alustan tarjoamista natiiveista kontrolleista ja käyttöliittymäohjeista.
DPI:n huima ero ja sormen ja pointterin kokoero takaavat sen että mobiililaitteeseen ja desktopille ei kelpaa sama UI (katso vaikka reaalikokoisia N900 screenshotteja). Muitakin syitä toki on.
Automaattilayout+suurentaminen tai pienentäminen ei ole oikea ratkaisu kuin aivan triviaaleimmissa tapauksissa. Tästä hyvänä esimerkkinä Windows Mobilen ensimmäiset versiot, vaikka niitä käytettiinkin tikulla.
> vahvuus on siinä että voit tehdä QTllä monelle alustalle ja laite tyypille softan, vaikka tekisitkin omat versiot jokaiselle.
Eli mainos onkin redusoitunut muotoon "yhtä monta versiota, mutta tutuilla työkaluilla". Varmasti siitäkin jotain säästöjä tulee.
Ja puhun siis nimenomaan käyttöliittymästä, alemman tason palikat kannattaa toki tehdä suhteellisen alustariippumattomasti, on työkaluna sitten Qt tai joku muu.
> jos teet täysin erityyppisille laitteille sovelluksia niin kyllä myös qt:n kanssa pitää ottaa laitteen erot huomioon. tosin myös sovellus on todennäköisesti erilainen jos ei jopa ihan eri joten hui kamalaa.
Noniin, olemme vihdoin siis samaa mieltä siitä että ketjun alussa mainittu "sama softa kaikille alustoille" on ei-triviaalissa tapauksessa pelkkää puppua tai erittäin huonolaatuinen (lähes) jokaisella.
> erityisesti helpotusta tulee jos ollaan tekemässä nokian laitteille ohjelmia. tähänhän qt nimenomaan on suunnattu.
Parin vuoden päästä väitteesi voi olla oikean suuntainen, tänä päivänä ei. Qt on juuri saatu pyörimään Nokian kännyköillä, tosi virallista tukea ei esim. N900:lle ole, Sympparin tuen virallisuudesta ei ole tietoa. En voi valitettavasti allekirjoittaa väitettäsi ainakaan vielä.
> lähdetään toimimaan pienimmän yhteisentekijän mukaan
Nimenomaan tämä on se virhe, joka usein tehdään. Täysin väärä lähestymistapa. Halpa ehkä, ja erittäin todennäköissti huono tuote kaikille tai lähes kaikille alustoille.
Kuulostaa Finnairmaiselta ratkaisulta, vastataan kilpailuun huonotamalla tuotetta. Ei näin.
> En ole aivan samaa mieltä. Usein mokataan siinä että tehdään suurimman tekijän mukaan. saadaan ehkä jotain kivaa aikaan mutta vain harvalle.
Mielestäni on järkevämpää tehdä hyvä tuote, siis ottaa varsin high end pohjaksi suunnittelussa. Jos se onkin vain pienelle ryhmälle aluksi (ei välttämättä edes käytännössä ole ole jos markkinointi ja ohjelmiston jakelu ovat kohdallaan) tulee tuo ryhmä kasvamaan nopeasti puhelinten kehittyessä seuraavan vuoden tai kahden aikana. Myöskään potentiaalinen käyttämäärä ei ole kauhean relevantti mittari, toteutunut käyttäjämäärä on.
Jos taas otetaan vaatimukseksi että softa toimii myös 320x240 S60 laiteessa on se jo projektin valmistuessa puolen vuoden päästä aika rajoittunut ja vanhentunut, puhumattakaan siitä mitä tulevaisuus tuo tullessaan.
QT:lla on ihan onnistuneitakin esimerkkejä (kuten vaikka Picasa) mikä näyttää milestäni erittäinkin hyvältä.
Samoin QT hoitaa aika monta ongelmaa mikä tulee vaikka kun siirretään desktop ohjelma mobiililaitteeseen kuten esim. alasvetovalikot (file, edit jne.) automaattisesti.
QT:n tarkoituksena on _minimoida_ tarvittavat muutokset, tehdä tietyt alustariippuvaiset asiat automaattisesti jne. Joskus mitään muutoksia sorsaan ei edes tarvita, mutta useimmiten on varmaan niin että kehittäjä tekee joitain muutoksia ottaakseen täyden hyödyn irti kulloisestakin alustasta. Symbian ja Maemo ohjelmat tulevat toimimaan hyvin todennäköisesti samasta sorsasta uudelleenkääntämällä.