ศึกษาจากความล้มเหลว(อีกแล้ว) กับ ไทยลีกแอพ บน PHP

ศึกษาจากความล้มเหลว(อีกแล้ว) กับ ไทยลีกแอพ บน PHP
Post Written By Theethawat Savastham - 28 Jun 2019


Thaileague Unofficial App (2018) แม้จะล้มเหลวแต่ภูมิใจ

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

ความตั้งใจที่คิดจะมาทำ

ด้วยสภาพทางเศรษฐกิจ หรือ ซุปเปอร์สตาร์ เราเข้าใจดี ว่าตอนนี้การจะให้คนมาติดตามไทยลีกระดับฟีเวอร์ อย่างที่เกิดขึ้นเมื่อ 4–5 ปีก่อน อาจจะทำได้ไม่ง่ายนัก แต่ด้วยการการบริหารที่เป็นมืออาชีพขึ้น ทั้งฝั่งลีก ฝั่งผู้จัด และสโมสร แบรนด์ดิ้ง หรือมาร์เก็ตติ้งต่างๆ เชื่อแน่ว่าไทยลีก หรือ T1 ก็จะยังคงสามารถพัฒนาต่อไปได้เรื่อยๆ ในเมื่อไทยลีก คือลีกสูงสุดเพียงลีกเดียวในประเทศไทย ผมในฐานะคนไทยคนหนึ่งก็อยากจะทำอะไรซักอย่าง เผื่อจะมีประโยชน์ไม่มากก็น้อย ต่อวงการฟุตบอลไทย จึงเป็นที่มาของ Thai League 1 Unofficial Application ที่จะรวบรวมข้อมูลเกี่ยวกับไทยลีกไว้ในแอพเดียว ซึ่งด้วยทรัพยากรคน และประสิทธิภาพในการ Coding ต่างๆ เราไม่ได้มีความสามารถเพียงพอ ดังนั้นอาจจะทำให้บางครั้งข้อมูลมีการล่าช้าบ้าง ยังเป็นเพียงแค่แอพพลิเคชั่นที่ทำงานด้วยการลิ้งค์ผ่านเว็บไซต์ แต่ก็มีแผนที่จะปรับปรุง และพัฒนา เพื่อให้ได้เป็นแอพพลิเคชั่นจริงๆ และมีประสิทธิภาพในอนาคต จนกว่าทางไทยลีก จะออก Official Application ออกมา

ปัญหา และ สิ่งที่ได้รับ

เราได้ลงแอพพลิเคชั่นนี้ใน Google Play เมื่อวันที่ 5 กันยายน 2561 ซึ่งเป็นวันแรกที่ไทยลีกกลับมาเตะอีกครั้งในรอบ 1 เดือนที่หยุดให้กับมหกรรมกีฬา Asian Games หลังจากการลงแอพพลิเคชั่นของเรา แอพพลิเคชั่น ขึ้นอยู่ในอันดับ 1 ของการ Search คำว่า thaileague1 ใน Playstore และมียอดดาวน์โหลดกว่า 9 ราย ถึงแม้จะมีการลบก็ตาม แต่เนื่องจากแอพพลิเคชั่นของเราไม่ใช่ Native Android Application หรือ แอพพลิเคชั่นแอนดรอยด์แท้ๆ เป็นเพียง Shortcut จากเว็บไซต์ซึ่งเขียนด้วย PHP / Laravel Framework อัพโหลดไปที่ Hosting และใช้ Appgeyser แปลงออกมาเป็น .apk file ซึ่งแน่นอนว่าการตอบสนองต่อ Server จะหนักกว่า การใช้ Javascript

PHP ยังเป็นภาษาเขียนเว็บไซต์ที่ได้รับความนิยมในปัจจุบัน และ Laravel น่าจะเป็นรุ่น 6 หรือ 7 นี่แหละ ก็ทำให้เขียนเว็บได้ง่ายมากๆ กว่า pure php เยอะ แต่คงไม่เหมาะสมสำหรับการทำ Application แบบ Real Time และอีกทั้งแอพพลิเคชั่นนี้ใช้ระบบการป้อนข้อมูล ผ่าน Admin คนเดียว เนื่องจากระบบยังไม่พร้อมที่จะให้ผู้อื่นช่วยแก้ไข เนื่องจาก มี Bug จำนวนมาก

Bug และ ปัญหาที่พบ

  • ต้องทำการอัพเดทด้วย Mozilla Firefox เท่านั้น (ถึงแม้จะใช้ Firefox ผ่านมือถือได้)

  • ต้องมีการกด Refresh ซึ่งเจ้าของเท่านั้นที่จะรู้ว่าตรงไหนคือ คือจุดที่มี Bug ซึ่งจริงๆ ในระบบ Blackend ก็บอกไว้ เพียงแต่อาจจะไม่สะดวกต่อการ Edit มากนัก การพัฒนาด้วยระบบนี้ทำให้ผู้ใช้ต้อง Refresh หรือ เราตั้งโปรแกรมให้เว็บแอพพลิเคชั่น Refresh ตัวเองขึ้นมา ซึ่งมันเป็นเทคโนโลยีที่อาจจะล้าสมัย เปลืองทรัพยากร และ อาจจะไม่ตอบสนองต่อความต้องการ

หน้าจอ Backend ของแอพพลิเคชั่น

ซึ่งทั้งสองข้อนี้มันเกิดมาจากการใช้ PHP ร่วมกับ JavaScript และ ตัว Library อย่าง Jquery และที่สำคัญเลยคือเว็บมันค่อนข้างช้า ต้องการความเร็วอินเตอร์เน็ตสูง (โดยเฉพาะ Frontend) ส่วน Backend ผมว่าผมออกแบบ UI พอใช้ได้อยู่นะ ใช้ Bootstrap 4.1 ครับ พอดีถนัด แต่นั่นแหละ ระบบมันยังไม่พร้อมสำหรับการที่ให้คนอื่นมาช่วยทำไง และมันไม่ใครที่สามารถว่างเวลา 18.00–22.00 ทุกวันเสาร์ อาทิตย์ หรือวันพุธที่มีแมตซ์กลางสัปดาห์ ซึ่งนี่คือจุดสำคัญที่เราอาจจะไม่สามารถพัฒนาแอพพลิเคชั่น ใน Platform นี้ต่อไปได้

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

หน้าจอ Backend ของแอพพลิเคชั่น

สิ่งที่จะเป็นข้อแนะนำ ในการพัฒนาต่อไป

  • พัฒนาระบบด้วยภาษา JavaScript เป็นหลัก โดยเน้นไปที่ Library React และ React Native

  • ใช้เทคโนโลยีฐานข้อมูลแบบ NoSQL แทน MySQL เพื่อที่จะเข้าถึง JavaScript ได้ดียิ่งขึ้น เช่น พวก Firebase ซึ่งผมยังทำไอพวกนี้ไม่เป็นหรอก แต่คงจะหาเวลาฝึกต่อไป เพราะมันคือภาษาที่ทันสมัย และ มีประโยชน์แน่ๆ ในอนาคต

  • เนื่องจากยังไม่มีแอพพลิเคชั่นใดในไทยที่สามารถรวบรวมข้อมูลทุกๆ อย่างของการแข่งขันในแต่ละแมตซ์ได้อย่างละเอียดเหมือนแอพพลิเคชั่น ของ Premier League หรือ FIFA World Cup 2018 ที่ผ่านมา ดังนั้นเราจะมีการดำเนินการแบบนี้ต่อไป โดยอาจจะใช้ระบบของ RSS หรือ ดึงข้อมูลอัพเดทจากเฟสบุ๊ค หรือ ทวิตเตอร์ ของสโมสรต่างๆ มา เพื่อประหยัดการทำงานของผู้ดูแลระบบ

  • ทำ Application ที่เหมาะกับ Real Time Process และ การแจ้งเตือน และเบาต่อการใช้งาน

ก่อนส่งท้าย

เออ ลืมบอกไป เรื่องฐานข้อมูล ผมก็เรียนวิชาฐานข้อมูลอยู่นะเทอมนี้ เลยรู้ว่าฐานข้อมูลของเว็บผมนี้แม่งโคตรห่วยเลย 555 อย่างนี้แหละครับการเริ่มต้น ถ้าเราวางฐานข้อมูลดี จัดระบบโค้ดดิ้งดีผมว่ามันจะทำให้อะไรง่ายขึ้นหลายอย่าง ไม่เชื่อไปดูวีดีโอ BNK48 X CodingThailand ดูสิครับ

หน้าจอ Coding ของแอพพลิเคชั่น

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


Source Code - GitHub