Általában az Android platformra készülő alkalmazásokat Java nyelven írják. Ennek a döntésnek sok előnye volt fejlesztői szempontból: viszonylag egyszerű nyelv, sokan ismerik és nagyon jók a kapcsolódó fejlesztőeszközök.
Természetesen a kényelemnek mindig ára van: a Dalvik virtuális gépen futó programok teljesítménye elmarad a natív programokétól. Ez a legtöbb esetben nem probléma, hiszen a legtöbb alkalmazás a platform beépített, optimalizált szolgáltatásait használja az erőforrásigényes feladatokra, mint például a médialejátszás vagy a titkosítás.
Vannak azonban esetek, amikor hasznos lenne, ha natív, C/C++ nyelven írt programrészeket is felhasználhatnánk Androidos alkalmazások fejleszéséhez, például:
- Már létező, natív alkalmazás portolása Androidhoz
- Erőforrásigényes algoritmusok megvalósítása
A most megjelent Native Development Kit (NDK) ezekben a helyzetekben nyújt segítséget. Az alkalmazások felhasználási felületét továbbra is Java nyelven kell megírni, de hivatalosan is támogatott lett a JNI (Java Native Interface) könyvtárak használata az Androidos alkalmazásokban. A natív programrészek számára elérhető funkciók egyelőre korlátozottak:
- libc - a szabványos C könyvtár
- libm - a szabványos C matematikai könyvtár
- JNI - a JNI interfész
- libz - a ZLib tömörítési könyvtár
- liblog - Android log üzenetek küldése
Natív alkalmazások esetén természetesen felmerül, hogy milyen a futtató eszköz processzorának utasításkészlete. A jelenleg piacon kapható Android alapú telefonok (és a nemrég bejelentett HTC Hero is) az ARMv5TE utasításkészletet használják, az NDK első verziója is ezt támogatja. A fejlesztői infrastruktúra lehetővé teszi a támogatás bővítését további platformokkal, illetve egy APK csomagban több architektúra támogatását is.
Az eredeti bejelentés
itt olvasható.
0 megjegyzés:
Megjegyzés küldése