เริ่มต้นเขียน Android ด้วย Phonegap & Cordova
เมื่อวันเสาร์ที่ผ่านมา ได้มีโอกาสลองใช้งาน Phonegap & Cordova ครั้งแรกครับ หลังจากที่ว่าจะลองมานานแล้ว เนื่องจากว่าเคยไปส่อง Documentation แล้วรู้สึกว่าชวนสับสน และงงงวย ไม่รู้จะเริ่มตรงไหนดี? วันนี้ได้มีโอกาสลองซักทีแต่เป็นเพียงแค่ สั่งรันแอพ Hello World ได้เท่านั้นนะครับ ไม่ได้มีอะไรพิเศษอะไร เผื่อมีประโยชน์สำหรับคนเริ่ม Phonegap เหมือนกับผม
Install
ก่อนทำการติดตั้ง phonegap & cordova ต้องทำการติดตั้ง Node.js ซะก่อน
Create new Project
เริ่มต้นสร้างโปรเจ็คขึ้นมา โดยใช้ชื่อว่า myapp
ในกรณีที่มีปัญหาแบบนี้ ขณะเพิ่ม platform android
แสดงว่าลืมตั้งค่า Android Home เปิดไฟล์ .bashrc
แล้วทำการเพิ่ม Path ลงไป
โดยการเพิ่ม path ที่อยู่ของ Android Home
รีโหลด bashrc
Note: สำหรับวิธีตั้งค่า Android Home บน Windows อ่านจากบทความนี้ ขั้นตอนการติดตั้ง Android Studio 1.0 สำหรับมือใหม่ ในส่วนตั้งค่า JAVA_HOME น่าจะเหมือนกัน แค่เปลี่ยนเป็น ANDROID_HOME
หากไม่มีปัญหาอะไร เวลาที่ add platform เสร็จก็จะขึ้้นแบบนี้
ตัว Cordova จะทำการ generate ไฟล์ android ไว้ที่ platforms/android
ซึ่งดูจาก File Structure แล้ว เหมือนกับการเขียน Native Android ปกติเลยครับ
ในส่วนคลาส CordovaApp.java
ส่วนไฟล์หลักๆที่เขียน คาดว่าน่าจะอยู่โฟลเดอร์ /www
และส่วนอื่นๆเช่น Contact, Camera, File, Accelerometer, etc. จะอยู่ในส่วน /plugins/android.json
Start App
สุดท้าย ทดสอบรันโปรแกรม ด้วยคำสั่ง
Note: กำลังสงสัยว่า
phonegap run android
กับcordova emulate android
ต่างกันยังไง? หากใครรู้ช่วยบอกด้วยนะครับ
รอ phonegap ทำการ execute แปปนึง
จากนั้น จะได้หน้าตาของแอพ hello world phonegap แบบนี้ครับ
Cordova น่าจะเป็นอีกหนึ่งทางเลือกนึงที่น่าสนใจ เนื่องจากว่าตอนนี้ผมกำลังหาตัว Generate จากเกม HTML5 ไปเป็น Platform ต่างๆ จากทีแรกลองใช้ CocoonJS เลยอยากลองหาทางเลือกอื่นดูเปรียบเทียบกันดูว่าเป็นอย่างไร เดี๋ยวถ้าได้ลองเล่นมากกว่านี้ มีอะไรใหม่ๆ จะเอามาแชร์ละกันครับ ตอนนี้ทำได้แค่ Hello World เอง :)
Happy Coding ❤️
References
- Authors
-
Chai Phonbopit
เป็น Web Dev ในบริษัทแห่งหนึ่ง ทำงานมา 10 ปีกว่าๆ ด้วยภาษาและเทคโนโลยี เช่น JavaScript, Node.js, React, Vue และปัจจุบันกำลังสนใจในเรื่องของ Blockchain และ Crypto กำลังหัดเรียนภาษา Rust