PhoneGap/Cordova

วิธีทำให้ปุ่มและ UI บนแอพ PhoneGap ตอบสนองเร็วเหมือนแอพ Native

เรื่องที่เกี่ยวข้อง - Fastclick.js, PhoneGap Optimization

ปุ่มกดบน PhoneGap อาจจะเหมือนเป็นคำสาปที่ติดมาพร้อมกับความสามารถของ PhoneGap ไม่ว่าเราจะใช้แท็ก , ใช้ JavaScript, หรือจะใช้ framework อย่าง JQuery มาใช้กับ event ก็ดูเหมือนจะไม่สามารถแก้ไขได้ มันเกิดจากอะไร และเราจะแก้ไขได้อย่างไรบ้าง

Web browser นี่แหละ ตัวต้นเหตุ

ความจริงมีเพียงหนึ่งเดียว!! ต้นเหตุของการตอบสนองที่ไม่ทันใจใครหลายๆ คน ไม่ใช่ข้อผิดพลาดที่ใครที่ใดที่หนึ่ง แต่เป็นเพราะสิ่งที่ระบบปฏิบัติการบนอุปกรณ์ต่างๆ ทำต่อลิ้งค์บนเว็บทั่วไปนั่นเอง 300 ms. ดังนั้นพอเราทราบว่าตัวการของปัญหาอยู่ที่ไหน ก็สามารถหาวิธีการมาแก้ไขได้ถูกต้อง

วิธีแก้ไขให้ปุ่มกด หรือ link ตอบสนองกับการกดเร็วขึ้นบนแอพที่สร้างด้วย PhoneGap

เท่าที่เจอมา ทางแก้ของเรามีหลายวิธีครับ โดยเราสามารถแบ่งได้ตามเครื่องมือและวิธีการที่เราสร้างแอพนั่นเอง ไม่ว่าจะเป็นแบบธรรมดา (สายบริสุทธิ์ ใช้แค่ JavaScript), ใช้ plugin เพิ่มเติม, และ การใช้ framework อย่าง AngularJSโดยผมแยกแต่ละส่วนไว้ด้านล่างครับ

Fastclick

สามารถ download Fastclick.js ได้ที่ Github

วิธีนำไปใช้ใน HTML

<head>
..
<script type='application/javascript' src='fastclick.js'></script>
..
</head>

วิธีเริ่มการทำงานของ Fastclick.js ใน PhoneGap

function onBodyLoad()
{       
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady()
{
  alert('test');
  FastClick.attach(document.body);
}

ติดตามเนื้อหาที่เกี่ยวข้อง

สนใจเรื่อง Web Design, Adobe for Web, และ PhoneGap ฝาก Email รับบทความใหม่ๆ จากผมได้ที่นี่ครับ

ดูเนื้อหารวมเรื่อง PhoneGap ได้ที่ nextflow.in.th/phonegap

 

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save