Kirjoittaja Aihe: Qt-ohjelmoinnista Ubuntulla  (Luettu 3430 kertaa)

pera

  • Käyttäjä
  • Viestejä: 73
    • Profiili
Qt-ohjelmoinnista Ubuntulla
« : 09.03.11 - klo:20.50 »
Ajattelin päästä vähällä ja kysyä heti ilman enempiä sivuston tutkimisia, että kuinka Nokia Qt SDK toimii Ubuntussa.
Siis Nokia Qt SDK toimii Windowsissa oikein hyvin, mutta mitenkä Linux-ympäristössä tehdää ohjelmia Nokian S60-luureille?

Vai onko niin, että Ubuntulla ja jollain Nokian Qt SDK:llä voi tehdä ohjelmia ainoastaan Maemo luureille (tai tulevalle Meego-luurille). Siis mahdollistaako Ubuntu + jokin Nokian Qt SDK "for phone" ainoastaan ohjelman kehityksen Linux luureille.

Tässä ensimmäinen kysymys aiheesta, että en nyt kaikkia kysymyksiä lykkää yhteen postaukseen.
Mistä olisi hyvä alkaa ja lukea tietoa kun haluaa kehittää Nokian luurille/luureille softaa Ubuntulla Qt-työkaluilla?


Terhi

  • Käyttäjä
  • Viestejä: 97
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #1 : 10.03.11 - klo:11.05 »
Siis Nokia Qt SDK toimii Windowsissa oikein hyvin, mutta mitenkä Linux-ympäristössä tehdää ohjelmia Nokian S60-luureille?

Koitin saada toimivaa ohjelmointiympäristöä aikaiseksi Ubuntun kanssa, mutta kaikki vaihtoehdot olivat enemmän tai vähemmän purukumi-rautalankaa... :( Itse päädyin VirtualBox + XP ratkaisuun. Remote Compiler oli kaikkein lähimpänä toimivaa.

Mistä olisi hyvä alkaa ja lukea tietoa kun haluaa kehittää Nokian luurille/luureille softaa Ubuntulla Qt-työkaluilla?

Ensiksi kannattaa miettiä kanttaako edes opetella (lyhyesti: http://kfalck.net/2011/02/11/qt-creator-roskiin-ja-windows-phone-7-sdk-tilalle). Jos kuitenkin kiinnostusta riittää, niin esimerkkejä ja ohjeita löytyy Nokian Wikistä http://wiki.forum.nokia.com/index.php/Category:Qt ja keskustelupalstalta http://discussion.forum.nokia.com/forum/forumdisplay.php?219-Qt
~/ sweet ~/

odysseus

  • Käyttäjä
  • Viestejä: 367
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #2 : 10.03.11 - klo:11.44 »
Ensiksi kannattaa miettiä kanttaako edes opetella (lyhyesti: http://kfalck.net/2011/02/11/qt-creator-roskiin-ja-windows-phone-7-sdk-tilalle). Jos kuitenkin kiinnostusta riittää, niin esimerkkejä ja ohjeita löytyy Nokian Wikistä http://wiki.forum.nokia.com/index.php/Category:Qt ja keskustelupalstalta http://discussion.forum.nokia.com/forum/forumdisplay.php?219-Qt

No tuo on nyt vähän liikaa sanottu että kannattaako opetella... QT ei missään nimessä ole pelkkä symbian workframe, vaan paljon muuta, joten sen opettelu ei ole pelkästään mobiilista kiinni!

QT on itseasiassa ehdottomasti maailman paras monen käyttöjärjestelmän C/C++ (GUI) framework! Se, että symbian on "dead" on QT:n kannalta pikkujuttu samoin kuin vaikka koko nokian häipyminen planeetalta -EVVK.

Tämän hetken QT 4.7 on aivan ehdoton väline standalone softan tekoon. En missään nimessä lähtisi tekemään enää yhtään mitään alustariippuvaisella ja epästandardilla VC++:lla tai muillakaan .NET virityksillä. QT:n koodi kilahtaa samalla rytinällä niin linukalle kuin windowsiin ja maciin. Pienillä kikoilla myös symbianiin ja kohtapuolinhan tuo kai pelaa androidissakin jne.

Se, että koodia kannattaa muutenkin luoda _aina_ mahdollisimman pitkälle alustariippumattomasti on hyvä muistaa. Tee aina businesslogiikka standardin mukaan ja kutsu "tehtyjä palikoita" sitten QT:n gui-puolelta. Eli suoraan sanoen ja yksinkertaistettuna tee aina ensin komentorivipohjainen softa/moduli, jossa getopt on käytössä ja vasta sitten koodaa GUI siihen päälle. Tämä takaa mahdollisimman pitkälle viedyn alustariippumattomuuden ja siirettävyyden mihin tahansa.

Miksi sitten asennus ubuntuun ei onnistunut? Miten asensit? Tuohan pamahtaa paketinhallinnasta yhdellä komennolla ja kaikki pelaa! Ainoa virittelyn paikka onkin sitten nimenomaan nuo mobiililisukkeet.
Itse ajan QT:ta Fedorassa ja eipä ole ollut valitamista.

Terhi

  • Käyttäjä
  • Viestejä: 97
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #3 : 10.03.11 - klo:14.28 »
Ekassa viestissä kyllä puhuttiin ihan Qt:n käytöstä puhelimessa ja nimen omaan S60-alustalla. Missään vaiheessa en ole sanonut Qt:n kuolevan... Qt on erittäin kätevä, nopea ja näppärä työkalu vielä toivottavasti pitkän aikaa. Mulla käytössä ihan koko ajan.
~/ sweet ~/

matsukan

  • Käyttäjä
  • Viestejä: 1903
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #4 : 14.03.11 - klo:22.56 »


et voinut valita vaikeampaa alustaa itsellesi noin ihan kuin aloittaaksesi ohjelmoinnin. Kompinaatio Linux Ubuntu+ Qt + Symbian + Nokian kännykkä on aika vaikea noin ihan devaus mielessä.

Ensimmäinen asia Linux Ubuntu + Qt ja Sdk hoituu aika näppärästi. Jopa asentunee Ubuntu desktopille. Mutta kun sinun pitäisi alkaa _kääntämään_ ohjelmasi Symbian ARM kääntäjälle homma vaikeutuu jo huomattavasti. Tarvitset nimittäin ARM kääntäjän. Onneksi oikein kalliin ARM kääntäjän vaihtoehtona on myös ilmainen kääntäjä. Tarvitset sen lisäksi myös specifisen target laitteelle sopivan sdk ympäristön. Sitten sinun pitäisi saada  ohjelmasi jotenkin myös nokia puhelimeesi. Nokia puhelinten tuki Linux on tunnetusti surkea.

Löydät tarvittavan ympäristön ja lisää ohjeita täältä : http://www.martin.st. Kait tämän on joku saanut konfattuakin...

Nokia tarjoaa pilvipalvelun että voit lähettää ohjelman käännettäväksi mutta ehtona että ohjelmasi on freewarea.
Pohjois-pohjanmaa
-- motto:  backupin tarve huomataan aina liian myöhään

pumo

  • Käyttäjä
  • Viestejä: 140
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #5 : 15.03.11 - klo:22.23 »
itselläni on työnalla keittiön seinällä infotaulu/nettiradiosoitin kenties aamutvtelkkari steamistä +jotain pientä eeepc901stä kosketuskalvolla.
info olisi pääasiassa 1wire dataa sql kannasta serveriltä, muutama kuvanen käppyröistä, sääennuseiden parinta ilmatieteenlaitokselta kenties kelikameraa yms pientä...

mitä mieltä olette kannattaako opetella qt:ta siis tehdä ohjelma ubuntulle (en osaa c/c++)? tai onnistuuko ylipäätään nuo mainitut asiat?

kaikki tuo data on jo periaatteessa valmiina php sivustoina tosin pitää siivota pienelle 9" näytöllä sopivaksi, ja sitä kyllä hallitsen jonkun verran.

jotta pääsette perille mitä ajan takaa pongasin yhdeltä foorumilta vastaavan systeemin joka oli kaiketi armi lankulle tehty:
http://www.toimii.net/~junnu/arm/01022011_1002.png

odysseus

  • Käyttäjä
  • Viestejä: 367
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #6 : 17.03.11 - klo:17.31 »
mitä mieltä olette kannattaako opetella qt:ta siis tehdä ohjelma ubuntulle (en osaa c/c++)? tai onnistuuko ylipäätään nuo mainitut asiat?

No jos et osaa C/C++:aa, niin ei kannata alkaa edes kokeilemaan. Osaamattomana saat aikaiseksi harmaiden hiusten lisäksi mukavan satsin muistivuotoja, core-dumppeja jne...
C/C++ ei ole mikään PHP vaikka koodi meneekin karrikoidusti copy-pastella sinne.... Pointterit ja muistin käsittely on kuitenkin ihan eri planeetalta ja vaatii vuosien kokemuksen ja siihen hommaan QT ei pahemmin auta.

Ensin siis opiskelemaan Ansi C (ihan ilman GUI:ta komentoriviltä), sitten "Ansi" C++ (ihan ilman GUI:ta komentoriviltä) ja vasta sitten QT ja sen komponentit.
Ja tuossa C:n ja C++:n välissä kannattaa opiskella myös "makefile", "configure" jne jutut... Samalla kannattaa opiskella myös vaikka CppDoc, SVN ja muutamia muita tarvittavia hommia... ...ja sitten kun osaat tuon kaiken (noin +10 vuoden kuluttua), voit siirtyä koodaamaan systeemejä jotka menevät tuotantoon.

pumo

  • Käyttäjä
  • Viestejä: 140
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #7 : 17.03.11 - klo:17.40 »
kiitos infosta,
kuulostaa turhan monimutkaiselta mokomaan projektiin että unohdan koko asian ;D

odysseus

  • Käyttäjä
  • Viestejä: 367
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #8 : 17.03.11 - klo:17.50 »
kiitos infosta,
kuulostaa turhan monimutkaiselta mokomaan projektiin että unohdan koko asian ;D

En halunnut lytätä innostusta.

Aina kannattaa opiskella uutta, mutta jos et tiedä mitään C:stä, niin "kannattaa opetella ensin kävelemään ennenkuin lähtee juoksemaan". (brittiläinen sanonta??)

pumo

  • Käyttäjä
  • Viestejä: 140
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #9 : 17.03.11 - klo:18.24 »
etkä lytännyt palautit takaisin maanpinnalle  ;)

hieman offtopic:
tuossa 2000 luvun vaihteessa tekussa meillä oli aineena c++ ja opettaja laittoi kyllä kertaheitolla motivaation koko kieleen nollaan, kolmannella tunnilla oli hiiren ohjelmointia ja tuskailin vielä ensimmäisen tunnin juttuja. tuli hän viereen kysyi että oletko pudonnut kärryiltä, ja todetessani että olen totaalisesti. mitään sanomatta hän lähti paikalta. en sitten sitä en enempää opiskellut kurssin läpäisin kaverin kanssa jollain kopioidulla työllä  8)

matsukan

  • Käyttäjä
  • Viestejä: 1903
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #10 : 17.03.11 - klo:22.15 »
Lainaus
Ensin siis opiskelemaan Ansi C (ihan ilman GUI:ta komentoriviltä), sitten "Ansi" C++ (ihan ilman GUI:ta komentoriviltä) ja vasta sitten QT ja sen komponentit.
Ja tuossa C:n ja C++:n välissä kannattaa opiskella myös "makefile", "configure" jne jutut... Samalla kannattaa opiskella myös vaikka CppDoc, SVN ja muutamia muita tarvittavia hommia... ...ja sitten kun osaat tuon kaiken (noin +10 vuoden kuluttua), voit siirtyä koodaamaan systeemejä jotka menevät tuotantoon.

Mitä? Et kai ole tosissasi? Ei kenenkään tarvitse tosiaankaan opetella C :tä jos haluaa opetella ja ohjelmoida Qt C++:aa noin ihan kuin harrastuksen pohjalta. Jos ei tosiaankaan aio alkaa ohjelmoimaan ANSI C niin Makefile syvällinen opettelu on lähestulkoon tarpeetonta.  >:(

Pomo, se mitä sinun pitää opetella ja alkaa on versionhallinnan käyttö, tähän Git on sopiva työkalu. SVN on myös yksi vaihtoehto mutta SVN. rajoitteet tekee sen käytön hankalaksi varsinkin jos ohjelmoi useammassa ympäristössä samanaikaisesti.
Pohjois-pohjanmaa
-- motto:  backupin tarve huomataan aina liian myöhään

snifi

  • Vieras
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #11 : 17.03.11 - klo:22.50 »
Ja onhan Qt:lle sidokset myös monelle muulle kielelle, Qt:n sivujen mukaan .NET-kielille, Pythonille, Adalle, Pascalille, Perlille, PHP:lle ja Rubylle.

T.M

  • Käyttäjä
  • Viestejä: 172
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #12 : 18.03.11 - klo:08.50 »
Olen juuri pari päivää opetellut QT:tä QT Creatorin avulla. Ensin meinasin pythonilla hoitaa ohjelmoinnin mutta siirryin c++:aan sillä se tuntui luentevammalta vaikka en ole moneen vuoteen sillä mitään tehnyt.

GUI:ohjelmointi on ainakin omasta mielestäni tode v**mäistä ja itse ohjelmointikielellä ei minun kokemukseni mukaan ole niinkään suurta merkitystä vaan tuolla graafisenkikkareen haltuunotolla. Itse olen ainakin ihan hukassa QT model/view tsydeemin kanssa. Nyt siirryn opiskelussa vaiheeseen kaksi eli hylkään tutoriaalit ja yritän löytyy semmoisen projektin joka vastaisi tavoitettani ja alan kopioiden opettelemaan :)
« Viimeksi muokattu: 18.03.11 - klo:09.33 kirjoittanut T.M »

odysseus

  • Käyttäjä
  • Viestejä: 367
    • Profiili
Vs: Qt-ohjelmoinnista Ubuntulla
« Vastaus #13 : 22.03.11 - klo:17.36 »
Mitä? Et kai ole tosissasi? Ei kenenkään tarvitse tosiaankaan opetella C :tä jos haluaa opetella ja ohjelmoida Qt C++:aa noin ihan kuin harrastuksen pohjalta. Jos ei tosiaankaan aio alkaa ohjelmoimaan ANSI C niin Makefile syvällinen opettelu on lähestulkoon tarpeetonta.  >:(

Et kai tosissasi sano, että alat koodaamaan QT:llä ilman että osaat C:tä?

C++ kun sattumalta sisältää C:n, joten on melkoisen välttämätöntä osata ensin C, jotta pystyy kunnolla ymmärtämään mitä on C++. Jos sitä ei ymmärrä, niin on kyllä syytä jättää C sikseen -tai sitten olet harvinaisen kiinnostunut core-dumpeista muistivuotojen ja väärien tai väärin castattujen osoittimien seurauksena.

QT on sitten sen päälle luotu framework, jonka käyttö on erillistä itse C/C++:sta, mutta jos sillä jotain toiminnallisia ohjelmia haluaa tehdä, niin nuo aiemmin mainitut on osattava.

Enkä puhu nyt mistään harrastustoiminnasta vaan puhun ohjelmoinnista ylipäätään. Ei kannata harrastella jos ei opettele kunnolla sillä osaamaton harrastelu onnistuu vain silloin kun ohjelmasi pysyvät vain ja ainoastaan oman koneesi sisällä. Harrastelijoiden tekemiä ohjelmia ei kannata antaa toisille koneita sotkemaan.

Makefilen tekemisen perusteet kannattaa myös opiskella aivan samoin kuin automake ja configure sillä muuten et saa aikaiseksi mitään helposti eteenpäin jaettavaa laiteriippumatonta koodia.
Jälleen kerran; ehkä se omalla koneella harrastellen ja parilla tiedostolla onnistuu, että jos et ymmärrä mitä makefilessä on, niin pistäpäs kääntäen projekti, jossa on muutamia satoja tiedostoja... Configure on taas varsin "pakollinen" jos meinaat kääntää Ubuntulle tehdyn (Ansi)softan vaikkapa Fedorassa tai Solariksessa...

BTW: Qit on ihan hyvä, mutta kun tuo SVN on vain laajemmalle levinnyt (yleisemmin käytössä suurissa ympyröissä), joten suosittelen siksi sitä.