History of Web Application — Web Application มีมานานแล้วหรอ?
จากบทความที่แล้วเราได้รู้จักและเห็นภาพความแตกต่างของ Web Services กับ Web Application ทั้งรูปแบบการใช้งานและการแสดงผลต่างๆกันไปแล้ว
สำหรับใครที่ยังไม่ได้อ่านกดที่ตรงนี้ได้เลย
ในบทความนี้เราจะพาทุกคนไปรู้จักกับ Web Application ให้มากขึ้นกว่าเดิม ว่าในแต่ละยุคนั้นมีความเป็นมายังไง ถ้าพร้อมแล้ว เราย้อนเวลาไปลุยกันเลยดีกว่าครับพี่น้องงงง !!
ยุคที่ 1 ปี 1990 Web Application ประกอบด้วย 2 ส่วน คือ HTML และ CGI
ก่อนหน้านี้หน้า Web browser จะเป็นลักษณะโล่งๆ มีแค่ตัวหนังสือที่เขียนด้วย HTML (HyperText Markup Language) แสดงในส่วนของเนื้อหาแต่ไม่สามารถอ่านหรือเขียนลงใน database ได้โดยตรง จึงต้องมีโปรแกรมในการอ่านและเขียนข้อมูล นั่นก็คือ CGI (Common Gateway Interface) ที่คอยเป็นตัวกลางในการดึงข้อมูลที่อยู่ที่ใน database เพื่อออกมาแสดงผลบนหน้า Web browser ร่วมกับ HTML
ปี 1998 ทาง Java ได้เปิดตัวเทคโนโลยีใหม่ที่มีชื่อว่า Servlet ซึ่งการทำงานจะคล้ายๆกับ CGI เลยแหละ
ต่อมาในยุคที่ 2 ปี 1995 จะสะดวกกว่าเดิมเพราะ จับ HTML กับ CGI มาเขียนรวมเป็นไฟล์เดียวกัน แต่ว่าภาษาที่ได้รับความนิยมมากที่สุดคือ PHP ซึ่ง Java ก็สามารถเขียนในลักษณะนี้ได้โดยใช้ JSP (Java Server Pages) นั่นเอง
ข้อดี คือสะดวกรวดเร็ว เปลี่ยนแปลงโค้ดได้ทันที ทำงานไม่มีหยุดแถมไม่ต้องรีสตาร์ทอีกด้วย
ดีจริงไหมไม่รู้แต่ Facebook เองก็ยังใช้ PHP อยู่นะ
ยุคที่ 3 ปี 2003 คอนเซ็ปท์การทำงานต่างจาก 2 ยุคแรกพอสมควร เพราะมี MVC (Model — View — Controller)
ไม่ใช่ระบบไฟล์แต่เป็นโปรแกรมตัวกลางที่จะคอยบล็อกคำขอทั้งหมด และตัดสินใจว่าจะเรียกใช้ฟังก์ชั่นไหนให้เหมาะกับคำขอนั้น ซึ่ง stack ที่ทันสมัยส่วนใหญ่มีพื้นฐานมาจากแนวนี้ รวมถึง Spring MVC, Ruby on Rails และ Node.js
ข้อเสีย ถ้าโปรแกรมเกิดการทำงานผิดพลาดอาจเกิดปัญหาคอขวดตามมาได้
ยุคที่ 4 ปี 2004 เกิดสิ่งสำคัญสิ่งหนึ่งที่เรียกว่า AJAX (Asynchronous JavaScript and XML) เป็นโค้ดที่รันอยู่บน Web browser พอส่งคำขอปุ๊บ sever จะ respond มาปั๊บ เดิมทีออกมาเป็น XML แต่มีความซับซ้อนและยุ่งยาก ต่อมาจึงเป็น JSON เพื่อให้กระชับอ่านง่ายขึ้น
สมมุติเราทำเว็บไซต์รายงานผลฟุตบอลแบบเรียลไทม์มีข้อมูลอัพเดตทุกๆวินาที พอมีคนยิงเข้าประตูจะอัพเดตผลทันทีเหมือนดูไลฟ์ฟุตบอล ซึ่งก่อนหน้าที่จะมี AJAX เวลาเราต้องการข้อมูลแบบใหม่ล่าสุดเราต้องกด refresh เองทุกครั้ง หรือต้องตั้งเวลา refresh ทุก 5 วินาที ผลที่ได้มันจะ refresh ทั้งหน้าจอ แต่พอมี AJAX ตัว Web browser มันสามารถ refresh แค่บางส่วนได้ถือว่าเป็นข้อดีของ AJAX เลยทีเดียว
Tradingview จะทำงานไม่ได้เลยถ้าไม่มี AJAX
ยุคที่ 5 Web socket คล้ายๆของเดิมแต่ดีกว่าเดิม เพราะ Web socket ไม่ต้อง refresh แค่รอรับข้อมูล จะมีข้อมูลส่งมาให้เลย (แต่ห้ามปิด web browser นะ)
ตัว AJAX อาจจะมีปัญหาบ้างเพราะต้องตั้งเวลาหรือจับเวลา refresh ไว้ทุก 5 วินาที ถ้าใช้กับราคาหุ้นถือว่าโอเคเพราะราคาเปลี่ยนแปลงบ่อย แต่กับผลฟุตบอลไม่ค่อยเปลี่ยนบางแมตช์ 10 นาทียังไม่เข้าประตูเลยก็มี AJAX จึงมีปัญหา refresh มากเกินไป เลยเปลี่ยนมาใช้ Web socket แทน ประหยัดทั้งเวลาและปริมาณข้อมูลอะไรมันจะดีขนาดนี้!?
เป็นยังไงกันบ้างกับความเป็นมาของ Web application คงจะไม่จะงงกันนะ ในบทความนี้สรุปเพียงสั้นๆเพื่อให้เพื่อนๆเข้าใจกันง่ายๆ เป็นสาระที่ดีเลยใช่มั้ย อย่าลืมติดตามสาระเรื่องต่อๆไปกันด้วยนะ ตามนั้นคือจบ !!!