Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Mobiiliohjelmointi C++:lla?

Sivun loppuun

Mazzimo [18.02.2007 22:04:20]

#

Moro.

Tässä heräsi nytten pieni kiinnostus tuohon mobiiliohjelmointiin, kun huomasin hiihdellessäni kilpaa, että varsin yksinkertainen ajanottolaite maksaa 800 €. Tälläisen saisi varsin yksinkertaisesti ohjelmoitua (ainakin saisin C++:lla sellaisen varsin helposti aikaan). Alkuun pääsy on tunnetusti vaikeaa ja olenkin yrittänyt etsiskellä juttuja aloittamisesta. Ei ole vain vielä tärpännyt.. :(

Eli tarkoitus olisi Nokian S60 puhelimille pieniä ohjelmia väsätä. Kielenä pitäisin mieluusti C++:n (olen sen verran lukenut, että C++ pitäisi käydä). Kaikkein paras vaihtoehto olisi, että voisin pitää IDE:nä tutun ja turvallisen Visual C++ 2005 Express:ini. Siispä kysyisinkin teiltä kokeneemmilta: mitä pitäisi alkaa latailemaan ja mistä näitä ohjelmointiapuvälineitä saisi (likki?)? Mitä muuta pitäisi ottaa huomioon? Ilmeisesti joku SDK pitää ladata? Olisin kiitollinen avusta. :)

Kiitos etukäteen!

osku91 [18.02.2007 22:08:04]

#

Ymmärtääkseni ei voi c++:alla tehdä puhelimeen ohjelmia, mutta voin kyllä olla väärässäkin

Mazzimo [18.02.2007 22:10:23]

#

Ei ilmeisesti aivan C++:lla, mutta Symbian C++:lla (mikä lieneekään). Itseltäni C++ sujuu jotenkin, joten onko tuo Symbian C++ sitten aivan ylivoimainen asia? Vai olisiko järkevämpää käydä opettelemaan J2ME:tä, josta minulla ei ole mitään kokemusta??

JoinTuanJanohon [19.02.2007 00:18:32]

#

Isse olin joskus vuonna 6 töissä sellaisen firman tiimissä, jonka tavoitteena oli tehrä jotain sovelluksia noille kännyköille. Kännykkä on jonkin asteinen sulautettu systeemi, jossa päämääränä on tehdä mahdollisimman paljon mahdollisimman vähällä teholla ja muistilla.

Tehokkaampi prosessori maksaa enemmän ja esimerkiksi muistin tuplaaminen maksaa mansikoita. Minun aikanani sovelluksia yritettiin tehdä C:llä (käyttöliittymä) ja assemblerilla (sovelluksen moottori). C++ ja mahdollisesti vielä tehokkaasti optimoiva sellainen kuulostaa ylellisyydeltä.

Itse olen törmännyt tasan yhteen sellaiseen sulautetuissa järjestelmissä käytettyyn prosessoriin, jonka mukana oli tehokas C-kääntäjä. Prosessorin nimi oli ARM. Sen C-kääntäjä tuotti lähes poikkeuksetta parempaa koodia, kuin mitä sen ehdollisella assemblerilla ihmiskäsi pystyi kirjoittamaan.

Mutta tavallisesti noiden vastaavien prosessoreiden C-kääntäjät ovat P:stä. C:n ja käsin kirjoitetun assemblerin teho-ero voi huidella pahimmillaan jossain 20-30 välillä. Kannattaisko siis käyttää C:tä ja assembleria? "Symbian C++" kuulostaa rankalta. Kenties se on tänä päivänä kova sana, ja lyö mennen, tullen ja palatessa kaikki C/assembler -väsäykset.

K_L [19.02.2007 08:14:03]

#

No joo, tarvitset Symbian s60 SDK:n Suosittelen myös hakemaan kirjastosta muutaman kirjan aiheeseen. http://forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html

J2ME on kyllä aivan varteenotettava vaihtoehto. Nimittäin Symbian C++ aiheuttaa välillä hiustenlähtöä.

moskito [19.02.2007 12:24:19]

#

K_L kirjoitti:

No joo, tarvitset Symbian s60 SDK:n Suosittelen myös hakemaan kirjastosta muutaman kirjan aiheeseen. http://forum.nokia.com/info/sw.nokia.com/id/4a7149a5-95a5-4726-913a-3c6f21eb65a5/S60-SDK-0616-3.0-mr.html

J2ME on kyllä aivan varteenotettava vaihtoehto. Nimittäin Symbian C++ aiheuttaa välillä hiustenlähtöä.

Todellakin. Kannattaa toteuttaa sovellus J2ME:llä, joka on huomattavasti helpompi oppia kuin symbian, vaikka C++:aa osaisitkin. Tietysti javan perusteiden osaaminen olisi suotavaa.

Luulisi kyllä, että ajanottolaite on tehty jo monta kertaa ja sellaisen saat netistä varmaan ilmaiseksikin. Eli jos onnistumisen tunne oman sovelluksen koodaukseen ei ole välttämätön, ota google käteen ja lataa se netistä.

FooBat [19.02.2007 13:10:02]

#

Mitä nyt yhtä kurssia muistelen niin Symbian C++:n suurimmat erikoisuudet olivat funktioiden ja muuttujien erikoinen nimeämiskäytäntö sekä täysin oman tyyppinen muisinhallinta. Siinä kesti kieltämättä hetken, että noihin pääsi sisään.

feenix [19.02.2007 13:36:09]

#

FooBat kirjoitti:

Mitä nyt yhtä kurssia muistelen niin Symbian C++:n suurimmat erikoisuudet olivat funktioiden ja muuttujien erikoinen nimeämiskäytäntö sekä täysin oman tyyppinen muisinhallinta. Siinä kesti kieltämättä hetken, että noihin pääsi sisään.

Ei niissä kovin erikoista ole nimeämisessä, se on hyvin selkeää kun lukee miten menee. Muistinhallinta ei ole täysin oman tyyppinen myöskään, ihan samat new/delete siellä on. Ainoastaan Cleanup Stackia pitää opetella käyttämään.

Muuten sen sijaan se ei aiheuta välillä hiustenlähtöä vaan melkein aina. Suosittelen järjen säilyttämisen takia myöskin J2ME:tä tuollaiseen yksinkertaiseen softaan.

Mutta Visual C++ 2005:llä et myöskään Symbian/S60-softaa kehitä, Visual Studio 2003:een kyllä on Carbide.vs. Nykyään "pitää" käyttää Nokian Carbide.c++ 1.1:ä, joka on Eclipse-pohjainen eli kauhea. 1.2-versio on betassa ja tuntuu paremmalta mutta luonnollisesti ei voi Eclipsen hitauksia ja ongelmia poistaa.

Itse ennen 1.2:n betaa tein ihan Visual Studio 2005:llä editoinnin ja käännös komentoriviltä. 3rd Edition -SDKissa vaan sotkettiin tämäkin eikä komentorivikäännös emulaattoriin mene niin helposti ja muuta mukavaa.

Eli pysy erossa ellei oikeasti ole pakko.

(Ja ARMeja luonnollisesti nuo kännyprossut ovat melko poikkeuksetta)

Mazzimo [19.02.2007 16:34:11]

#

Eli siis J2ME:tä opettelemaan? Olisko linkkejä, mistä voisin aloittaa? Ilmeisesti tarvitsen sopivan kehitysympäristön, vai?

feenix [20.02.2007 11:59:44]

#

Sunilta WTK (Wireless Toolkit) käteen, sisältää "emulaattorin" ja käännöskalut ja muut. Tekstieditori vaan rinnalle ja menoksi. Tietysti voi myös käyttää Eclipsejä tai muita bloatteja jos tahtoo.

Kannattaa kuitenkin muistaa, että nuo "emulaattorit" eivät oikeasti emuloi kunnolla mitään J2ME-systeemiä. Esimerkiksi flotareita ei CLDC 1.0:ssa ole, silti emulaattori niitä ajaa nätisti. Eli kannattaa lukea J2MEstä dokuja sopivasti että tietää mikä on sallittua ja mikä ei.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta