Tags:
Node Thumbnail

เรารู้กันว่าแพลตฟอร์ม Android นั้นใช้ภาษาจาวาในการพัฒนา แต่ตอนคอมไพล์จะแปลงเป็นโค้ดสำหรับ Dalvik ซึ่งเป็นเวอร์ชวลแมชชีนเฉพาะของ Android เอง ไม่ใช่ JRE และไบต์โค้ดเหมือนแพลตฟอร์มจาวาของซัน

อย่างไรก็ตาม ไม่ว่าจะเป็นเวอร์ชวลแมชชีนของค่ายไหน การพัฒนาโปรแกรมบน Android ก็ไม่ใช่ native เหมือนแพลตฟอร์มอื่นๆ บนมือถือ (เช่น iPhone หรือ Symbian) ซึ่งในบางครั้งก็เป็นปัญหาสำหรับนักพัฒนาที่ต้องการเขียนโปรแกรมแบบ native ล่าสุดกูเกิลได้อุดช่องว่างนี้แล้ว โดยออก Android Native Development Kit (NDK) สำหรับ Android 1.5 มาให้ใช้กัน

Android NDK จะทำให้เขียนโปรแกรมด้วยภาษา C/C++ บน Android ได้ ในอนาคตจะสนับสนุนไลบรารีทั้งหมดของแพลตฟอร์ม Android แต่ในรุ่นแรกจะมีแค่ไลบรารีพื้นฐานอย่าง libc, libz, liblog เป็นต้น โค้ดที่ได้จะเป็นโค้ดของสถาปัตยกรรม ARMv5TE

กูเกิลเตือนว่าการพัฒนาโปรแกรมด้วย NDK แทน SDK ปกติจะทำให้โค้ดซับซ้อนขึ้น และเข้าไม่ถึงฟีเจอร์ของเฟรมเวิร์ค (ที่เป็น Dalvik) แต่บางโปรแกรมที่ต้องการพลังของ native ก็อาจจำเป็นต้องใช้มัน

ที่มา - Android Developer Blog

Get latest news from Blognone

Comments

By: wiennat
Writer
on 26 June 2009 - 11:24 #110404

งี้ก็ทำอะไรเจ๋งๆได้แล้วสิ

onedd.net


onedd.net

By: nuuneoi on 26 June 2009 - 14:00 #110449 Reply to:110404

ก็ยังไม่ได้ ยังมีเรื่อง Permission เซ็งๆมารบกวนใจอยู่ แต่โดยรวมก็ทำให้ทำอะไรได้มากขึ้นอีก"เล็กน้อย"

ส่วน NDK ไม่ใช่การเขียนโปรแกรมเป็น Native-Only แต่เป็นการเขียนบางส่วนของโปรแกรมให้เป็น Native แล้วเชื่อมด้วย JNI เฉยๆ

[code]Please note that the NDK does not enable you to develop native-only applications. Android's primary runtime remains the Dalvik virtual machine.[/code]

ซึ่งตรงนี้ประโยชน์ที่จะเห็นได้ชัดคือการทำ Real Time Image Processing ที่ถ้าทำบน VM มันไม่ไหวแน่ๆ แต่ถ้าทำผ่าน JNI น่าจะไหว

http://www.nuuneoi.com

By: sugree
FounderWriterAndroidBlackberry
on 26 June 2009 - 11:26 #110405

รักมาก

By: lew
FounderJusci's WriterMEconomicsAndroid
on 26 June 2009 - 12:37 #110431
lew's picture

รอ bluez-api ถ้ามันมาเมื่อใหร่นี่ได้เฮแน่ๆ

แต่เครื่องมันแพงอ่ะ

LewCPE


lewcpe.com, @public_lewcpe

By: runnary
iPhoneWindows PhoneAndroidBlackberry
on 26 June 2009 - 13:15 #110434
runnary's picture

ถ้าผมสนใจอยากเขียนโปรแกรม Android แต่ผมไม่มีพื้นฐานเลย ผมควรเริ่มจากอะไรก่อนครับ?

รู้สึกว่าต้องจริงจังสักที

By: n3tz on 26 June 2009 - 13:31 #110440 Reply to:110434

Java ครับ

By: nuuneoi on 26 June 2009 - 14:01 #110450 Reply to:110434

"Experience is the best teacher"

เริ่มจากไปเว็บนี้แล้วทำ Hello World ให้ได้ครับ

http://developer.android.com/sdk/1.5_r2/index.html

http://www.nuuneoi.com

By: runnary
iPhoneWindows PhoneAndroidBlackberry
on 26 June 2009 - 14:31 #110457 Reply to:110450
runnary's picture

จริงๆผมเคยเรียน วิทยาการคอมพิวเตอร์ นะ เรียนได้ปีนึงเจอเลขฐานสิบ ออกมาเรียนนิเทศฯเลย(เรียนจบละ)
ตอนนี้เลยอยากเอาชนะตัวเองให้ได้

By: mementototem
ContributorJusci's WriterAndroidWindows
on 26 June 2009 - 16:46 #110491 Reply to:110457
mementototem's picture

เลขฐานสิบ ใช้อยู่ทุกวันจะไปกลัวอะไรกันครับ? ;)
เลขฐานสอง ก็มีแค่ 0 1 อย่าไปกลัวมัน
เลขฐานสิบหก ก็แถม A-F เอง ง่าย ๆ

เขียนโปรแกรมไม่ค่อยเกี่ยวกับเลขฐานสักเท่าไหร่(มีบ้าง) ถ้าใจรักเสียอย่าง ยากแค่ไหนก็ไม่มีปัญหาหรอกครับ ลองเริ่มเขียนดูสิครับ

My FingerSports Site


Jusci - Google Plus - Twitter - FSN

By: l2aelba
iPhoneAndroid
on 26 June 2009 - 18:19 #110509 Reply to:110434
l2aelba's picture

เหมือนกันเลย อยากเขียนโปรแกรมเป็นบ้าง มีไอเดียในหัวเยอะเยะ แต่ทำไม่เป็น ต้องวาน/จ้างเขาตลอด
------
Unlimited Asian Music (ดูเอ็มวี ไทย, เกาหลี และญี่ปุ่น ฟรีๆ)

By: Patrickz
WriterSymbian
on 26 June 2009 - 16:46 #110490

ต้องอย่างนี้สิ!
"ถ้าจะมาไม่มาทั้งใจ ก็กลับไปเสียดีกว่า" ลันล้าๆๆ

Patrickz's web |
Patrickz's blog | blog @ G2K | blog @ narisa


Patrickz's blog|
linkedin

By: vittee
AndroidRed HatUbuntuWindows
on 27 June 2009 - 10:15 #110658
vittee's picture

ไชโย แทบไม่อยากจะเชื่อสายตาตัวเองเลย

จริงๆตอนแรกสนใจ Android มาก เพราะเห็นว่าพัฒนาจาก Linux แต่ก็ต้องถอดใจเมื่อพบว่าการพัฒนาแบบ Native ทำได้เพียงแค่บน Emulator

แต่ตอนนี้เปลี่ยนใจล่ะ โหลดโลดดดด