เนื่องจากผมลองค้นหาใน google ดูนะครับ ผมค้นว่า “เขียนแอพแอนดรอย” สิ่งที่ปรากฎขึ้นมากับมีเพียง ภาษา Java เท่านั้นซึ่งโดยส่วนตัวแล้วผมอยู่กับภาษา C ก็เลยคิดว่าจะมาแนะนำภาษาต่างๆที่ใช้เขียนแอพแอนดรอยได้กัน เพื่อจะเจอภาษาที่ง่ายและถูกใจกันนะครับ เนื่องจากภาษา Java เป็นภาษาที่ค่อนข้างยากสำหรับมือใหม่หัดขับนะครับ
ความเดิมเมื่อนานมาแล้ว :
ภาษาคอมพิวเตอร์มีด้วยกันมากมายหลายประเภท แต่แบ่งได้เป็นหลักใหญ่ๆด้วยกัน 2 ประเภทคือ
1.interpreter
หมายถึงโปรแกรมคอมพิวเตอร์ที่ทำงานตามชุดคำสั่งที่เขียนไว้ทันที ซึ่งไม่เหมือนกับคอมไพเลอร์ (compiler) ที่แปลชุดคำสั่งจากภาษาคอมพิวเตอร์ภาษาหนึ่งไปเป็นอีกภาษาหนึ่งก่อนทำงาน (โดยส่วนมากจะแปลเป็นภาษาเครื่อง)
โดยทั่วไปแล้วการทำงานของโปรแกรมผ่านอินเทอร์พรีเตอร์จะช้ากว่าทำงานจากโปรแกรมที่ผ่านการแปลโปรแกรมเป็นภาษาเครื่องแล้ว เพราะอินเทอร์พรีเตอร์จะต้องแปลแต่ละคำสั่งในระหว่างการทำงานว่าจะต้องทำอะไรต่อไป (อ้างอิง :: http://th.wikipedia.org/wiki/อินเทอร์พรีเตอร์)
จากข้อความที่ผมได้ยกมาจาก wikipedia นะครับ สรุปง่ายๆคือ ภาษาตระกูลนี้จะง่ายต่อการเขียน เพราะฉะนั้นคำสั่งทุกอย่างมักจะจบภายในหนึ่ง บรรทัด เหมาะ มากๆ สำหรับมือใหม่ แต่มีข้อเสียก็คือ ภาษาแบบนี้จะทำงานของมันไปเรื่อย ถ้าเจอ Error โปรแกรมก็จะเอ๋อ หรือไม่ก็ปิดตัวเองทันที มันคงจะไม่ดีสักเท่าไหรสำหรับคนที่ใช้แอพเราเหมือนกัน
2.Compiler
เป็น โปรแกรมคอมพิวเตอร์ที่ทำหน้าแปลงชุดคำสั่งภาษาคอมพิวเตอร์หนึ่ง ไปเป็นชุดคำสั่งที่มีความหมายเดียวกัน ในภาษาคอมพิวเตอร์อื่น
คอมไพเลอร์ส่วนใหญ่ จะทำการแปล รหัสต้นฉบับ (source code) ที่เขียนในภาษาระดับสูง เป็น ภาษาระดับต่ำ หรือภาษาเครื่อง ซึ่งคอมพิวเตอร์สามารถที่จะทำงานได้โดยตรง อย่างไรก็ตาม การแปลจากภาษาระดับต่ำเป็นภาษาระดับสูง ก็เป็นไปได้ โดยใช้ตัวแปลโปรแกรมย้อนกลับ (decompiler) (อ้างอิง :: http://th.wikipedia.org/wiki/คอมไพเลอร์)
จากข้อความข้างต้นผมข้อสรุปสั้นๆได้ว่า เป็นภาษาที่เราต้องเขียนให้สมบูรณ์ก่อน จึงนำมาใช้งานได้ โดย ตัว compiler จะทำการแปลงไฟล์ทีเดียว ต่างจาก interpreter ที่ต้องแปลงไฟล์ทุกรอบที่ใช้งาน ซึ่งแม้ compiler จะมีข้อเสียเรื่องพิมพ์โค้ดยาก แต่จะมีข้อดีคือ ไม่ค่อยมีบัค และ ไม่ต้องกลัวโค้ดหลุด
ผมก็ได้กล่าวถึงความเดิมตอนที่แล้วมานานแล้ว เข้าเรื่องของเราดีกว่านะครับ
ภาษาที่ใช้บนแอนดรอยนะครับ
ก่อนเริ่มเขียนควรมีพื้นฐานสักหนึ่งภาษา ก่อนนะครับ ถ้าไม่มีมาเลยแนะนำให้อ่านพื้นฐานภาษาซีก่อนครับ http://programming.in.th/tutorial/index.php
Compiler
-Java
(จะเพิ่มเนื้อหาเร็วๆนี้)
-C / C++
(จะเพิ่มเนื้อหาเร็วๆนี้)
-C#
(จะเพิ่มเนื้อหาเร็วๆนี้)
Interpreter
-Shell (รู้จักกันในชื่อภาษาLinux)
(จะเพิ่มเนื้อหาเร็วๆนี้)
-BeanShell
(จะเพิ่มเนื้อหาเร็วๆนี้)
-Ruby
http://image.free.in.th/show.php?id=248636eec665cbdac2f1ff6acb7adb07
(เหมือนจะรันไม่ได้บนเครื่องผม จะกลับมารัวิวเมื่อรันได้นะครับ)
-LUA
(จะเพิ่มเนื้อหาเร็วๆนี้)
-PHP (ย่อมาจากคำว่า Page Hypertext Processor)
(จะเพิ่มเนื้อหาเร็วๆนี้)
-Perl
(จะเพิ่มเนื้อหาเร็วๆนี้)
-Python
เป็นภาษาแบบ Interpreter คำสั่งมักยาวไม่เกิน 80 ตัวอักษร (เนื่องจากข้อจำกัดของตัว terminal) มักใช้ Tab แทนการวงเล็็บเพื่อให้รู้ว่าเป็นส่วนย่อยของโปรแกรม (แต่ไม่รู้ด้วยเหตุใด เมื่อเขียนในAndroid จึงบังคับใช้ วงเล็บ)
การใช้ภาษา Pythonใน android นั้น ต้องการอุปกรณ์ 2 อย่างคือ SL4A และ Python3forAndroid
http://image.free.in.th/show.php?id=8cfb69430928f1f35f93d994e95182d4
(จากภาพ แถว3 ด้านขวาสุดคือ SL4A และแถว3ด้านซ้ายสุดคือ Phyton3ForAndroid)
Download :
SL4A http://code.google.com/p/android-scripting/
Python3ForAndroid http://code.google.com/p/python-for-android/
วิธีการใช้งาน ตอนแรกเราก็ลง Python3forandroid ก่อนแล้วจึงเข้าแอพไปเพื่อเลือก Install module อีกที
http://image.free.in.th/show.php?id=e34702873d07e68309940238fb77d566
จากนั้นติดตั้งแล้วเข้าไปใน SL4A จะมี Pythonมารออยู่แล้วนะครับ สามารถเขียนได้เลย (เขียนไม่เป็นลองหาตาม Google ดูครับ)
http://image.free.in.th/show.php?id=d2bc42fd9d7ddbb286b5ec516c16e96d
ในที่นี้ สามารถ import Android มาใช้ได้ทำให้การเขียนง่ายมาก
http://image.free.in.th/show.php?id=99bf33f50fbff00e27e1ae8e98aa4d64
ลองรันดูครับ
http://image.free.in.th/show.php?id=35b7722ade4013d8a3ed327d45a70d53
คำเตือนนะครับ
การเขียน python ใน Android ต้องมีวงเล็บครอบคำสั่งด้วยนะครับ (ดูรูปด้านบน) ต่างจาก python ตัวอื่นๆที่ไม่ต้องมีวงเล็บก็ได้ (อันนี้ทดสอบบน ubuntu ครับ)
http://image.free.in.th/show.php?id=25fae865f4c7165c669ced9ce512825f
-Rhino
(จะเพิ่มเนื้อหาเร็วๆนี้)
ซึ่งผมจะมาอัพเดตกระทู้นี้ต่อนะครับ เนื่องจากค่อนข้างยาวต้องเตรียมรูปสักนิดหนึ่งครับ
–
ได้ความรู้ดีครับ ขอบคุณมาก