ทไมการพฒนาแอปบนมอถอถงตองใช Cross-platform?

ทไมการพฒนาแอปบนมอถอถงตองใช Cross-platform?
Date

บทนำ

ทุกวันนี้ ถ้าเราต้องการที่จะพัฒนาแอปบนมือถือ เรามีเทคโนโลยีให้เลือกสรรมากมายแทนที่จะถูกจำกัดด้วยคำว่า Native เท่านั้น แต่ล่ะเทคโลยีก็จะมีข้อดีและข้อเสียแตกต่างกันไป
แอปที่พัฒนาแบบ Native จะมีประสิทธิภาพสูงสุด, ดูแลและทดสอบง่ายสุด, สามารถเข้าถึงทุก API ของแต่ละระบบได้, และสามารถพัฒนาต่อไปยัง Ecosystem ของระบบนั้นๆได้ด้วยภายหลัง (macOS, watchOS, AndroidTV, wearOS)
ในขณะที่การพัฒนาแบบ Hybrid และ Cross platform นั้นสามารถเข้าถึงได้ทั้ง iOS และ Android ด้วยโค้ดชุดเดียวและทีมพัฒนาทีมเดียวเท่านั้น ซึ่งสามารถลดเวลาในการพัฒนา, ลดต้นทุน และจำนวนนักพัฒนาที่ต้องใช้ได้ถึงครึ่งนึงเลยทีเดียว ที่สำคัญคือลูกค้าส่วนมากยินดีที่จะเลือกการพัฒนาแบบนี้

Cross Platform, mobile, app, application, development

ดีกว่าและรอบด้านกว่า Hybrid

เทคโนโลยีที่ใช้พัฒนาแบบ Cross platform นั้น จะใช้ Engine ในการแสดงผลของระบบนั้นๆเลย ไม่ได้ใช้ HTML Engine ซึ่งถูกใช้โดยเทคโลยี Hybrid ผลลัพธ์คือประสิทธิภาพสูงกว่ามาก, รู้สึกดีกว่าเมื่อได้ใช้, และสามารถเข้าถึงเกือบทุก API ของแต่ล่ะระบบได้ ทำให้การพัฒนาแบบ Cross platform นั้นรอบด้านกว่า เสมือนว่าเป็นทางสายกลางของการพัฒนาแบบ Hybrid และ Native โดยนำข้อดีหลายๆข้อของเทคโนโลยีเหล่านั้นมา แต่ก็ไม่ได้เสียสละหลายๆอย่างมากจนเกินไป

สามารถทำแอปทั่วๆไปโดยส่วนใหญ่ได้

แม้ว่าประสิทธิภาพจะไม่ได้ดีที่สุดและไม่สามารถเข้าถึง API ครบทุกอย่างของแต่ระบบได้ การพัฒนาแบบ Cross platform นั้นดีพอสำหรับแอปทั่วๆไป ถ้าแอปนั้นไม่ได้ซับซ้อนหรือมีฟีเจอร์เยอะมากอย่างเฟสบุ๊ค ประสิทธิภาพที่สูญเสียไปก็แทบจะไม่สามารถรู้สึกได้โดยผู้ใช้ทั่วไปอยู่แล้ว API บางอย่างของแต่ละระบบก็ไม่สามารถเข้าถึงได้ด้วยการพัฒนาแบบ Cross platform เช่น ARKit (Augmented Reality: ความเป็นจริงเสริม) MLkit (Machine Learning: การเรียนรู้ของเครื่อง) หรือ Metal (เรนเดอร์กราฟฟิค) และนั่นไม่ใช่ปัญหาเลยสำหรับแอปทั่วๆไปเพราะว่าแอปเหล่านั้นไม่เป็นจำเป็นต้องใช้ API เหล่านี้เลย API ที่เราต้องการจริงๆก็ประมาณ GPS (ตำแหน่ง), แจ้งเตือน, การลิงค์, การปลดล้อคด้วยข้อมูลอัตลักษณ์บุคคล, การตั้งค่าธีมและภาษา ซึ่งมักจะรวมมากับเทคโลยีที่ใช้ในการพัฒนา Cross platform อยู่แล้ว

เหมาะสมกับความต้องการของลูกค้าส่วนมาก

ลูกค้าส่วนมากต้องการราคาที่ถูกที่สุด, ใช้เวลาน้อยที่สุด, ประสิทธิภาพดีพอ, ความปลอดภัยดีพอ, User experience ดีพอ, และเวลาใช้แล้วไม่ได้รู้สึกว่าแอปนี้ทำมาถูกๆง่ายๆ และบริษัทก็ต้องการแทบจะเหมือนกับลูกค้าเลย ยกเว้นราคา ซึ่งก็แน่นอนอยู่แล้ว การพัฒนาแบบ Cross platform นั้น ตรงกับที่ว่ามาทั้งหมดทุกข้อ

ไม่ต้องใช้คนเยอะ

การพัฒนาแบบ Native นั้น เราต้องใช้อย่างน้อย 2 ทีมสำหรับการพัฒนา และทีมนั้นจะต้องมีคนมากกว่า 2 หรือ 3 คน และแต่ละทีมก็ต้องมีผู้เชี่ยวชาญหรือมีประสบการณ์ของแต่ล่ะระบบเพื่อเป็นผู้นำทีมด้วย อีกทั้งแต่ล่ะทีมยังต้องมีเทสเตอร์สำหรับระบบนั้นๆโดยเฉพาะอีก มันจะเป็นอะไรที่ยากมากๆสำหรับบริษัทขนาดเล็กหรือสตาร์ทอัป ในขณะที่การพัฒนาแบบ Cross platform สามารถพัฒนาได้ด้วยคนเพียง 1 คนถ้าเกิดว่าโปรเจคนั้นง่ายพอ และต่อให้โปรเจคนั้นยากขึ้น เราสามารถเติมคนเข้าไปทีหลังได้ นักพัฒนาแต่ล่ะคนนั้นสามารถทำโปรเจคสลับไปสลับมาได้ตามความเชี่ยวชาญและปัญหาของโปรเจคนั้นๆ แทนที่จะนั่งอยู่แต่ในระบบที่ตัวเองทำได้ นี่เป็นเรื่องใหญ่สำหรับบริษัทขนาดเล็กหรือสตาร์ทอัป เพราะว่านักพัฒนาแต่ล่ะคนนั้นเป็นทรัพยากรณ์ที่ทรงคุณค่าสำหรับบริษัทนั่นเอง

โค้ดชุดเดียว

การใช้โค้ดชุดเดียวนั้นหมายความว่าแอปของทั้งสองระบบสามารถปล่อยได้พร้อมๆกัน, อัพเดตได้พร้อมๆกัน, และสามารถมีฟีเจอร์ที่ใกล้เคียงหรือเหมือนกันเป๊ะโดยไม่ต้องมีการติดต่อระหว่างทีมสองทีมที่พัฒนาแอปของแต่ล่ะระบบตลอดเวลา จะไม่มีผู้ใช้กลุ่มไหนถูกทิ้งเพียงเพราะว่าทีมนึงพัฒนาฟีเจอร์เล็กๆโดยไม่ได้บอกกับอีกทีมนึงก่อน อีกทั้งโค้ดชุดเดียวจะใช้โค้ดสำหรับ Unit/UI/Integration เทสชุดเดียวด้วยเหมือนกัน อาจจะยกเว้นฟีเจอร์ที่ต้องใช้ API ของแต่ล่ะระบบไว้ ซึ่งนั่นทำให้ประหยัดเวลาขึ้นเยอะสำหรับนักพัฒนาและบริษัท

โดยสรุป

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

สนใจเวิร์กชอปของเราไหม
พูดคุยกับทีมงานของเรา!

ติดต่อเรา
สนใจเวิร์กชอปของเราไหม
พูดคุยกับทีมงานของเรา!

Related blog articles