Web Applicaiton
การพัฒนา Web Application ตามประสบการ์ณของผมที่ทำงานเกี่ยวกับการสร้าง Web
Application พูดง่ายๆ ก็คือ
การที่เราสร้างโปรแกรมให้สามารถทำงานผ่านเว็บเบราวเซอร์โดยจะรันโปรแกรมในโปรโตคอลมาตรฐาน
HTTP ข้อดีของมันก็คงไม่ต้องพูดถึง คือสามารถทำงานได้ในทุกๆ
ที่ที่สามารถเชื่อมต่อ Internet ได้ แค่มีโปรแกรมเว็บเบราเซอร์ ไม่ว่าจะเป็น Google
Chrome, Mozilla FireFox หรือ Intetnet Exproler ก็สามารถทำงานได้แล้ว
และภาษาที่ใช้พัฒนาโปรแกรมที่รันบน Web base ก็มีอยู่หลายค่ายหลายภาษาด้วยกัน
เช่น PHP ที่เป็นที่นิยมมากที่สุดในการพัฒนาเว็บไซต์, ASP ,
Ruby, Groovy on Grails, Python, Scala หรือ JAVA ซึ่งแต่ละภาษาก็มีข้อดีและข้อเสียต่างกัน
ถ้าจะถามว่าทำไมผมถึงเลือกภาษา JAVA ในการพัฒนา Web Application ก็
เป็นความรู้สึกชอบส่วนตัวนะครับ จากที่ได้ศึกษาข้อมูลมามาก และจากประสบการณ์ที่ได้พัฒนา
Web Applicaition แล้วรู้สึกว่า เป็นภาษาที่ใช้สำหรับพัฒนาโปรแกรมสำหรับใช้งานบนพื้นฐาน
Web base ที่เรียกได้ว่าดีที่สุดภาษาหนึ่งก็ว่าได้ และภาษา Java นั้นก็มี Framework
ให้ใช้มากมายเช่นกัน
ท่านอาจจะเคยได้ยินบาง Framework ที่ชื่อ Spring Framework, Struts
Framework, JSF ฯลฯ ล้วนแล้วเป็นค่ายใหญ่ๆ
ทั้งนั้น และองค์กรที่ใช้ Framework เหล่านี้พัฒนา ก็ล้วนแต่เป็นองค์กรใหญ่ๆ
ระดับประเทศ ผมก็เลยตั้งใจที่จะศึกษา Framwork เหล่านี้
แต่ก็อย่างว่านะครับ ยิ่งใหญ่ มันก็ยิ่งยาก ผมก็เลย หยิบเอา Concept ในการพัฒนามาเล่าเป็นเรื่องราวในหนังสือเล่มนี้
เพื่อที่จะให้ทุกคนมีความเข้าใจถึงหลักการที่แท้จริงของมันว่า แต่ละ Framework
มีการทำงานที่เหมือนๆ
กัน ซึ่งผมอาจจะบอกได้ว่า ใน Framework เหล่านี้ ก็ทำงานอยู่บนมาตรฐาน MVC เช่นเดียวกับภาษาอื่นที่มี
ไม่ว่าจะเป็น PHP ที่มี Framework ที่เป็น MVC เช่น CodeIgniter,
Yii, Laravel หรือ Grails ที่ใช้ภาษา Groovy และอื่นๆ
อีกมากมาย เอาเป็นว่า มันมีเยอะละกัน ซึ่งผมไม่สามารถอธิบายได้หมดแน่นอน
ในหนังสือเล่มนี้ ผมจะพยายามอธิบายการทำงานของหลักการ MVC ให้ทุกท่านได้เข้าใจในรูปแบบการเขียน
Web Applcation บน JAVA Servlet ที่ผมการันตีได้เลยว่า คุณจะเข้าใจการทำงานของ MVC
ได้ดีเลยทีเดียว
เรามาเริ่มกันดีกว่า
เขียนโปรแกรมจนนอนไม่หลับ
MVC
M : Model
ถ้าจะพูดถึง Model
ให้เรามองภาพหรือความหมายที่เราเข้าใจว่า
Model แปลว่าอะไร ก็คือ สิ่งที่จะบ่งบอกว่า ในหนึ่ง ๆ Object นั้น
สิ่งที่จะบ่งบอกว่า เค้ามีองค์ประกอบอะไรบ้างที่เอามารวมกันแล้วกลายเป็น Class
หนึ่งๆ
เช่น Model ของ พนักงาน ก็จะประกอบไปด้วย รหัสพนักงาน, ชื่อ-สกุล, ตำแหน่ง,
เงินเดือน, ที่อยู่, เบอร์โทรศัพท์ ซึ่งถ้าเรามองแล้ว พนักงานทุกคน
ก็จะมีองค์ประกอบเหมือนกันทุกคนใช่หรือไม่ คำตอบง่ายๆ ก็คือ ใช่เลย นี่แหละคือ Model
ของพนักงาน
เข้าใจตรงกันนะ....
V : View
ต่อจาก Model
เลยนะครับ
ในเมื่อ Model ของแต่ละคนเหมือนกันหมด แล้วเราจะรู้ได้อย่างไรว่า
พนักงานแต่ละคนแตกต่างกัน นี่ก็จะเป็นส่วนของการกำหนดว่า Model เป็นเพียงพิมพ์เขียว
ที่เราจะต้องสร้างงานใหม่ๆ จากพิมพ์เขียวตัวนี้ เช่น
เราจะสร้างพนักงานหนึ่งคนโดยมีองค์ประกอบจาก Model ข้างต้น
ก็จะเป็นการกำหนดค่าให้มันคือ ... รหัสพนักงานอะไร ชื่อ-สกุล ตำแหน่ง
เงินเดือนเท่าไหร่ เราก็หยิบข้อมูลเหล่านี้ออกไปแสดงผลที่เราได้มาจาก Model
ที่มีการสร้างนั้น
ไปแสดงผลในส่วนของ View หลายคนอาจจะงง... เอาใหม่นะ View ก็คือส่วนของการแสดงผล
ที่เราได้มาจากการกระทำ C : Controller ที่ทำงานร่วมกับ M : Model เพื่อที่จะส่งไปแสดงผลใน
View ... จบนะ
C : Controller
ส่วนนี้ก็คือการกระทำ
ที่จะเรียกได้ว่าเป็น Controller หรือ Action ก็ได้
ที่จะเป็นตัวที่ใช้ประมวลผลต่างๆ ที่เกิดจากการไปหยิบเอา Model มากระทำแล้วส่งไปแสดงผลที่
View นั่นเอง ถ้าพูดในวิธีการเขียนโปรแกรม ก็คือการสร้าง Method หรือ Function
หรือ
Action ของ Model นั่นเองครับผม เดี๋ยวผมจะยกตัวอย่างให้ดูในบทหลังๆ นะครับ
จะได้เข้าใจยิ่งขึ้น
เดี๋ยวจะมาต่ออีกพรุ่งนี้นะครับ
.jpg)