App DesignIonic Framework

แชร์เรื่องการวางแผนจัดการไฟล์ ก่อนเริ่มสร้างแอพ Android

เรื่องที่เกี่ยวข้อง - Adobe AIR, Android, App Design, App Planning, Ionic Framework

เรื่องนี้ใช้ได้กับแอพพลิเคชั่น Android ทั้งแบบ Native และ Hybrid นะจ๊ะ

เอาล่ะเรื่องมันมีอยู่ว่า

วันก่อนมีน้องคนหนึ่งถามเข้ามาในแฟจเพจ ว่าโปรเจคหนังสือรุ่นของเขาใช้ Flash Pro ในการพัฒนา (Adobe AIR) อัพขึ้น App Store ของ iOS ไม่มีปัญหา แต่มาตายเอาตอนอัพขึ้น Google Play Store

มันแจ้งว่าไซส์ใหญ่เกิน

Exceed File size reject from Android Play Store.jpg

รายละเอียดคือไฟล์แอพพลิเคชั่นที่น้องแปลงเป็นไฟล์ APK สำหรับ Android มันทะลุ 300 MB กว่าๆ ซึ่งปัจจุบัน Play Store มันรับได้สูงสุด 100 MB เท่านั้น (ดีกว่าเมื่อก่อนนะ แรกสุดมันรับแค่ 50 MB)

ตรงนี้สาเหตุคงมาจากตอนที่พัฒนาตัวแอพหนังสือรุ่น ที่ใครก็ไม่รู้ไปสอนให้น้องเขาเข้าใจว่า ทุกอย่างเป็นเหมือนการสร้าง Flash Interactive ใช้งานบนเว็บทั่วไป

น้องก็เลยลากทั้งภาพเพื่อนๆ, ไฟล์เสียง, วิดีโอ จัดเต็มที่ในโปรเจคเดียว ไฟล์เลยบวมออกมา 300 MB กว่าๆ

ทำให้โค้ชพลคิดแล้วก็เศร้าใจนิดหนึงว่า

ปัจจุบันหลายๆ ที่สอนใช้งานเครื่องมือ มากกว่าสอนให้เข้าใจเทคโนโลยี และระบบการทำงานจริง

เพราะถ้ามีคนสอนน้องเขามากกว่า แค่บอกว่า Flash Pro (หรือล่าสุดเปลี่ยนชื่อเป็น Animate CC แล้ว) มันแปลงไฟล์ Interactive เป็น Mobile Application ได้

สอนเรื่องสภาพแวดล้อม กับแนวคิดการพัฒนาแอพพลิเคชั่น ต่างๆ ด้วย

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

แน่นอนว่าวิธีแก้นี้ต้องใช้การเขียนโปรแกรม และการออกแบบแอพพลิเคชั่นที่จริงจังเข้าช่วย (ถ้าใช้ Flash ก็ต้องเขียน ActionScript 3 อ่ะนะ)

ตอนนี้ก็บอกให้น้องเขาไปแก้โครงตามแนวคิดด้านล่างแล้วล่ะครับ

ทีนี้ถ้าเราจะทำแอพ Android บ้าง จะวางแผนแบบไหน ลองพิจารณาตามนี้ครับ

ดังนั้นจุดนี้ ไม่ว่าพวกเราจะใช้ Flash Pro สร้างแอพ, ใช้ Java สร้างแอพ, ใช้ PhoneGap หรือ Ionic สร้างแอพ ถ้าสุดท้ายไฟล์ต่างๆ ในแอพมันรวมเกิน 100 MB มันก็ไม่ผ่านเข้า Play Store อยู่ดี

ดังนั้นเริ่มต้น ให้ คำนวนก่อนว่าไฟล์ที่ต้องเรียกใช้จากภายในแอพพลิเคชั่น มันเกิน 100 MB ไหม?

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

.

.

โอเค เกิน 100 MB เนอะ

ในที่นี้ให้พิจารณาจากวิธีการเข้าถึงไฟล์ครับ แบ่งออกได้ 2 แบบ

1. จำเป็นมาก ที่ไฟล์พวกนี้ต้องเปิดได้แบบออฟไลน์ ทั้งหมด

App Designed to load startup files.jpg

แบบเนี้ย โคตรเป็นที่ต้องการเลยครับ หลายๆ ที่อยากให้เปิดดูวิดีโอได้ทันที เล่นเสียงได้เหมือนมีไฟล์อยู่ในเครื่องอยู่แล้ว

เล่นแบบออฟไลน์ ไม่สตรีม (Offline)

ตัวอย่างไม่ไกลหรอกครับ เกมส์เศรษฐีไลน์นี่แหละ หรือเกมส์ที่เวลาเราโหลดจากสโตร์มาไว้ที่เครื่องอ่ะ เร๊ว เร็ว แต่พอเปิดเกมส์ครั้งแรก…

มันจะเหมือนดาวน์โหลดอะไรเพิ่มน๊าน นานครับ

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

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

แต่ตรงนี้ก็ต้องรู้ไว้ด้วยนะว่า

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

2. ไม่จำเป็นต้องออฟไลน์ บางอย่างเล่นจากเซิฟเวอร์ได้

Android App Steam Multimedia file from Server.jpg

อันนี้เคยปรึกษากับพี่ขจร พีรกิจแล้วเขาแนะนำมาว่า

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

เพราะบางทีเราอาจจะดาวน์โหลดไฟล์ที่ไม่มีใครคิดจะดูมาไว้ในเครื่องโดยใช่เหตุก็ได้นะ

เทคนิคนี้ใช้กับพวกหนังสืออิเล็กทรอนิกส์, อีบุ๊กส์ (E-book), อีพับ (EPub) ได้ดีครับ เพราะวิดีโอหรือเสียงจะถูกเรียกดูเมื่อผู้ใช้ต้องการเท่านั้น

สรุป

หวังว่าจะเป็นแนวทางคิดก่อนแก้ วางแผนก่อนสายให้กับพี่น้องหลายๆ คนที่อาจจะกำลังเริ่มโปรเจคพัฒนาแอพพลิเคชั่นสำหรับระบบ Android ได้นะครับ

จะได้ประหยัดเวลาเราได้เยอะเลยล่ะ

ขายของ: แนวคิดดีๆ พวกนี้โค้ชพลแทรกไว้เป็นระยะในคอร์สออนไลน์ สร้าง Cross Platform Mobile App ด้วย HTML5, Angular 2, และ Ionic 2 คลิกลงเรียนแบบลดราคาได้เลย

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

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

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save