02Sep, 2022
Language blog :
Thai
Share blog : 
02 September, 2022
Thai

Cross Platform vs Native App

By

3 mins read
Cross Platform vs Native App

ถ้าจะสร้างแอพที่มีเพียงแค่การแสดงข้อมูลที่ดึงมาจาก network การพัฒนาแอพแบบ cross-platform ก็อาจจะเป็นตัวเลือกที่ดี อย่างไรก็ตาม ถ้าการใช้งานการประมวลผลที่หนักหรือต้องการใช้งาน low-level API เช่น bluetooth อาจจะต้องหันมาใช้การพัฒนาแอพแบบ native

 

ค่าใช้จ่าย

การพัฒนาแอพ native app จะทำให้ได้ประสิทธิภาพสูง แต่ก็ต้องใช้ค่าใช้จ่ายที่สูงในการพัฒนา แต่ถ้ามีข้อจำกัดในเรื่องของงบหรือค่าใช้จ่ายในการพัฒนา การพัฒนาแอพแบบ cross-platform ก็จะตอบโจทย์ที่สุด เราอาจจะประหยัดค่าใช้จ่ายได้ถึง 30ในช่วงหลายปีที่ผ่านมานั้น การพัฒนาแอพมือถือนั้น มีการพัฒนามาเรื่อยๆ จนถึงปัจจุบัน โดยอดีตนั้น การพัฒนาแอพมือถือ ก็จะมีการพัฒนาที่อิงโดยตรงจากอุปกรณ์ที่ใช้งาน อย่างที่เรารู้จักกันสอง แพลตฟอร์มใหญ่ๆ ก็คือ iOS และ Android ดังนั้นการพัฒนาจึงจำเป็นจะต้องพัฒนาโดยใช้ภาษา หรือ programming language หลัก ของสองแพลตฟอร์มนี้ หรือที่เราเรียกกันว่า native app แต่ในปัจจุบันนั้น ก็ได้มีการพัฒนาจนถึงจุดที่มีการพัฒนา framework ที่ช่วยให้สามารถพัฒนาครั้งเดียว ภาษาเดียว แต่สามารถได้ผลลัพธ์เป็น แอพของทั้งสองแพลตฟอร์ม หรือที่เรียกกันว่า cross-platform จึงส่งผลให้มีการพูดคุยกันอย่างยาวนานว่าแล้วการพัฒนาแบบไหนล่ะ ที่ดีกว่ากัน

 

Native app development คืออะไร

การสร้างแอพแบบ native app บนมือถือเป็นการพัฒนาแอพสำหรับแพลตฟอร์มเดียวโดยเฉพาะ แอปนี้จะถูกสร้างขึ้นด้วยภาษาการเขียนโปรแกรมและเครื่องมือเฉพาะสำหรับแพลตฟอร์มเดียว ตัวอย่างเช่น คุณสามารถพัฒนาแอพ Android native app ด้วย Java หรือ Kotlin และเลือกภาษา Swift และ Objective-C สำหรับ iOS native app.

Native app

 

แอพที่เป็น native app เป็นที่รู้จักกันดีในการมอบประสบการณ์การใช้งานที่ดีเยี่ยมให้กับผู้ใช้งาน เนื่องโดยทั่วไปแล้วแอพ native app จะมีประสิทธิภาพที่สูงอยู่แล้ว ดังนั้นประสบการณ์ของผู้ใช้งานก็จะยังได้รับการยกระดับให้ขึ้นไปอีก ซึ่งเห็นได้จากภายที่ได้รับการปรับแต่งให้เหมาะสมกับประสบการณ์ของผู้ใช้งาน (User Experience/UX) จากที่เราได้รู้ว่าประสิทธิภาพที่ได้จากการพัฒนา native app นั้นจะสูงและยอดเยี่ยมก็ตาม แต่ก็ยังเป็นความกังวลใจสำหรับธุรกิจสตาร์ทอัพเช่นกัน ที่จะต้องมานั่งกังวลใจในเรื่องของค่าใช้จ่ายที่สูงในการพัฒนาแอพ native app เนื่องจากจำเป็นอย่างมากที่ จะต้องพัฒนาพร้อมกันให้ได้ทั้งสองแพลตฟอร์ม (iOS & Android)

 

ข้อดีและข้อเสียของ Native App

ข้อดี

  • การทำงานฟังก์ชันที่กว้างและหลากหลาย

เราจะสามารถเข้าถึง API และเครื่องมือที่มีให้โดยแพลตฟอร์มที่เรากำลังพัฒนาอยู่ ซึ่งในทางเทคนิคแล้ว ไม่มีข้อจำกัดในการที่นักพัฒนาจะทำงานหรือเขียนโปรแกรมสำหรับแอพใหม่ๆ

  • การสนับสนุนบน Store ของแต่ละแพลตฟอร์ม ที่ดีกว่า

Native app นั้นง่ายมากที่จะทำการเผยแพร่และถูกจัดอยู่ในลำดับที่สูงๆ บน store ของแพลตฟอร์มนั้นๆ เนื่องจากว่าแอพจะสามารถให้ประสิธิภาพและความเร็วที่ดีกว่า

  • เพิ่มประสิทธิภาพในเรื่องของความยืดหยุ่นของแอพ

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

  • ประสิทธิภาพสูงและ User Experience ที่ยอดเยี่ยม

การโต้ตอบกันระหว่างโค้ดที่เขียนและทรัพยากรพื้นฐานในแอพส่งผลให้ประสิทธิภาพสูง นอกจากนี้ โดยทั่วไปแล้ว native app มักจะมีการปรับให้มี User Experience ที่ดีกว่าเพื่อให้ได้ความหมายที่ตรงกันกับแพลตฟอร์มนั้นๆ

ข้อเสีย

  • ค่าใช้จ่ายสูง

การสร้าง native app ขึ้นมาจะมีค่าใช้จ่ายที่สูง เมื่อคุณต้องการที่จะปล่อยแอพนั้นขึ้นบน store ของทั้ง iOS และ Android หมายความว่าเราจำเป็นที่จะต้องมีสองทีม เพื่อที่จะจัดการกับการพัฒนาแอพของทั้งสองแพลตฟอร์ม

  • ระยะเวลาที่ใช้

การพัฒนา native app นั้น จะใช้เวลาที่นาน เนื่องจากว่าการทำงานให้เสร็จลุล่วงไปไปด้วยดีสำหรับแต่ละแพลตฟอร์มนั้น ไม่สามารถ duplicate หรือทำซ้ำเพื่อออกมาได้ จึงจำเป็นต้องแบ่งทีม เพื่อพัฒนาในเวอร์ชันอื่นแทน

Cross-platform app คืออะไร

การพัฒนาแอพแบบ cross-platform เป็นการชี้ให้เห็นถึงกระกวนการการสร้างแอพที่สามารถทำงานได้บนหลายแพลตฟอร์ม ทำได้โดยใช้เครื่องมือต่างๆ เช่น React Native, Xamarin และ Flutter ซึ่งแอพที่ทำขึ้นมาสามารถปรับใช้ได้ทั้งบน iOS และ Android

Cross-platform app

ในขณะที่การพัฒนาแอพแบบ cross-platform นั้นประหยัดทั้งค่าใช้จ่ายและเวลา แต่เราก็อาจจะต้องยอมศูนย์เสียในเรื่องของประสิทธิภาพในกระบวนการต่างๆ ไป เป็นเรื่องยากที่เราจะทำการปรับแต่งแอพที่ทำงานอย่างเหมาะสมบนแพลตฟอร์มต่างๆ และแอพจำเป็นที่จะต้องการใช้กระบวนการเพิ่มเติมในการทำให้แอพทำงาน ผลจากกระบวนการที่เพิ่มเติมขึ้นมานั้นก็จะส่งผลทำให้ ประสิทธิภาพของแอพนั้นลดลง

เหล่าธุรกิจสตาร์ทอัพจะชอบการที่จะได้ลดระยะเวลาและค่าใช้จ่ายในการพัฒนาแอพแบบ cross-platform อย่างไรก็ตาม การที่จะปรับแต่งแอปที่นอกเหนือจากที่อนุญาตของแต่ละ framework ก็อาจจะทำได้ยากขึ้น

 

ข้อดีและข้อเสียของ Cross-platform app

ข้อดี

  • ค่าใช้จ่ายน้อย

ในขณะที่ native app ต้องใช้ถึงสองทีมเพื่อการพัฒนา cross-platform ใช้เพียงแค่ทีมเดียว เพื่อพัฒนา จึงทำให้ค่าใช้จ่ายที่ใช้นั้นลดลง

  • การพัฒนาที่เร็วขึ้น

เพียงแค่กระบวนการการพัฒนาแอพทำรอบเดียว เพื่อสร้างแอพที่ทำงานได้บนหลายแพลตฟอร์ม

  • การใช้ภาษาโปรแกรมเดียว

เนื่องจากการพัฒนาแอพนี้ที่สร้างขึ้นด้วยเครื่องมือในการพัฒนา cross-platform app เพียงอย่างเดียว จึงทำให้เกิดการสร้าง code based เพียงหนึ่งเดียว

 

ข้อเสีย

  • แอพอาจช้าลง

การที่แอพจะต้องใช้กระบวนการเพิ่มเติมขึ้นมาอีกนั้น จะทำให้การ render ของแอพนั้นใช้ระยะเวลาที่มากกว่าของ native app

  • ข้อจำกัดในเรื่องของการใช้ฟังก์ชัน

นักพัฒนาจะเข้าถึงการใช้งานฟังก์ชันต่างๆ ของแพลตฟอร์มนั้นยากขึ้น เช่น กล้อง ไมโครโฟน ตำแหน่ง ซึ่งสิ่งเหล่านี้สามารถทำได้ง่ายกว่ามากบนแอพ native app

  • ข้อจำกัดของ UX (User Experience)

แอพแบบ cross-platform นั้นไม่สามารถใช้ประโยชน์ได้โดยตรงจาก native component หรือ component ที่สามารถใช้งานบน native app ได้โดยตรง จึงไม่สามารถที่จะทำให้แอพนั้นทำให้ ผู้ใช้นั้นมีประสบการณ์ที่เหมือนกันได้ บนสองแพลตฟอร์ม

 

การตัดสินใจเพื่อเลือกการพัฒนาที่เหมาะสม

ความซับซ้อนของแอพ

40% สำหรับการเขียน single codebase(หรือการเขียนจากโค้ดชุดเดียว) เพื่อการสร้างแอพที่สามารถทำงานได้ทั้งบน iOS และ Android

 

ระยะเวลาในการพัฒนา

ในบางโปรเจค เราอาจจะต้องการแอพที่เป็น MVP(Most Viable Product) หรือการทำให้แอพเป็นลักษณะที่ focus ที่แก่นแท้ของผลิตภัณฑ์และตัดฟังก์ชั่นเสริมที่ยังไม่จำเป็นออกไป ให้โดยเร็วที่สุด นี่อาจจะเป็นจุดที่เราจะต้องพิจารณาในการใช้วิธีการพัฒนาแอพแบบ cross-platform ไม่จำเป็นจะต้องพัฒนาแบบสองเวอร์ชันของแอพ โดยใช้การพัฒนาที่จำเป็นเพียงแค่รอบเดียว เพื่อให้ได้แอพทั้ง iOS และ Android

 

UI/UX

หากว่าเราต้องการจะมองหาการแสดงให้เห็นภาพและประสบการณ์ที่น่าทึ่ง คำตอบที่แน่ชัดก็คือการพัฒนาแอพแบบ native นักพัฒนาจะสามารถเข้าถึงส่วนประกอบของ UI/UX ได้เมื่ออยู่ในสภาพแวดล้อมของการพัฒนาแอพแบบ native การเลือกใช้การพัฒนาแบบ cross-platform จะจำกัดองค์ประกอบในการเลือกใช้ UI/UX ของแอพอย่างมาก

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

Written by
Senna Labs
Senna Labs

Subscribe to follow product news, latest in technology, solutions, and updates

- More than 120,000 people/day visit to read our blogs

Other articles for you

27
July, 2024
JS class syntax
27 July, 2024
JS class syntax
เชื่อว่าหลายๆคนที่เขียน javascript กันมา คงต้องเคยสงสัยกันบ้าง ว่า class ที่อยู่ใน js เนี่ย มันคืออะไร แล้วมันมีหน้าที่ต่างกับการประกาศ function อย่างไร? เรามารู้จักกับ class ให้มากขึ้นกันดีกว่า class เปรียบเสมือนกับ blueprint หรือแบบพิมพ์เขียว ที่สามารถนำไปสร้างเป็นสิ่งของ( object ) ตาม blueprint หรือแบบพิมพ์เขียว( class ) นั้นๆได้ โดยภายใน class

By

4 mins read
Thai
27
July, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
27 July, 2024
15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G
ผู้ให้บริการเครือข่ายในสหรัฐฯ ได้เปิดตัว 5G ในหลายรูปแบบ และเช่นเดียวกับผู้ให้บริการเครือข่ายในยุโรปหลายราย แต่… 5G มันคืออะไร และทำไมเราต้องให้ความสนใจ บทความนี้ได้รวบรวม 15 สิ่งที่ทุกธุรกิจต้องรู้เกี่ยวกับ 5G เพราะเราปฏิเสธไม่ได้เลยว่ามันกำลังจะถูกใช้งานอย่างกว้างขวางขึ้น 1. 5G หรือ Fifth-Generation คือยุคใหม่ของเทคโนโลยีเครือข่ายไร้สายที่จะมาแทนที่ระบบ 4G ที่เราใช้อยู่ในปัจจุบัน ซึ่งมันไม่ได้ถูกจำกัดแค่มือถือเท่านั้น แต่รวมถึงอุปกรณ์ทุกชนิดที่เชื่อมต่ออินเตอร์เน็ตได้ 2. 5G คือการพัฒนา 3 ส่วนที่สำคัญที่จะนำมาสู่การเชื่อมต่ออุปกรณ์ไร้สายต่างๆ ขยายช่องสัญญาณขนาดใหญ่ขึ้นเพื่อเพิ่มความเร็วในการเชื่อมต่อ การตอบสนองที่รวดเร็วขึ้นในระยะเวลาที่น้อยลง ความสามารถในการเชื่อมต่ออุปกรณ์มากกว่า 1 ในเวลาเดียวกัน 3. สัญญาณ 5G นั้นแตกต่างจากระบบ

By

4 mins read
Thai
27
July, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
27 July, 2024
จัดการ Array ด้วย Javascript (Clone Deep)
ในปัจจุบันนี้ ปฏิเสธไม่ได้เลยว่าภาษาที่ถูกใช้ในการเขียนเว็บต่าง ๆ นั้น คงหนีไม่พ้นภาษา Javascript ซึ่งเป็นภาษาที่ถูกนำไปพัฒนาเป็น framework หรือ library ต่าง ๆ มากมาย ผู้พัฒนาหลายคนก็มีรูปแบบการเขียนภาษา Javascript ที่แตกต่างกัน เราเลยมีแนวทางการเขียนที่หลากหลาย มาแบ่งปันเพื่อน ๆ เกี่ยวกับการจัดการ Array ด้วยภาษา Javascript กัน เรามาดูตัวอย่างกันเลยดีกว่า โดยปกติแล้วการ copy ค่าจาก value type ธรรมดา สามารถเขียนได้ดังนี้

By

4 mins read
Thai

Let’s build digital products that are
simply awesome !

We will get back to you within 24 hours!Go to contact us
Please tell us your ideas.
- Senna Labsmake it happy
Contact ball
Contact us bg 2
Contact us bg 4
Contact us bg 1
Ball leftBall rightBall leftBall right
Sennalabs gray logo28/11 Soi Ruamrudee, Lumphini, Pathumwan, Bangkok 10330+66 62 389 4599hello@sennalabs.com© 2022 Senna Labs Co., Ltd.All rights reserved.