Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

ข้อผิดพลาดที่มักเกิดกับการพัฒนา Mobile App

$
0
0

ในการพัฒนา Mobile app นั้นแตกต่างจาก Web app และ Desktop app มากมาย แต่กลับพบสิ่งที่ผิดพลาดสำหรับการพัฒนา Mobile app มากมาย เนื่องจากยังใช้แนวคิดจากการพัฒนาระบบอื่น ๆ มาใช้ จึงทำการสรุปสิ่งที่ผิดพลาดไว้นิดหน่อย

1. Mobile ทุกชนิดต้องแสดงผลและใช้งานเหมือนกันหมด

ตัวอย่างเช่น Mobile app ที่ทำงานบน Android และ iPhone จะต้องมีหน้าตา app ที่เหมือนกัน จะต้องแสดงผลเหมือนกัน จะต้องใช้งานเหมือนกัน เป็นสิ่งที่มักพบบ่อยมาก ๆ ทั้ง ๆ ที่แต่ละ plateform ล้วนแตกต่างกัน ทั้งการออกแบบ ทั้งการใช้งาน ทั้งมาตรฐานต่าง ๆ ดังนั้นสิ่งที่ควรทำคือ ออกแบบ app ให้ตรงตาม platform เพื่อให้ผู้ใช้งานไม่สับสน เช่น Android ก็ต้องยึดตาม Material Design เป็นต้น

2. ออกแบบโดยคิดว่า ผู้ใช้งานมี mouse และ keyboard

เป็นสิ่งที่พบได้เยอะมาก ๆ สำหรับ Mobile app เนื่องจากผู้ออกแบบไม่ได้สนใจโลกเลยนอกจากตัวเอง คิดว่า Mobile app นั้นผู้ใช้งานจะใช้ mouse และ keyboard ดังนั้นจึงออกแบบหน้าจอที่มีแบบ form เยอะ ๆ กรอกข้อมูลเยอะ ๆ element ต่าง ๆ บนหน้าจอก็มีขนาดเล็ก สรุปคือ ใช้งานยากมาก ๆ หนักกว่านั้นใช้ webview กันเลยทีเดียว ดังนั้นควรออกแบบโดยคำนึงถึงผู้ใช้งานเยอะ ๆ นะ

3. Mobile app ต้องสามารถทำงานบน device ต่าง ๆ ได้

ในแต่ละ device จะมี version ของ OS ที่แตกต่างกัน ยิ่งนานไปจำนวน device และ version ของ OS ยิ่งมีมากขึ้น ดังนั้นการพัฒนา Mobile app ให้ทำงานได้ทุก device เป็นเรื่องที่ยากมาก ๆ เป็นเรื่องที่ทำให้ code ของระบบมีความซับซ้อนอย่างมาก ยกตัวอย่างเช่น Android มี device ทั้งโลกเป็นหมื่น ๆ device Android มี version ของ OS เยอะมาก ๆ
ดังนั้นสิ่งที่ต้องทำคือ ต้องรู้ด้วยว่าผู้ใช้งาน app ของเราคือใคร ใช้ device อะไรบ้าง ? ใช้ OS version อะไรบ้าง ?
ถ้า device หรือ OS version อะไรที่มีการใช้งานต่ำ ๆ ก็ควรจะตัดใจ หรือ ไม่สนับสนุนซะ อย่าเสียเวลาไปดูแลเลย มิฉะนั้น จะทำให้ Mobile app ของคุณมี bug เยอะมาก ๆ เนื่องจาก code ซับซ้อน เนื่องจากการทดสอบย่อมไม่ครอบคลุมอย่างแน่นอน ดังนั้นจงเลือก จงตัด แล้วชีวิตการพัฒนาจะดีขึ้น

4. ไม่สนใจขนาดของ Network bandwidth เลย

เคยไหม ในการทดสอบจะใช้งาน Mobile app ผ่าน WIFI, 3G/4G หรือ Network ของบริษัท ซึ่งมีความเร็วสูงมาก ๆ แต่กลับลืมไปว่า ผู้ใช้งาน Mobile app ที่อยู่ในพื้นที่ที่มีระบบ Network ช้า ๆ จะสามารถใช้งาน Mobile app ได้หรือไม่ ? จะสามารถแสดงผลข้อมูลได้หรือไม่ เช่น รูปภาพ (มีขนาดที่เหมาะสมในแต่ละ Network หรือไม่) ดังนั้นแนะนำให้ทำการทดสอบใช้งาน Mobile app ใน Network ที่มีความเร็วที่แตกต่างกันด้วยนะครับ เพื่อตรวจสอบว่า Mobile app ทำงานได้ดีหรือไม่ ?

5. Mobile app ของเรานั้นกินแบตเตอรี่เยอะหรือไม่ ?

สิ่งที่อาจจะทำให้ผู้ใช้งานลบ Mobile app ออกไปนั่นก็คือ App นั้น ๆ กินแบตเตอรี่มาก ๆ ดังนั้นนักพัฒนาต้องทำการตรวจสอบเสมอว่า มี process อะไรที่ใช้งานแบตเตอรี่เยอะ ๆ บ้าง เช่น background process

6. การพัฒนา Mobile app ควรนำแนวคิด Asynchronous มาใช้เสมอนะ

หมายความว่า ให้ทำการแยกงานระหว่าง สิ่งที่ผู้ใช้งานมองเห็นและมองไม่เห็นออกจากกัน ถ้าทำงานร่วมกันต้องทำงานแบบ Asynchronous เสมอ ยกตัวอย่างเช่น เมื่อผู้ใช้งานเข้ามาใช้งาน Mobile app จากนั้น Mobile app จะทำการเรียกใช้งาน API เพื่อดึงข้อมูลมาแสดงผล ถ้าส่วนการแสดงผลทำงานกับส่วน API แบบ Synchronous แล้ว ถ้าส่วน API มีปัญหาเช่น ไม่สามารถติดต่อได้ หรือ ใช้เวลานานมาก ๆ ในการดึงข้อมูล ผลที่ตามมาก็คือ ส่วนการแสดงผลต้องรอ หรืออาจส่งผลให้ Mobile app พังหรือหยุดทำงานได้ ดังนั้นเพื่อลดปัญหาดังกล่าว แนะนำให้นำแนวคิดของ Asynchronous มาใช้ในการพัฒนาซะ ปล. ถ้าทำการพัฒนาด้วยแนวคิดของ Asynchronous แล้ว ช่วยคิดแบบ Asynchronous ด้วยนะครับ
วันนี้เราพลาดอะไรกันบ้างสำหรับการพัฒนา Mobile app อย่าลืมแก้ไขและปรับปรุง อย่าลืมทดสอบกันเยอะ ๆ นะครับ

Viewing all articles
Browse latest Browse all 1997

Trending Articles