มีคำถามที่น่าสนใจในกลุ่ม Thailand Android Developer ว่า
ในการพัฒนา App ระหว่าง Native กับ Hybrid app ควรเลือกใช้อะไรดี ?
รวมทั้งในแง่ความต้องการของตลาดงาน
รวมทั้งในแง่ความนิยมในปัจจุบันและอนาคต
โดยใน comment มีการตอบที่น่าสนใจเยอะเลย
ตัวอย่างเช่น
- ดูเรื่องลักษณะของงาน และ feature ก่อนว่าต้องการอะไร
- ต้องศึกษาทั้งสองอย่างให้เข้าใจก่อน เพื่อจะได้เลือกของที่เหมาะกับงาน
- ดูเรื่อง performance ของระบบ
- ถ้ามองเรื่องตลาดแรงงาน แน่นอนว่าเป็น Native และพวก Hybrid ก็แรงขึ้นมาเช่น React Native เป็นต้น
- เวลาในการเรียนรู้ (Learning curve)
แต่ก่อนอื่นเรามาทำความรู้จักกับ Native และ Hybrid app กันก่อน
มิเช่นนั้นอาจจะเข้าใจผิดและเลือกผิดก็เป็นไปได้ Native app พัฒนาด้วยภาษาโปรแกรมที่ถูกกำหนดมาใจแต่ละ platform เลย เช่น- Android app พัฒนาด้วย Java, Kotlin และ C++ เป็นต้น
- iOS app พัฒนาด้วย Objective-C และ Swift เป็นต้น
มาลองเปรียบเทียบกันหน่อย
Native app- พัฒนาด้วยภาษาตาม platform นั้น ๆ
- แยก code ตามแต่ละ platform
- มีประสิทธิภาพการทำงานที่ดี
- ใช้จำนวนคน และ เวลาในการพัฒนาที่สูง
- รอบการพัฒนาจะช้า สวนทางกับค่าใช้จ่าย
- พัฒนาด้วย HTML, CSS และ JavaScript
- Write once, Run anywhere !!
- ใช้เวลาและค่าใช้จ่ายในการพัฒนาน้อยลง
- รอบการพัฒนาเร็วขึ้น
- ประสิทธิภาพการทำงานจะต่ำกว่า Native
การพูดคุยหรือถกเถียงเรื่องของ Hybrid และ Native app
มักจะคุยเรื่องต่าง ๆ ดังนี้- Speed/Time to Market
- One source code
- Cross-platform compatibility
- ง่ายต่อการ update
- เรื่องของงบประมาณ
- เรื่องของคนหรือทีมพัฒนา
ดังนั้นก่อนจะเลือกได้นั้น
คำถามที่ต้องตอบให้ได้คือ คุณรู้และเข้าใจสิ่งต่าง ๆ เหล่านี้หรือไม่ ? และที่สำคัญเคยลงมือทำแล้วหรือไม่ ? ถ้าไม่เข้าใจ ไม่ลงมือทำ แล้วจะเอาข้อสรุปหรือการตัดสินใจมากจากไหน ? หรือว่าไปฟังเขามา ? หรือว่าเพียงไปอ่านมาก เท่านั้นเองถึงอย่างไรก็ตามทั้ง Native และ Hybrid ต่างก็มีข้อดีและข้อเสียด้วยกัน ลองด้วยตัวเองก่อนนะขอให้สนุกกับการ coding ครับ