HYBRID กับ NATIVE Application ใช้ต่างกันอย่างไร ?
HYBRID กับ NATIVE Application ใช้ต่างกันอย่างไร ? ในส่วนของขั้นตอนการพัฒนาแอพพลิเคชั่นหรือโมบายแอพพลิเคชั่น นั้นจะมีเครื่องมือ ( Tool ) และภาษา ( Programming Language ) อยู่อย่างมากมายหลายภาษาด้วยกัน เพื่อให้นักพัฒนาได้เลือกใช้งาน ตามความเหมาะสมของงาน โดยแต่ละเครื่องมือแต่ละภาษา ก็มีความสามารถที่แตกต่างกันออกไป บางภาษาเหมาะกับการนำไปใช้พัฒนาซอฟต์แวร์เกมส์ บางภาษาเหมาะสำหรับการทำแอพพลิเคชั่นขนาดเล็ก หรือบางภาษาก็เหมาะกับการนำมาใช้จัดการข้อมูลจำนวนมาก ดังนั้นจึงมีแอพพลิเคชั่นมากมายหลายประเภทบน Online Store ที่มีลักษณะการทำงานที่แตกต่างกันออกไปให้ได้เลือกใช้งานกันนั่นเอง วันนี้เรามาทำความรู้จักกับระบบที่นิยมใช้ทำ web application กันค่ะ
- Native Application คือ การเขียน Code ที่ทำงานเข้ากับ CPU ของหน่วยประมวลผลนั้น ๆ ได้เลย โดยไม่จำเป็นต้องผ่านตัวแปลงภาษา (Virtual Machine ) เนื่องจากเป็นการพัฒนาแอพฯ โดยใช้ library, SDK ของ OS Mobile นั้น ๆ ที่ให้มาโดยตรง เช่น Android จะใช้ android SDK ในการพัฒนา ในส่วนของ Native App IOS ก็ใช้ภาษา objective c เรียกให้เข้าใจง่าย ๆ ก็คือ เป็นการใช้ภาษาแม่ของ Platform นั้นๆ มาใช้ในการเขียนแอพฯ ขึ้นมานั่นเอง ซึ่งข้อดีของการพัฒนา Application แบบ Native นั้น ก็คือ ทำให้สามารถเข้าถึงฟังก์ชั่นการทำงานของ Platform นั้น ๆ ได้ครบถ้วน ทำให้มีประสิทธิภาพการทำงานสูงสุด อีกทั้งยังมีความยืดหยุ่นสามารถเอื้อประโยชน์ให้กับนักพัฒนาได้เป็นอย่างดี แต่มีข้อเสียก็คือ ต้องใช้บุคลากรหรือนักพัฒนาเป็นจำนวนมาก ใช้เวลาค่อนข้างนาน ทำให้มีค่าใช้จ่ายสูง แต่หากว่าเราต้องการที่จะได้แอพฯ ที่ดี และสามารถเจาะลึกลงไปในการใช้งานได้ การใช้ Native app ในการเขียน Application จึงเหมาะสมมากกว่า
- Hybrid Application หรือเรียกอีกอย่างว่า Cross Platform คือ การเขียนแอพฯ ด้วยโปรแกรม ภาษาใด ภาษาหนึ่ง แต่สามารถนำเอาไป ใช้กับ platform อื่นๆ ได้ด้วย สามารถนำไปใช้งานได้ทั้ง Android, iPhone iOS ,Windows Phone และ อื่น ๆ โดยอาศัย Framework หรือ SDK ที่ถูกสร้างขึ้นมาจากหลากหลายภาษา และมีเครื่องมือที่เหมาะสมกับ framework หรือ SDK นั้น ๆ ให้เลือกใช้ในการพัฒนาที่หลากหลาย ยกตัวอย่างเช่น CORONA SDK จะใช้ ภาษา LUA, Acrobat AIR จะใช้ภาษา ACTION SCRIPT 3 หรือ UNITY ก็ใช้ C# และ JAVASCRIPT เป็นต้น ซึ่งการเขียนแอพฯ ในรูปแบบนี้ เราจะสามารถแปลงไปใช้กับ ระบบปฏิบัติการอื่นๆ ได้หลากหลาย และใช้เวลาน้อยในการพัฒนาหลายๆ แอพฯ ซึ่งข้อดีของการใช้ Hybrid Application ก็คือ ประหยัดทรัพยากรที่ใช้ในการพัฒนา ทั้งแรงงาน เวลา และงบประมาณ อีกทั้งยังเป็นการพัฒนาแบบ Cross-Platform ทำให้สามารถพัฒนาโดยใช้ชุดคำสั่งหรือภาษาใด ภาษาหนึ่ง เพื่อให้สามารถใช้งานได้ในหลายระบบปฏิบัติการได้อีกด้วย แต่ข้อเสียก็คือ การเข้าถึงฟังก์ชั่นการทำงานของในแต่ละ Platform เป็นไปอย่างไม่เต็มที่ ทำให้ประสิทธิภาพในการทำงานบางฟังก์ชั่นจะด้อยกว่าการใช้ Native Application ซึ่งหากต้องการเข้าถึงฟังก์ชั่นการทำงานให้ลึกซึ้งแบบ Native ก็จำเป็นต้องทำการพัฒนาส่วนเสริมขึ้นมาอีก
จากข้อมูลข้างต้น หากเราต้องการพัฒนาแอพฯ ให้มีประสิทธิภาพสูง สามารถเข้าถึงฟังก์ชั่นการทำงานของแต่ละ Platform ได้เต็มที่ ก็ควรเลือกใช้การเขียนแอพฯ แบบ native แต่หากถ้าต้องการให้สามารถแปลงไป platform อื่น ๆ ได้โดยง่าย ก็ควรที่จะเลือกใช้การเขียนแอพฯ แบบ hybrid นั่นเองค่ะ
by Naviya