ข้อใดคือ Hybrid Application

        3.Web Application คือแอพพลิเคชั่นที่แสดงหน้าเว็บผ่านตัว Application แทนการเข้าเบราว์เซอร์ (Browser)ซึ่งการใช้งานแอพพลิเคชั่นจะต้องเชื่อมต่ออินเตอร์เน็ตตลอดเวลา และอาจจะไม่สามารถใช้ทรัพยากรบางอย่างของระบบได้ ทั้งนี้ข้อดีของการพัฒนาแอพพลิเคชั่นแบบนี้ก็คือใช้เวลาในการพัฒนาได้รวดเร็ว

Show

ข้อใดคือ Hybrid Application

มีคำถามที่น่าสนใจในกลุ่ม 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 นั้นจะมีประสิทธิภาพการทำงาน
ทั้งการ render และ animation ที่ดีกว่า Hybrid (ถ้าเขียนดีนะ)

Hybrid app
เป็น app ที่จะมี Web View หรือส่วนการแสดงผล web
ซึ่งจะอยู่ใน Native app
ทำให้สามารถเราสามารถ run web ใน app ของเราได้
รวมทั้งยังสามารถใช้งานความสามารถต่าง ๆ ของ device ได้
ยกตัวอย่างเช่น กล้องถ่ายรูป และ GPS เป็นต้น

โดยที่ Hybrid app จะสร้างส่วนการติดต่อสื่อสาร
ระหว่าง Web View กับ Native ขึ้น
แน่นอนว่าไม่ได้อยู่ในมาตรฐานของ iOS และ Android
แต่เป็น 3-party tool/framework ที่มาครอบอีกชั้นหนึ่ง
ยกตัวอย่างเช่น Codova, Ionic, NativeScript, Xamarine, PhoneGap และ React Native เป็นต้น

เมื่อทำการ build Hybrid app นั้น
จะทำการ compile code
และแปลง code จะ web มาเป็น Native app ให้
ซึ่งมีขั้นตอนที่เยอะพอสมควรเลยนะ
แต่มันทำให้เราเขียน code ครั้งเดียว
แล้วได้ App ที่ทำงานได้ทั้ง Android และ iOS (ในแง่แนวคิดนะ !!)

มาลองเปรียบเทียบกันหน่อย

Native app

  • พัฒนาด้วยภาษาตาม platform นั้น ๆ
  • แยก code ตามแต่ละ platform
  • มีประสิทธิภาพการทำงานที่ดี
  • ใช้จำนวนคน และ เวลาในการพัฒนาที่สูง
  • รอบการพัฒนาจะช้า สวนทางกับค่าใช้จ่าย

Hybrid app

  • พัฒนาด้วย HTML, CSS และ JavaScript
  • Write once, Run anywhere !!
  • ใช้เวลาและค่าใช้จ่ายในการพัฒนาน้อยลง
  • รอบการพัฒนาเร็วขึ้น
  • ประสิทธิภาพการทำงานจะต่ำกว่า Native

ส่วน Hybrid app นั้นมี tool และ framework มากมาย
ดังนั้นก่อนจะเลือกใช้อะไรก็ต้องศึกษา และ ลองใช้มันก่อน
ว่ามีข้อดีข้อเสีย
ว่ามีข้อแตกต่างกันอย่างไร
ลงมือทำซะตอนนี้เลย

การพูดคุยหรือถกเถียงเรื่องของ Hybrid และ Native app

มักจะคุยเรื่องต่าง ๆ ดังนี้

  • Speed/Time to Market
  • One source code
  • Cross-platform compatibility
  • ง่ายต่อการ update
  • เรื่องของงบประมาณ
  • เรื่องของคนหรือทีมพัฒนา

เมื่อคุยสิ่งต่าง ๆ เหล่านี้ก็มักจะเอนเอียงไปยัง Hybrid app เสมอ
แต่เมื่อต้องดูและรักษาระบบไปนาน ๆ
จะพบว่าต้องเสียเวลามากมายไปกับ
การแก้ไขเรื่องของการทำงานและใช้งาน app
เช่น User Experience และ User Interface ให้ตรงตามความต้องการของผู้ใช้งาน
รวมทั้งการปรับปรุงเรื่องของ performance ต่าง ๆ

ส่วนทาง Native app นั้นก็มีข้อได้เปรียบ
เรื่องของการเข้าถึงการทำงานของ device ต่าง ๆ ได้ง่าย
เช่น กล้องถ่ายรูป, address book และ GPS เป็นต้น
รวมทั้งเรื่องของความปลอดภัยต่าง ๆ อีกด้วย
แต่ก็แลกมาด้วยค่าใช้จ่ายที่สูงกว่าในช่วงแรก !!

ดังนั้นก่อนจะเลือกได้นั้น

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

ถึงอย่างไรก็ตามทั้ง Native และ Hybrid ต่างก็มีข้อดีและข้อเสียด้วยกัน
ลองด้วยตัวเองก่อนนะ

ขอให้สนุกกับการ coding ครับ

ปิดท้ายด้วย Decision Tree ของการตัดสินใจที่น่าสนใจ

ข้อใดคือ Hybrid Application

Reference Websties
http://blog.techmagic.co/native-vs-hybrid-apps/
https://www.facebook.com/groups/thaidroiddev/permalink/1472477739499373/
https://medium.com/@ankushaggarwal/ionic-vs-react-native-3eb62f8943f8
https://developer.salesforce.com/page/Native,_HTML5,_or_Hybrid:_Understanding_Your_Mobile_Application_Development_Options

Tags:android,ios,mobile

ในเอเชียตะวันออกเฉียงใต้มีจำนวนผู้จดทะเบียนการใช้โทรศัพท์มือถืออยู่ 854 ล้านเลขหมาย ซึ่งมากกว่าจำนวนประชากรทั้งหมดรวมกันด้วยซ้ำ สิ่งนี้กำลังหมายความว่า

ธุรกิจทุกอย่างควรจะมีแอปพลิเคชันบนมือถือเป็นของตัวใช่หรือไม่?

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

ภาพจาก Deloitte

แอปพลิเคชันมือถือยังถูกนำไปใช้ในแวดวงการตลาดด้วย เช่น การส่งการแจ้งเตือน (Push Notification) เช่น หากธุรกิจที่มีหน้าร้านต้องการจับกลุ่มผู้ที่เปิดฟังก์ชันแสดงพิกัดพื้นที่ (Location Finder) บนมือถือ ก็สามารถส่งส่วนลดสำหรับสาขาที่อยู่ใกล้ที่สุดไปให้ เพื่อเพิ่มจำนวนผู้เข้าร้านของตนได้

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

แอปพลิเคชันแบบ Native หรือ Hybrid ดีกว่ากัน ? แล้วหลักมันต่างกันอย่างไร?

แอปพลิเคชันแบบ Native นั้น ต้องพัฒนาขึ้นมาเฉพาะ โดยสร้างขึ้นมาแยกกันระหว่างระบบปฏิบัติการ iOS และ Android แต่แอปพลิเคชันแบบ Hybrid ได้รับการพัฒนาขึ้นมาในกรอบที่ทำให้สามารถทำงานได้ทั้งบนเครื่องที่ใช้ iOS และ Android

การที่จะเลือกว่าจะใช้แอปพลิเคชันแบบไหนเป็นสิ่งสำคัญอย่างยิ่งสำหรับผลการดำเนินงานของธุรกิจ และขึ้นอยู่กับวัตถุประสงค์ที่ต่างกัน ซึ่งในเรื่องนี้ eIQ ได้พูดคุยกับคุณ Mandy Arbilo Regional Project Manager ที่ aCommerce ซึ่งเป็นบริษัทชั้นนำของเอเชียตะวันออกเฉียงใต้ในการให้บริการเกี่ยวกับธุรกิจอีคอมเมิร์ซ เพื่อสอบถามเกี่ยวกับฟีเจอร์และข้อแตกต่างหลักๆ ของแอปพลิเคชันแบบ Native และ Hybrid

แอปพลิเคชันแบบ Native 

ระยะเวลาที่ใช้ในการพัฒนา : 3 – 4 เดือนต่อแพลตฟอร์ม (iOS หรือ Android) ค่าใช้จ่ายในการพัฒนา : 30,000 – 35,000 ดอลลาร์ต่อแอปพลิเคชัน

เหมาะสำหรับ : ผู้ที่มีความต้องการที่จะใช้งานร่วมกับแอปพลิเคชันอื่นๆ เช่น Google Maps รวมถึงแพลตฟอร์มสำหรับการจ่ายเงินอย่าง Samsung Pay, Android Pay  หรือ Apple Pay นอกจากนี้ยังเหมาะกับธุรกิจที่ต้องการใช้ฟังก์ชันอื่นๆ อย่างการค้นหาที่ตั้งร้านค้า การนำทาง เนื่องจากแอปพลิเคชันแบบ Native จะสามารถทำงานได้แม่นยำและเสถียรกว่าในการทำงานร่วมกับแอปพลิเคชันภายนอกอื่นๆ

สิ่งที่ควรรู้ : บางแบรนด์เลือกที่จะสร้างแอปพลิเคชันสำหรับ iOS ก่อนเพื่อจับกลุ่มผู้ใช้งาน Apple ซึ่งมีกำลังซื้อมากกว่า โดยคนกลุ่มดังกล่าวมักใช้จ่ายบนแอปพลิเคชันมากกว่าผู้ใช้งาน Android ถึง 2.5 เท่า แต่หากแบรนด์ต้องการจะจับกลุ่มลูกค้าที่กว้างกว่า การพัฒนาแอปพลิเคชันสำหรับ Android จะเป็นทางเลือกที่ดีกว่าสำหรับเอเชียตะวันออกเฉียงใต้

ภาพจาก Deloitte

ข้อได้เปรียบของแอปพลิเคชันแบบ Native

  • รวดเร็วและตอบสนองได้ดีกว่า ผู้ใช้รู้สึกว่าน่าเชื่อถือกว่าแอปพลิเคชันแบบ Hybrid
  • สามารถส่งการแจ้งเตือนเพื่อเรียกร้องความสนใจจากผู้ใช้งานให้เปิดใช้แอปพลิเคชันได้
  • มีฟีเจอร์บางชนิดและประสบการณ์ที่แอปพลิเคชันแบบ Hybrid ไม่สามารถลอกเลียนได้
  • ทำงานร่วมกับองค์ประกอบอื่นๆ ได้ดีกว่า จึงสามารถนำฟังก์ชันต่างๆ ของตัวเครื่องมาใช้ได้ เช่น กล้องถ่ายรูป ไมโครโฟน หรือฟังก์ชันการปัด(swipe)
  • แอปพลิเคชันแบบ Native ทำงานร่วมกับฟีเจอร์ต่างๆ ในตัวเครื่อง ดังนั้นมันจึงทำงานได้ง่ายกว่า และทำงานได้ดีกว่า

ข้อเสียเปรียบของแอปพลิเคชันแบบ Native

  • ต้องใช้ Developer เฉพาะในการเขียนโค้ดของแต่ละแพลตฟอร์ม เนื่องจากแอปพลิเคชันที่สร้างขึ้นมาเพื่อระบบปฏิบัติการหนึ่งจะไม่สามารถทำงานบนระบบปฏิบัติการอื่นได้
  • มีค่าใช้จ่ายที่แพงกว่า เนื่องจากแบรนด์จำเป็นจะต้องสร้าง 2 แอปพลิเคชันสำหรับระบบปฏิบัติการที่แตกต่าง และค่าใช้จ่ายในการบำรุงรักษาก็สูงเช่นกัน
  • เจ้าของแอปพลิเคชันจำเป็นต้องส่งแอปพลิเคชันไปให้ App Store หรือ Google Play Store ตรวจสอบก่อนเปิดให้ดาวน์โหลด

ตัวอย่างของแอปพลิเคชันแบบ Native

  • Pokemon Go – แอปพลิเคชันเกมบนโทรศัพท์มือถือ
  • Season – มาร์เกตเพลสออนไลน์ของประเทศไทยที่เปิดให้บริการผ่านมือถือเท่านั้น
  • Pomelo – แบรนด์เสื้อผ้าแฟชั่น

แอปพลิเคชันแบบ Hybrid

ระยะเวลาที่ใช้ในการพัฒนา : 3 เดือน ค่าใช้จ่ายในการพัฒนา : 30,000 ดอลลาร์ต่อแอปพลิเคชัน

เหมาะสำหรับ : ผู้ที่กำลังมองหาตัวเลือกที่มีราคาเป็นมิตรกว่าเพื่อเริ่มต้นธุรกิจและต้องการสร้างแอปพลิเคชันเพื่อให้ลูกค้าได้ใช้เร็วที่สุด แอปพลิเคชันแบบ Hybrid นั้น เป็นการสร้างแอปพลิเคชันที่ใช้เงินต่ำที่สุดและมีความคุ้มทุนมากกว่าสำหรับแบรนด์ที่ต้องการจะจับทั้งกลุ่มผู้ที่ใช้งาน iOS และ Android แต่ยังมีงบประมาณไม่มากพอ

สิ่งที่ควรรู้ : วิธีที่ดีที่สุดที่จะอธิบายเกี่ยวกับแอปพลิเคชันแบบ Hybrid ก็คือมันเป็นแอปพลิเคชันลูกผสมระหว่างแอปพลิเคชันแบบ Native และแอปพลิเคชันบนเว็บไซต์

ผู้ใช้งานจะต้องติดตั้งแอปพลิเคชันแบบ Hybrid แบบเดียวกันกับที่ติดตั้งแอปพลิเคชันแบบ Native แต่ที่จริงแล้วแอปพลิเคชันแบบ Hybrid นั้น เป็นเหมือนกับก้อนเบราเซอร์ที่รวมกันอยู่ในแอปพลิเคชัน โดยคุณสามารถเพิ่มฟังก์ชันใหม่ๆ เข้าไปในแอปพลิเคชันแบบ Hybrid ได้ผ่านการเขียนโค้ดเพียงภาษาเดียว

กระบวนการจึงคล้ายกับการสร้างเว็บไซต์แบบ responsive ที่ไม่ซับซ้อนนัก และความเร็วของแอปพลิเคชันแบบ Hybrid นั้นจะขึ้นอยู่กับความเร็วของอินเทอร์เน็ตของผู้ใช้ ในขณะที่ความเร็วของอินเทอร์เน็ตจะส่งผลต่อแอปพลิเคชันแบบ Native น้อยกว่า

ข้อได้เปรียบของแอปพลิเคชันแบบ Hybrid

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

ข้อเสียเปรียบของแอปพลิเคชันแบบ Hybrid

  • ประสิทธิภาพคือ ข้อด้อยที่สุดของแอปพลิเคชันแบบ Hybrid เนื่องจากแอปพลิเคชันแบบนี้จะต้องดาวน์โหลดข้อมูลเหมือนกับเบราเซอร์ ซึ่งเป็นฟังก์ชันที่เรียกว่า WebView ซึ่งก็หมายความว่าสามารถทำได้แค่ดูหน้าเว็บไซต์เท่านั้น

WebView มีหน้าที่ในการแสดงหน้าตาของเว็บไซต์ต่างๆ และอ่าน JavaScript ซึ่ง Google และ Apple ก็ไม่ได้เปิดให้ WebView สามารถทำงานได้เหมือนกับเบราเซอร์สำหรับโทรศัพท์มือถืออย่าง Chrome หรือ Safari ดังนั้นแอปพลิเคชันแบบ Hybrid จึงไม่สามารถทำงานได้ดีเท่ากับแอปพลิเคชันแบบ Native

  • แอปพลิเคชันแบบ Hybrid จำเป็นต้องทดสอบการทำงานบนแพลตฟอร์มต่างๆ เพื่อให้แน่ใจว่าสามารถทำงานได้อย่างถูกต้อง เนื่องจากมันสามารถเข้าถึงฟังก์ชันต่างๆ ของตัวเครื่องได้น้อยกว่า
  • ประสบการณ์ของผู้ใช้งานแอปพลิเคชันแบบ Hybrid อาจจะแย่กว่าเนื่องจากองค์ประกอบของแอปพลิเคชันแบบนี้ไม่สามารถปรับแต่งให้เข้ากับพฤติกรรมของผู้ใช้งาน Apple หรือ Android โดยเฉพาะได้

Mandy กล่าวเสริมว่า “แอปพลิเคชันแบบ Hybrid ไม่สามารถปรับแต่งเพื่อให้ตรงตามความต้องการของผู้ใช้งานทั้ง 2 ระบบปฏิบัติการได้ แต่หากคุณพยายามที่จะปรับแต่งมันมากเกินไป สุดท้ายแล้วคุณอาจจะเสียเงินเท่ากับการสร้างแอปพลิเคชันแบบ Native 2 แอปพลิเคชัน”

ตัวอย่างของแอปพลิเคชันแบบ Hybrid

อย่างไรก็ตาม ตัวอย่างด้านล่างได้แสดงให้เห็นแล้วว่าแอปพลิเคชันแบบ Hybrid เอง ก็สามารถทำงานได้ดีเช่นกัน ซึ่งเป็นผลมาจาก HTML5

  • Evernote
  • Amazon App Store
  • Uber
  • Instagram

Uber app

สรุปแล้วควรเลือกแบบไหนดีล่ะ?

Mandy กล่าวว่า “หากคุณต้องการจะสร้างแอปพลิเคชันสำหรับอีคอมเมิร์ซ หรือใช้งานแพลตฟอร์มที่มีคุณภาพ และคุณมีงบประมาณที่มากพอ คุณก็ควรจะเลือกแอปพลิเคชันแบบ Native เนื่องจากมีประสิทธิภาพที่ดีกว่า สามารถทำงานกับแอปพลิเคชันอื่นๆ อย่าง Google Maps ได้ดีกว่า และสามารถทำงานในขณะที่ไม่อินเทอร์เน็ตได้” และสำหรับคนที่มีงบประมาณที่น้อยกว่า การสร้างแอปพลิเคชันแบบ Hybrid ก็เป็นตัวเลือกที่ดี หากต้องการจะทดสอบศักยภาพของแอปพลิเคชันว่ามีแนวโน้มที่สมควรจะนำทรัพยากรต่างๆ มาใช้เพื่อพัฒนาแอปพลิเคชันแบบ Nativeหรือไม่ อย่างที่ Facebook เคยทำ

Hybrid Application มีอะไรบ้าง

แอปพลิเคชันแบบ Hybrid จำเป็นต้องทดสอบการทำงานบนแพลตฟอร์มต่างๆ เพื่อให้แน่ใจว่าสามารถทำงานได้อย่างถูกต้อง เนื่องจากมันสามารถเข้าถึงฟังก์ชันต่างๆ ของตัวเครื่องได้น้อยกว่า.
Evernote..
Amazon App Store..
Instagram..

แอ ป พลิ เค ชัน มี 2 ประเภท อะไร บ้าง

แอปพลิเคชันบนมือถือแบ่งออกเป็น 3 ประเภท ได้แก่ Native Application, Hybrid Application และ Web Application.

ข้อใดคือเป็นประเภทของ Application

โมบายแอพฯ จะแบ่งออกเป็น 3 ประเภท คือ Native Application, Hybrid Applicationและ Web Application.

แอพพลิเคชั่นแบ่งออกเป็นกี่ประเภท

โมบายแอพพลิเคชั่น จะแบ่งออกเป็น 3 ประเภท คือ Native Application,Hybrid Application และ Web Application.