» »

Android tudi za C in C++

Android tudi za C in C++

Ars Technica - Google je izdal nativni razvijalski toolkit za Android, ki bo omogočil programiranje aplikacij zanj tudi v popularnih jezikih C in C++. Poleg tega so izdali še okolje za skripte, ki podpira Python in Lua. Doslej je bil Android večidel omejen na Javo, ki je tekla na Googlovem virtualnem stroju Dalvik Java, ki je bila ob izidu tudi edina podprta možnost. No, to se kani spremeniti z v torek najavljenim Android Native Development Kit (NDK).

Omeniti velja, da bo ta še vedno imel nekaj omejitev, tako da Google ne priporoča njegove uporabe kot polno alternativo za Javo. Bo pa vsekakor zelo uporaben v delih, ki zahtevajo specifične C-jeve knjižice. Že prej ta mesec je Google izdal Android Scripting Environment, ki omogoča pisanje enostavnih aplikacij v jezikih Python in Lua. Več o tem.

33 komentarjev

karagoth ::

Kaj pa .NET ? :P

Stipex ::

nikol pomoje

techfreak :) ::

Verjetno res ne bodo za .NET naredili ... kakšne pa so prednosti? Če deluje samo na Windowsu je tako brezveze.

vorantz ::

najbrž jim microsoft niti ne bi dovolil

samsung113 ::

Dobro to bo vsaj operaciski sistem lazje portat na druge telefone.

phantom ::

Tale C/C++ podpora bo bolj mizerna, ker v C/C++ ne boš mogel spisat celega programa, ampak samo določene funkcije in jih klical preko JNI. C/C++ koda pa do velikega dela Android API ne bo imela dostopa, ker je ta večinoma v Javi. Uporabno bo predvsem za pohitritev računsko zahtevnih algoritmov, ki med delovanjem ne rabijo klicat API od OS.
~
~
:wq

techfreak :) ::

Dobro to bo vsaj operaciski sistem lazje portat na druge telefone.

A ni Jave lažje portati? Čeprav jedro mora tako biti v čem drugem kot v Javi napisano.

roli ::

Seveda je Javo lažje portati samo jedro sistema je tako ali tako napisano v C/C++. Mi je pa vsekakor všeč, da android uporablja Javo za programiranje. Sem razmišljal najprej, da bi se naučil programirati za iPhone Os z Objective C. Pa je zaradi tega pritisk v moji flaški potrpežljivosti precej narasel, ko sem prišel pa do memory managmenta pa jo je razgnalo:D. Tako, da sedaj gledam malo android, če bo kaj pametnega. Mi pa ni všeč, da android rabi GUI spisan v xmlju. To mi gre pa precej na živce, ker kaj dosti več od tega kaj xml je nimam pojma o njem. Zakaj nimajo kakega gui builderja kot ima to iPhone SDK?
http://www.r00li.com

PaX_MaN ::

Jux ::

Verjetno res ne bodo za .NET naredili ... kakšne pa so prednosti? Če deluje samo na Windowsu je tako brezveze.

najbrž jim microsoft niti ne bi dovolil


Kaj pa če bi si vidva analfabeta mal prebrala: http://mono-project.com/Main_Page
web&blog&etc: http://lukabirsa.com

techfreak :) ::

Ampak Monota se zaradi MSja vsi bojijo. Še nedolgo nazaj sem bral novico o tem, da v Debian ne bodo vključili programa, ki je napisan v C#.

BaRtMaN ::

So ga (Tomboy je napisan v C#) in Rihard že opozarja.

techfreak :) ::

Ja no ... ampak a niso malo pozni? Program je že kar nekaj časa vključen.

BaRtMaN ::

V Ubuntuju je že dolgo, ampak FSF očitno smatra za heretičen distro, ker tako "lahkoživo" uporablja zaprtokodne rešitve.

Sicer pa verjamem, da so Debianovci dobro predebatirali to odločitev. Če želi Stallman protestirat, naj.

techfreak :) ::

Ampak delno ima tudi prav. Če bi imel MS kakšne težave z Monotom in ga ne bi smeli več uporabljati, potem tudi teh programov ne bi mogli uporabljati.

BigWhale ::

V Ubuntuju je že dolgo, ampak FSF očitno smatra za heretičen distro, ker tako "lahkoživo" uporablja zaprtokodne rešitve.

Sicer pa verjamem, da so Debianovci dobro predebatirali to odločitev. Če želi Stallman protestirat, naj.


Cloveka, ki naokrog hodi z disk platterjem na glavi je potrebno jemati nekoliko rezerve saj obstaja moznost, da sveta ne dojema cisto tako, kot bi bilo treba. ;)

darkolord ::

Če bi imel MS kakšne težave z Monotom in ga ne bi smeli več uporabljati, potem tudi teh programov ne bi mogli uporabljati.
Oh, kaj pa če ima MS (ali kdo drug) kakšne težave z Linuxi?

techfreak :) ::

Jah potem bi jim pač tečnaril glede C#.

darkolord ::

Nisi razumel. Če MSju ne bo všeč Mono, bo začel težit glede C#. Okej, kaj pa če jih bo motlo kej v samem Linuxu? Se odsvetuje uporabo, če se kej tazga slučajno zgodi? :)

borchi ::

> Se odsvetuje uporabo, če se kej tazga slučajno zgodi?

valjda, da ne. tisto kar moti M$ v linuxu, jih bo motilo do M$jevega bridkega konca...

(kar ni njihovo, ni njihovo(tm) :D)
l'jga

BaRtMaN ::

Rihard odsvetuje uporabo, ker lahko MS začne groziti s svojimi patenti, ki jih ima v ZDA. Razlogi, zakaj bi MS to naredil, naj ostanejo v Ballmerjevih pregretih možganih.

Če situacijo pogledamo natančneje, opazimo, da so problematični nestandardni namespaci Monota, ki zagotavljajo združljivost s kodo, napisano neposredno za Windows. Če bi prišlo do kakšnega razdora, bi morali razvijalci iz Monota odstraniti to plast, pisci aplikacij pa zamenjati Microsoft specific klice s čim dugim.

war-dog ::

pa so korak bližje svojemu OS-u
Object reference not set to an instance of an object.

r0ker ::

kaj to pomeni iz vidika portanja androida na druge naprave? če prav razumem nič oz. ZELO malo? core funkcije ne morejo biti v c*?

Zgodovina sprememb…

  • spremenil: r0ker ()

samsung113 ::

Seveda je lahko.

illion ::

... Tako, da sedaj gledam malo android, če bo kaj pametnega. Mi pa ni všeč, da android rabi GUI spisan v xmlju. To mi gre pa precej na živce, ker kaj dosti več od tega kaj xml je nimam pojma o njem. Zakaj nimajo kakega gui builderja kot ima to iPhone SDK?


trenutno delam aplikacijo za androida in ti lahko povem, da guija ni treba pisat v xmlju sploh ;)
lahko jih delaš čist tko kt z navadno javo, point xmljev je samo v tem, da ločiš logiko od guija (da ti razne inicializacije layoutov, njihove nastavitve in vse to sranje ne smeti kode). men je v bistvu ta pristop čist všeč, poleg tega pa lahko tud poljubno mešaš oba pristopa- v xmlju definiraš elemente, kkšne fine nastavitve pa potem nastavš še v sami kodi

v glavnm, men je zaenkrat zadeva zakon:D

Zgodovina sprememb…

  • spremenil: illion ()

roli ::

Lepo to jaz pa šele začenjam. In ker nisem tudi nek ekspert v javi je tole še malo bolj zanimivo. Sicer sam XML ni tak problem - ker zadeva je zelo podobna kakemu HTMLju. Večji problem vsaj meni je, da ne moreš izgleda narisat ampak ga moraš naredit programsko in to mi gre na živce. Ker za iphone OS imaš Interface Builder kjer lahko narišeš vmesnik točno tako kot bo potem izgledal na dejanski napravi. Za android tega nažalost ne moreš narediti. Seveda imaš pripomočke, kjer narišeš GUI in potem naredi iz tega XML (DroidDraw), pa tudi sam eclipse čisto malenkost samo to ni to. Čeprav se tega jeb*** spominjam še iz par let nazaj, ko sem se zabaval z PHPjem v katerem narediš super programček dokaj hitro problem je, da pol tistega časa porabiš za to, da pogruntaš izgled, ki ga ponovno ne moreš kar narisat in iz njega dobit kodo.

Še en problem teh mobilnih platform je, da niso ravno namenjene začetnikom. PA ne mislim začetnikom v programiranju ali začetnikom v določenem jeziku. Problem je, ker je to namenjeno ljudem, ki vedo precej o samem jeziku, ki dobro vejo kaj je Framework/API... in ne, da se jim sanja samo ne vedo iz prakse... Pače meri na nekaj višjega. KAr se vidi tudi po dokumentaciji. Še posebno pri Applu, tista iPhone dokumentacija je namreč tako dolgočasna, da skoraj zaspiš ob branju prvega stavka. Podobno čeprav malenkost boljše je tudi pri androidu. Namesto, da razlagajo kako je platforma zgrajena, katere knjižnice so napisane v C, katere v X jeziku (kar me na začetku niti pod razno ne briga).... bi se raje posvetili kako izdelat par simpl aplikacij, kaj rabiš za to, kaj je izjemno pomembno, katere elemente lahko uporabiš pri tem... In šele, ko to dobiš nadaljuješ proti tistim sestavnim delom. NE pa da pišejo polmeterske uspavanke. Ker meni je programiranje zanimivo, ko nekaj delaš z čimmanj znanja in ga sproti pridobivaš. Branje polmeterskega romana, da pogruntam kako na zaslonu prikazat eno tipko ni ravno zabavno.
http://www.r00li.com

borchi ::

btw, za take primere ponavadi obstajajo 3rd party 'Beginning...' knjige/vodiči. kaj je narobe z njimi?
l'jga

roli ::

Da jih ni kaj dosti, ker so tele mobilne platforme še precej nove.
http://www.r00li.com

borchi ::

predelal si že kar obstaja za androida in iphone pa ti še vedno ne gre?!
l'jga

roli ::

Ciljal sem bolj kot ne na to kar je mogoče brezplačno dobiti na internetu. Čeprav nisem imel nobene ideje da je že toliko knjig o teh platformah. Tako, da bom verjetno kako poiskal in preizkusil.
http://www.r00li.com

illion ::

pri androidu je point da morš znat javo že od prej, če hočš resno začet razvijat aplikacije. za samo učenje je navadna java lažja, ker se ni treba ukvarjat tok z optimizacijami ipd..

men so recmo tiste 3 helloworld aplikacije na uradni strani ble dovolj. sam api je tud opisan na isti način kokr pr javi, edino kkšni tutoriali na blogih so mal zastareli - neke stvari so se med verzijama 1.1 in 1.5 kr spremenile.

pa tud kar se guija tiče mi je bildanje z xmljem zmeri bolj všeč in mislm da je to kr prava smer (rahlo spominja na mvc princip, ki se ga uporablja pri večjih spletnih aplikacijah).

roli ::

Saj javo znam že od prej. Vprašanje je sicer kdaj pridemo na stopnjo, ko lahko nekdo reče da nekaj zna. Torej ali je dost, da človek ve kaj je class, kaj je metoda, kaj interface, kako poteka dedovanje,... in zna to uporabit. Ali je potrebno imeti od prej veliko izkušenj iz dela z jezikom. Jaz sem se naprimer Javo naučil tako, da sem vsak dan prebral nekaj uradne dokumentacije, poizkusil prebrano v preprostih primerčkih ampak v Javi naprimer nisem še naredil kakršne koli aplikacije, ki bi bila v resnici uporabna.

Če bi rad MVC pristop potem vsekakor priporočam iPhone:D. Problem iPhonea sta predvsem tisti objective C (glavni problem) in memory managment - zadeva nima garbage collectorja. Izmed OOP jezikov izgleda Java nekje še najbolj enostavna, ker je veliko stvari, ki te ne zanimajo (predvsem memory managment), ni pointerjev...
http://www.r00li.com

Gandalfar ::

Je kdo ze probabal kaksen http://phonegap.com/ ? :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kateri jezik za cross-platform csv parser

Oddelek: Programiranje
131121 (730) Not A Number
»

Kater programski jezik je najbolj "uporaben"?

Oddelek: Programiranje
71051 (951) ragezor

Učenje programiranja

Oddelek: Programiranje
51072 (982) Gandalfar
»

Oracle ekspresno pobrisal blog nekdanjega Sunovca, ki je govoril v prid Googlu

Oddelek: Novice / Tožbe
106103 (5091) BlueRunner

Več podobnih tem